Registro de una aplicación de Microsoft Graph

Microsoft Graph le permite administrar muchos de los recursos de su inquilino de Azure AD B2C, incluidas las cuentas de usuario del cliente y las directivas personalizadas. Al escribir scripts o aplicaciones que llaman a Microsoft Graph API, puede automatizar las tareas de administración de inquilinos como:

  • Migrar un almacén de usuario existente a un inquilino de Azure AD B2C
  • Implementar directivas personalizadas con una canalización de Azure en Azure DevOps y administrar claves de directivas personalizadas
  • Hospedar un registro de usuarios en su propia página y crear cuentas de usuario en su directorio de Azure AD B2C en segundo plano
  • Automatizar el registro de aplicación
  • Obtener los registros de auditoría

Las secciones siguientes le ayudarán a preparar el uso de Microsoft Graph API para automatizar la administración de recursos en el directorio de Azure AD B2C.

Modos de interacción de Microsoft Graph API

Existen dos modos de comunicación que puede usar al trabajar con Microsoft Graph API para administrar los recursos del inquilino de Azure AD B2C:

  • Interactivo: adecuado para las tareas que se ejecutan una sola vez, se usa una cuenta de administrador en el inquilino de B2C para realizar las tareas de administración. Este modo requiere que un administrador inicie sesión con sus credenciales antes de llamar a Microsoft Graph API.

  • Automatizado: para tareas programadas o ejecutadas continuamente, este método usa una cuenta de servicio que se configura con los permisos necesarios para realizar tareas de administración. La "cuenta de servicio" se crea en Azure AD B2C registrando una aplicación que las aplicaciones y los scripts usan para la autenticación mediante su identificador de aplicación (cliente) y la concesión de credenciales de cliente de OAuth 2.0. En este caso, la aplicación actúa como tal para llamar a Microsoft Graph API, no al usuario administrador como en el método interactivo descrito anteriormente.

Puede habilitar el escenario de interacción Automatizado mediante la creación de un registro de aplicación que se muestra en las secciones siguientes.

El servicio de autenticación de Azure AD B2C admite directamente el flujo de concesión de credenciales de cliente de OAuth 2.0 (actualmente en versión preliminar pública), pero no puede usarlo para administrar los recursos de Azure AD B2C a través de Microsoft Graph API. Sin embargo, puede configurar el flujo de credenciales de cliente mediante Microsoft Entra ID y el punto de conexión /tokende la plataforma de identidad de Microsoft () para una aplicación en el inquilino de Azure AD B2C.

Registro de una aplicación de administración

Antes de que los scripts y las aplicaciones puedan interactuar con Microsoft Graph API para administrar recursos de Azure AD B2C, debe crear un registro de aplicación en el inquilino de Azure AD B2C que conceda los permisos de API necesarios.

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
  3. En Azure Portal, busque y seleccione Azure AD B2C.
  4. Seleccione Registros de aplicaciones y luego Nuevo registro.
  5. Escriba un Nombre para la aplicación. Por ejemplo, managementapp1.
  6. Seleccione Solo las cuentas de este directorio organizativo.
  7. En Permisos, desactive la casilla Conceda permiso del administrador a los permisos openid y offline_access.
  8. Seleccione Registrar.
  9. Registre el valor Id. de aplicación (cliente) que se muestra en la página de información general de la aplicación. Se usará este valor en un paso posterior.

Concesión de acceso de API

Para que la aplicación tenga acceso a los datos de Microsoft Graph, conceda a la aplicación registrada los permisos de aplicación pertinentes. Los permisos efectivos de la aplicación son el nivel completo de privilegios que concede el permiso. Por ejemplo, para crear, leer, actualizary eliminar cada usuario de su inquilino de Azure AD B2C, agregue el permiso User.ReadWrite.All.

Nota:

El permiso User.ReadWrite.All no incluye la capacidad actualizar las contraseñas de las cuentas de usuario. Si la aplicación tiene que actualizar las contraseñas de las cuentas de usuario, conceda el rol Administrador de usuarios. Al conceder el rol Administrador de usuarios, no se requiere User.ReadWrite.All. El rol de administrador de usuarios incluye todo lo necesario para administrar usuarios.

Puede conceder a la aplicación varios permisos de aplicación. Por ejemplo, si la aplicación también tiene que administrar grupos en el inquilino de Azure AD B2C, agregue también el permiso Group.ReadWrite.All.

Registros de aplicaciones

  1. En Administrar, seleccione Permisos de API.
  2. En Permisos configurados, seleccione Agregar un permiso.
  3. Seleccione la pestaña API de Microsoft y, a continuación, seleccione Microsoft Graph.
  4. Seleccione Permisos de aplicación.
  5. Expanda el grupo de permisos adecuado y active la casilla del permiso que quiera conceder a la aplicación de administración. Por ejemplo:
    • User>User.ReadWrite.All: para escenarios de migración de usuarios o administración de usuarios.
    • Grupo> de Group.ReadWrite.All: para crear grupos, leer y actualizar pertenencias a grupos y eliminar grupos.
    • AuditLog>AuditLog.Read.All: para leer los registros de auditoría del directorio.
    • Policy>Policy.ReadWrite.TrustFramework: para escenarios de integración continua o entrega continua (CI/CD). Por ejemplo, la implementación de directivas personalizadas con Azure Pipelines.
  6. Seleccione Agregar permisos. Como se indicó, espere unos minutos antes de continuar con el paso siguiente.
  7. Seleccione Conceder consentimiento de administrador para (el nombre de inquilino) .
  8. Inicie sesión con una cuenta en su inquilino Azure AD B2C que tenga asignada el rol Administrador de aplicaciones en la nube y después seleccione Conceder consentimiento de administrador para (nombre de su inquilino).
  9. Seleccione Actualizar, y a continuación compruebe que aparece "Concedido para..." en Estado. Los permisos pueden tardar unos minutos en propagarse.

[Opcional] Concesión del rol Administrador de usuarios

Si la aplicación o el script tienen que actualizar las contraseñas de los usuarios, asigne a la aplicación el rol Administrador de usuarios. El rol Administrador de usuarios tiene un conjunto fijo de permisos que se conceden a la aplicación.

Para agregar el rol Administrador de usuarios, siga estos pasos:

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar a su inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
  3. Busque y seleccione Azure AD B2C.
  4. En Administrar, seleccione Roles y administradores.
  5. Seleccione el rol Administrador de usuarios.
  6. Seleccione Agregar asignaciones.
  7. En el cuadro de texto Seleccionar, escriba el nombre o el identificador de la aplicación que registró antes; por ejemplo, managementapp1. Seleccione la aplicación cuando aparezca en los resultados de la búsqueda.
  8. Seleccione Agregar. Los permisos pueden tardar unos minutos en propagarse por completo.

Creación de un secreto de cliente

La aplicación necesita un secreto de cliente para demostrar su identidad al solicitar un token. Para agregar el secreto de cliente, siga estos pasos:

  1. En Administrar, seleccione Certificates & secrets (Certificados y secretos).
  2. Seleccione Nuevo secreto de cliente.
  3. Escriba una descripción para el secreto de cliente en el cuadro Descripción. Por ejemplo, clientsecret1.
  4. En Expira, seleccione el tiempo durante el cual el secreto es válido y, a continuación, seleccione Agregar.
  5. Registre el Valor del secreto. Este valor se usa para la configuración en un paso posterior.

Pasos siguientes

Ahora que ha registrado su aplicación de administración y le ha concedido los permisos necesarios, las aplicaciones y los servicios (por ejemplo, Azure Pipelines) pueden usar sus credenciales y permisos para interactuar con Microsoft Graph API.