Configuración del administrador de credenciales: Microsoft Graph API
SE APLICA A: todos los niveles de API Management
Este artículo le guía por los pasos necesarios para crear una conexión administrada a Microsoft Graph API dentro de Azure API Management. En este ejemplo se utiliza el tipo de concesión de código de autorización.
Aprenderá a:
- Creación de una aplicación de Microsoft Entra
- Creación y configuración de un proveedor de credenciales en API Management
- Configuración de una conexión
- Crear una Graph API de Microsoft en API Management y configurar una directiva
- Probar la Graph API de Microsoft en API Management
Requisitos previos
Acceder a un inquilino de Microsoft Entra en el que tenga permisos para crear un registro de aplicación y conceder el consentimiento del administrador para los permisos de aplicación. Más información
Si desea crear su propio inquilino de desarrollador, puede registrarse en el Programa para desarrolladores de Microsoft 365.
Instancia de API Management en ejecución. Si fuera necesario, cree una instancia de Azure API Management.
Habilita una identidad administrada asignada por el sistema para API Management en la instancia de API Management.
Paso 1: Creación de una aplicación de Microsoft Entra
Cree una aplicación de Microsoft Entra para la API y asígnele los permisos adecuados para las solicitudes que desee llamar.
Inicie sesión en Azure Portal con una cuenta con permisos suficientes en el inquilino.
En Servicios de Azure, busque Microsoft Entra ID.
En el menú de la izquierda, seleccione Registros de aplicaciones y luego + Nuevo registro.
En la página Registrar una aplicación, escriba la configuración de registro de aplicación:
En Nombre, escriba un nombre significativo que se mostrará a los usuarios de la aplicación, como MicrosoftGraphAuth.
En Tipos de cuenta compatibles, seleccione una opción que se adapte a su escenario, por ejemplo, Cuentas de este directorio organizativo solo (inquilino único).
Establezca el URI de redirección en Weby escriba
https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>
, sustituyendo el nombre del servicio API Management donde configurará el proveedor de credenciales.Seleccione Registrar.
En el menú izquierdo, seleccione Permisos de API y, después, + Agregar un permiso.
- Seleccione Microsoft Graph y, luego, Permisos delegados.
Nota
Asegúrese de que el permiso User.Read con el tipo Delegado ya se haya agregado.
- Escriba Equipo, expanda las opciones de Equipo y, a continuación, seleccione Team.ReadBasic.All. Seleccione Agregar permisos.
- A continuación, seleccione Conceder consentimiento de administrador para el directorio predeterminado. El estado de los permisos cambia a Concedido para el directorio predeterminado.
- Seleccione Microsoft Graph y, luego, Permisos delegados.
En el menú de la izquierda, seleccione Información general. En la página Información general, busque el valor de Id. de aplicación (cliente) y regístrelo para usarlo en el paso 2.
En el menú de la izquierda, seleccione Certificados y secretos y, después, + Nuevo secreto de cliente.
- Escriba una Descripción.
- Seleccione una opción para Expiración.
- Seleccione Agregar.
- Copie el valor del secreto del cliente antes de salir de la página. Los necesitará en el paso 2.
Paso 2: Configuración de un proveedor de credenciales en API Management
Inicie sesión en el portal y vaya a la instancia de API Management.
En el menú de la izquierda, seleccione Administrador de credenciales, y luego seleccione + Crear.
En la páginaCrear proveedor de credenciales, escriba la siguiente configuración, y seleccione Crear:
Configuración Valor Nombre del proveedor de credenciales Un nombre de su elección, como MicrosoftEntraID-01 Proveedor de identidades Seleccione Azure Active Directory v1 Tipo de concesión Selecciona Código de autorización Dirección URL de autorización Opcional para el proveedor de identidades de Microsoft Entra. El valor predeterminado es https://login.microsoftonline.com
.Id. de cliente Pega el valor que copió anteriormente del registro de la aplicación Secreto de cliente Pega el valor que copió anteriormente del registro de la aplicación Dirección URL de recursos https://graph.microsoft.com
Id. de inquilino Opcional para el proveedor de identidades de Microsoft Entra. El valor predeterminado es Común. Ámbitos Opcional para el proveedor de identidades de Microsoft Entra. Se configura automáticamente a partir de los permisos de API de la aplicación Microsoft Entra.
Paso 3: Para configurar una conexión
En la pestaña Conexión, complete los pasos necesarios para conectarse al proveedor.
Nota:
Cuando se configura una conexión, API Management configura de manera predeterminada una directiva de acceso que habilita el acceso por la identidad administrada asignada por los sistemas de la instancia. Este acceso es suficiente para este ejemplo. Puede agregar directivas de acceso adicionales según sea necesario.
- Escriba un nombre de conexión y seleccione Guardar.
- En Paso 2: Iniciar sesión en la conexión (para el tipo de concesión de código de autorización), seleccione el vínculo para iniciar sesión en el proveedor de credenciales. Complete los pasos para autorizar el acceso, y volver a API Management.
- En Paso 3: Determine quién tendrá acceso a esta conexión (directiva de acceso),se lista el miembro de identidad administrada. Agregar otros miembros es opcional, dependiendo de su escenario.
- Seleccione Completar.
La nueva conexión aparece en la lista de autorizaciones y programa un estado de Conectado. Si desea crear otra conexión para el proveedor de credenciales, complete los pasos anteriores.
Sugerencia
Use el portal para agregar, actualizar o eliminar conexiones a un proveedor de credenciales en cualquier momento. Para obtener más información, consulte Configuración de varias conexiones.
Nota:
Si actualiza los permisos de Microsoft Graph después de este paso, tendrá que repetir los pasos 2 y 3.
Paso 4: crear una Microsoft Graph API de Microsoft en API Management y configurar una directiva
Inicie sesión en el portal y vaya a la instancia de API Management.
En el menú izquierdo, seleccione API > + Agregar API.
Selecciona HTTP y escribe los siguientes valores. Seleccione Crear.
Configuración Value Nombre para mostrar msgraph Dirección URL del servicio web https://graph.microsoft.com/v1.0
Sufijo de dirección URL de API msgraph Dirígete a la API recién creada y selecciona Agregar operación. Escribe los siguientes valores y selecciona Guardar.
Configuración Value Nombre para mostrar getprofile Dirección URL de GET /me Siga los pasos anteriores para agregar otra operación con la siguiente configuración.
Configuración Value Nombre para mostrar getJoinedTeams Dirección URL de GET /me/joinedTeams Seleccione Todas las operaciones. En la sección Procesamiento de entrada, selecciona el icono del editor de código (</>).
Copie y pegue el siguiente fragmento de código. Actualice la directiva
get-authorization-context
con los nombres del proveedor de credenciales y la conexión que configuró en los pasos anteriores y seleccione Guardar.- Sustituya el nombre del proveedor de credenciales por el valor de
provider-id
- Sustituya el nombre de la conexión por el valor de
authorization-id
<policies> <inbound> <base /> <get-authorization-context provider-id="MicrosoftEntraID-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" /> <set-header name="Authorization" exists-action="override"> <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value> </set-header> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies>
- Sustituya el nombre del proveedor de credenciales por el valor de
La definición de directiva anterior consta de dos partes:
- La directiva get-authorization-context captura un token de autorización haciendo referencia al proveedor de credenciales y a la conexión creados anteriormente.
- La directiva set-header crea un encabezado HTTP con el token de autorización capturado.
Paso 5: probar la API
En la pestaña Prueba, seleccione una operación que haya configurado.
Seleccione Enviar.
Una respuesta correcta devuelve datos de usuario de Microsoft Graph.
Contenido relacionado
- Obtenga más información sobre las directivas de autenticación y autorización en Azure API Management.
- Obtenga más información sobre ámbitos y permisos en Microsoft Entra ID.