Conceder acceso a la API de aprovisionamiento de entrada
Introducción
Después de configurar la aplicación de aprovisionamiento de entrada controlada por API, debe conceder permisos de acceso para que los clientes de API puedan enviar solicitudes a la API de aprovisionamiento /bulkUpload y consultar la API de registros de aprovisionamiento. Este tutorial le guiará a través de los pasos para configurar estos permisos.
En función de cómo se autentique el cliente de API con el Id. de Microsoft Entra, puede seleccionar entre dos opciones de configuración:
- Configuración de una entidad de servicio: sigue estas instrucciones si el cliente de API planea usar una entidad de servicio de una aplicación registrada de Microsoft Entra y autenticarse mediante el flujo de concesión de credenciales de cliente de OAuth.
- Configuración de una identidad administrada: siga estas instrucciones si el cliente de API planea usar una identidad administrada de Microsoft Entra.
Configuración de una entidad de servicio
Esta configuración registra una aplicación en el Id. de Microsoft Entra que representa el cliente de API externo y le concede permiso para invocar la API de aprovisionamiento entrante. El Id. de cliente principal de servicio y el secreto de cliente pueden usarse en el flujo de concesión de credenciales de cliente OAuth.
- Inicie sesión en el Centro de administración de Microsoft Entra (https://entra.microsoft.com) con al menos credenciales de inicio de sesión de Administrador de aplicaciones.
- Vaya a Id. de Microsoft Entra ->Aplicaciones ->Registros de aplicaciones.
- Haga clic en la opción Nuevo registro.
- Proporcione un nombre de aplicación, seleccione las opciones predeterminadas y haga clic en Registrar.
- Copie los valores de id. de aplicación (cliente) e id. de directorio (inquilino) de la hoja Información general y guárdelos para usarlos más adelante en el cliente de API.
- En el menú contextual de la aplicación, seleccione la opción Certificados y secretos.
- Cree un secreto de cliente. Proporcione una descripción para el secreto y la fecha de expiración.
- Copie el valor generado del secreto de cliente y guárdelo para usarlo más adelante en el cliente de API.
- En el menú contextual Permisos de API, seleccione la opción Agregar un permiso.
- En Solicitar permisos de API, seleccione Microsoft Graph.
- Seleccione Permisos de aplicación.
- Busque y seleccione los permisos AuditLog.Read.All y SynchronizationData-User.Upload.
- Haga clic en Conceder consentimiento del administrador en la pantalla siguiente para completar la asignación de permisos. Haga clic en Sí en el cuadro de diálogo de confirmación. La aplicación debe tener los siguientes conjuntos de permisos.
- Ya está listo para usar la entidad de servicio con el cliente de API.
- En el caso de las cargas de trabajo de producción, se recomienda usar la autenticación basada en certificados de cliente con la entidad de servicio o las identidades administradas.
Configuración de una identidad administrada
En esta sección se describe cómo puede asignar los permisos necesarios a una identidad administrada.
Configure una identidad administrada para su uso con el recurso de Azure.
Copie el nombre de la identidad administrada desde el centro de administración de Microsoft Entra. Por ejemplo: en la captura de pantalla siguiente se muestra el nombre de una identidad administrada asignada por el sistema asociada a un flujo de trabajo de Azure Logic Apps denominado "CSV2SCIMBulkUpload".
Ejecute el siguiente script de PowerShell para asignar permisos a la identidad administrada.
Install-Module Microsoft.Graph -Scope CurrentUser Connect-MgGraph -Scopes "Application.Read.All","AppRoleAssignment.ReadWrite.All,RoleManagement.ReadWrite.Directory" $graphApp = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'" $PermissionName = "SynchronizationData-User.Upload" $AppRole = $graphApp.AppRoles | ` Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"} $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'" New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id $PermissionName = "AuditLog.Read.All" $AppRole = $graphApp.AppRoles | ` Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"} $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'" New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id
Para confirmar que se aplicó el permiso, busque la entidad de servicio de identidad administrada en Aplicaciones empresariales en el Id. de Microsoft Entra. Quite el filtro Tipo de aplicación para ver todas las entidades de servicio.
Haga clic en la hoja Permisos en Seguridad. Asegúrese de que el permiso está establecido.
Ya está listo para usar la identidad administrada con el cliente de API.