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

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.

  1. Inicie sesión en Azure Portal con una cuenta con permisos suficientes en el inquilino.

  2. En Servicios de Azure, busque Microsoft Entra ID.

  3. En el menú de la izquierda, seleccione Registros de aplicaciones y luego + Nuevo registro.

  4. En la página Registrar una aplicación, escriba la configuración de registro de aplicación:

    1. En Nombre, escriba un nombre significativo que se mostrará a los usuarios de la aplicación, como MicrosoftGraphAuth.

    2. 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).

    3. 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.

    4. Seleccione Registrar.

      Captura de pantalla de la creación de un registro de aplicaciones de Microsoft Entra en el portal.

  5. En el menú izquierdo, seleccione Permisos de API y, después, + Agregar un permiso. Captura de pantalla de cómo agregar un permiso de API en el portal.

    1. Seleccione Microsoft Graph y, luego, Permisos delegados.

      Nota

      Asegúrese de que el permiso User.Read con el tipo Delegado ya se haya agregado.

    2. Escriba Equipo, expanda las opciones de Equipo y, a continuación, seleccione Team.ReadBasic.All. Seleccione Agregar permisos.
    3. A continuación, seleccione Conceder consentimiento de administrador para el directorio predeterminado. El estado de los permisos cambia a Concedido para el directorio predeterminado.
  6. 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.

  7. En el menú de la izquierda, seleccione Certificados y secretos y, después, + Nuevo secreto de cliente.
    Captura de pantalla de la creación de un secreto de aplicación en el portal.

    1. Escriba una Descripción.
    2. Seleccione una opción para Expiración.
    3. Seleccione Agregar.
    4. 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

  1. Inicie sesión en el portal y vaya a la instancia de API Management.

  2. En el menú de la izquierda, seleccione Administrador de credenciales, y luego seleccione + Crear.
    Captura de pantalla de la creación de credenciales de API en el portal.

  3. 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.

  1. Escriba un nombre de conexión y seleccione Guardar.
  2. 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.
  3. 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.
  4. 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

  1. Inicie sesión en el portal y vaya a la instancia de API Management.

  2. En el menú izquierdo, seleccione API > + Agregar API.

  3. 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
  4. 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
  5. 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
  6. Seleccione Todas las operaciones. En la sección Procesamiento de entrada, selecciona el icono del editor de código (</>).

  7. 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>
    

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

  1. En la pestaña Prueba, seleccione una operación que haya configurado.

  2. Seleccione Enviar.

    Captura de pantalla de la prueba de Graph API en el portal.

    Una respuesta correcta devuelve datos de usuario de Microsoft Graph.