Tutorial: Configuración de SAP Cloud Identity Services para el aprovisionamiento automático de usuarios
En este tutorial, se muestran los pasos para configurar el aprovisionamiento de Microsoft Entra ID en SAP Cloud Identity Services. El objetivo es configurar Microsoft Entra ID para aprovisionar y desaprovisionar automáticamente a los usuarios en SAP Cloud Identity Services, de modo que esos usuarios puedan autenticarse en SAP Cloud Identity Services y tener acceso a otras cargas de trabajo de SAP. SAP Cloud Identity Services es compatible con el aprovisionamiento desde su directorio de identidad local a otras aplicaciones de SAP como sistemas de destino.
Nota:
En este tutorial, se describe un conector integrado en el servicio de aprovisionamiento de usuarios de Microsoft Entra. Para obtener información importante acerca de lo que hace este servicio, cómo funciona y ver preguntas frecuentes al respecto, consulte Automatización del aprovisionamiento y desaprovisionamiento de usuarios para aplicaciones SaaS con Microsoft Entra ID. SAP Cloud Identity Services también tiene su propio conector independiente para leer usuarios y grupos de Microsoft Entra ID. Para más información, consulte Servicios de identidad en la nube de SAP: Aprovisionamiento de identidades: Microsoft Entra ID como sistema de origen.
Requisitos previos
En el escenario descrito en este tutorial se supone que ya cuenta con los requisitos previos siguientes:
- Un inquilino de Microsoft Entra
- Un inquilino de SAP Cloud Identity Services
- Una cuenta de usuario en SAP Cloud Identity Services con permisos de administrador.
Nota:
Esta integración también está disponible desde el entorno de la nube del gobierno de EE. UU. de Microsoft Entra. Puede encontrar esta aplicación en la galería de aplicaciones en la nube del gobierno de EE. UU. de Microsoft Entra y configurarla de la misma manera que en el entorno de la nube pública.
Si aún no tiene usuarios en Microsoft Entra ID, comience con el tutorial planear la implementación de Microsoft Entra para el aprovisionamiento de usuarios con aplicaciones de origen y destino de SAP. En este tutorial se muestra cómo conectar Microsoft Entra con orígenes autoritativos para la lista de trabajadores de una organización, como SAP SuccessFactors. También se muestra cómo usar Microsoft Entra para configurar identidades para esos trabajadores, por lo que pueden iniciar sesión en una o varias aplicaciones SAP, como SAP ECC o SAP S/4HANA.
Si va a configurar el aprovisionamiento en SAP Cloud Identity Services en un entorno de producción, donde va a gobernar el acceso a las cargas de trabajo de SAP mediante la gobernanza de Microsoft Entra ID, revise los requisitos previos antes de configurar Microsoft Entra ID para la gobernanza de identidades antes de continuar.
Configuración de SAP Cloud Identity Services para el aprovisionamiento
Inicie sesión en la consola de administración de SAP Cloud Identity Services,
https://<tenantID>.accounts.ondemand.com/admin
ohttps://<tenantID>.trial-accounts.ondemand.com/admin
, si se trata de una prueba. Vaya a Usuarios y autorizaciones > Administradores.Presione el botón +Add (+Agregar) en el panel de la izquierda para agregar un nuevo administrador a la lista. Elija Add System (Agregar sistema) y escriba el nombre del sistema.
Nota:
La identidad de administrador de SAP Cloud Identity Services debe ser de tipo System. Un usuario administrador no podrá autenticarse en la API SAP SCIM durante el aprovisionamiento. SAP Cloud Identity Services no permite cambiar el nombre de un sistema después de crearlo.
En Configurar autorizaciones, cambie el botón de alternancia a Administrar usuarios. Después, haga clic en Guardar para crear el sistema.
Una vez creado el sistema de administrador, agregue un nuevo secreto a ese sistema.
Copie el id.de cliente y el secreto de cliente generados por SAP. Estos valores se escribirán en los campos Nombre de usuario de administrador y Contraseña de administrador respectivamente. Esto se hace en la pestaña Aprovisionamiento de la aplicación SAP Cloud Identity Services, que configurará en la sección siguiente.
SAP Cloud Identity Services puede tener asignaciones a una o varias aplicaciones SAP como sistemas de destino. Compruebe si hay algún atributo en los usuarios que esas aplicaciones SAP necesiten aprovisionar a través de SAP Cloud Identity Services. En este tutorial se da por supuesto que SAP Cloud Identity Services y los sistemas de destino de bajada requieren dos atributos,
userName
yemails[type eq "work"].value
. Si los sistemas de destino de SAP requieren otros atributos y estos no forman parte del esquema de usuario de Microsoft Entra ID, es posible que tenga que configurar sincronización de atributos de extensión.
Adición de SAP Cloud Identity Services desde la galería
Antes de configurar Microsoft Entra ID para tener el aprovisionamiento automático de usuarios en SAP Cloud Identity Services, debe agregar SAP Cloud Identity Services desde la galería de aplicaciones de Microsoft Entra a la lista de aplicaciones empresariales de su inquilino. Puede realizar este paso en el Centro de administración de Microsoft Entra o a través de Graph API.
Si SAP Cloud Identity Services ya está configurado para el inicio de sesión único desde Microsoft Entra y una aplicación ya está presente en la lista de aplicaciones empresariales de Microsoft Entra, continúe en la sección siguiente.
Para agregar SAP Cloud Identity Services desde la galería de aplicaciones de Microsoft Entra mediante el Centro de administración de Microsoft Entra, siga estos pasos:
- Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
- Vaya a Identidad>Aplicaciones>Aplicaciones empresariales>Nueva aplicación.
- Para agregar la aplicación desde la galería, escriba SAP Cloud Identity Services en el cuadro de búsqueda.
- Seleccione SAP Cloud Identity Services en el panel de resultados y agregue la aplicación. Espere unos segundos mientras la aplicación se agrega al inquilino.
Configurar el aprovisionamiento automático de usuarios en SAP Cloud Identity Services
Esta sección le guía por los pasos necesarios para configurar el servicio de aprovisionamiento de Microsoft Entra ID para crear, actualizar y deshabilitar usuarios en SAP Cloud Identity Services en función de las asignaciones de usuarios a una aplicación en Microsoft Entra ID.
Para configurar el aprovisionamiento automático de usuarios para SAP Cloud Identity Services en Microsoft Entra ID:
Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
Ve a Identidad>Aplicaciones>Aplicaciones empresariales
En la lista de aplicaciones, seleccione la aplicación SAP Cloud Identity Services.
Seleccione la pestaña Propiedades.
Compruebe que la opción ¿Asignación requerida? esté establecida en Sí. Si se establece en No, todos los usuarios del directorio, incluidas las identidades externas, pueden acceder a la aplicación y no puede revisar el acceso a la aplicación.
Seleccione la pestaña Aprovisionamiento.
Establezca el modo de aprovisionamiento en Automático.
En la sección Credenciales de administrador, escriba
https://<tenantID>.accounts.ondemand.com/service/scim
, ohttps://<tenantid>.trial-accounts.ondemand.com/service/scim
si es una versión de prueba, con el id. de inquilino de SAP Cloud Identity Services en Dirección URL del inquilino. Escriba los valores Id. de cliente y Secreto de cliente recuperados anteriormente en Nombre de usuario de administrador y Contraseña de administrador respectivamente. Haga clic en Probar conexión para asegurarse de que Microsoft Entra ID puede conectarse a SAP Cloud Identity Services. Si se produce un error en la conexión, asegúrese de que la cuenta del sistema de SAP Cloud Identity Services tenga permisos de administrador y que el secreto siga siendo válido, e inténtelo de nuevo.En el campo Correo electrónico de notificación, escriba la dirección de correo electrónico de una persona o grupo que debe recibir las notificaciones de error de aprovisionamiento y active la casilla Enviar una notificación por correo electrónico cuando se produzca un error.
Haga clic en Save(Guardar).
En la sección Asignaciones, seleccione Aprovisionar usuarios de Microsoft Entra ID.
Revise los atributos de usuario que se sincronizan entre Microsoft Entra ID y SAP Cloud Identity Services en la sección asignación de atributos. Si no ve los atributos de SAP Cloud Identity Services disponibles como destino para la asignación, seleccione Mostrar opciones avanzadas y seleccione Editar lista de atributos para SAP Cloud Platform Identity Authentication Service para editar la lista de atributos compatibles. Agregue los atributos del inquilino de SAP Cloud Identity Services.
Revise y registre los atributos de origen y destino seleccionados como propiedades coincidentes, asignaciones que tienen prioridad de coincidencia, ya que estos atributos se usan para buscar coincidencias con las cuentas de usuario de SAP Cloud Identity Services para el servicio de aprovisionamiento de Microsoft Entra para determinar si se debe crear un nuevo usuario o actualizar uno existente. Para más información sobre las coincidencias, consulte emparejamiento de usuarios en los sistemas de origen y destino. En un paso posterior, se asegurará de que todos los usuarios que ya estén en SAP Cloud Identity Services tengan los atributos seleccionados como propiedades coincidentes rellenados para evitar que se creen usuarios duplicados.
Confirme que haya una asignación de atributos para
IsSoftDeleted
, o una función que contengaIsSoftDeleted
asignado a un atributo de la aplicación. Cuando un usuario se desasigna de la aplicación, se elimina temporalmente en Microsoft Entra ID o se bloquea para que no pueda iniciar sesión, el servicio de aprovisionamiento de Microsoft Entra ID actualizará el atributo asignado aisSoftDeleted
. Si no se ha asignado ningún atributo, los usuarios que más adelante no tengan asignado el rol de aplicación seguirán existiendo en el almacén de datos de la aplicación.Agregue las asignaciones adicionales que requieran SAP Cloud Identity Services o los sistemas SAP de destino de nivel inferior.
Seleccione el botón Guardar para confirmar los cambios.
Atributo Tipo Compatible con el filtrado Requerido por SAP Cloud Identity Services userName
Cadena ✓ ✓ emails[type eq "work"].value
String ✓ active
Booleano displayName
Cadena urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager
Referencia addresses[type eq "work"].country
Cadena addresses[type eq "work"].locality
String addresses[type eq "work"].postalCode
String addresses[type eq "work"].region
String addresses[type eq "work"].streetAddress
String name.givenName
String name.familyName
String name.honorificPrefix
String phoneNumbers[type eq "fax"].value
String phoneNumbers[type eq "mobile"].value
String phoneNumbers[type eq "work"].value
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization
String locale
String timezone
String userType
String company
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute1
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute2
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute3
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute4
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute5
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute6
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute7
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute8
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute9
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute10
String sendMail
String mailVerified
Cadena Para configurar filtros de ámbito, consulte las siguientes instrucciones, que se proporcionan en el artículo Aprovisionamiento de aplicaciones basado en atributos con filtros de ámbito.
Para habilitar el servicio de aprovisionamiento de Microsoft Entra ID para SAP Cloud Identity Services, cambie Estado de aprovisionamiento a Activado en la sección Configuración.
Para el valor de Ámbito en la sección Configuración, seleccione Sincronizar solo usuarios y grupos asignados.
Cuando esté listo para realizar el aprovisionamiento, haz clic en Guardar.
Esta operación inicia la sincronización inicial de todos los usuarios definidos en Ámbito en la sección Configuración. Si tiene el ámbito establecido en Sincronizar solo usuarios y grupos asignados y no se han asignado usuarios o grupos a la aplicación, no se producirá ninguna sincronización hasta que los usuarios se asignen a la aplicación.
Aprovisionar un nuevo usuario de prueba de Microsoft Entra ID a SAP Cloud Identity Services
Se recomienda asignar un solo nuevo usuario de prueba de Microsoft Entra a SAP Cloud Identity Services para probar la configuración de aprovisionamiento automático de usuarios.
- Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de aplicaciones en la nube y Administrador de usuarios.
- Vaya aIdentidad>Usuarios>Todos los usuarios.
- Seleccione Nuevo usuario>Crear nuevo usuario.
- Escriba el Nombre principal de usuario y el Nombre para mostrar del nuevo usuario de prueba. El nombre principal de usuario debe ser único y no el mismo de ningún usuario actual o anterior de Microsoft Entra o de SAP Cloud Identity Services. Seleccione Revisar y crear y Crear.
- Una vez creado el usuario de prueba, vaya a Identidad>Aplicaciones>Aplicaciones empresariales.
- Seleccione la aplicación SAP Cloud Identity Services.
- Seleccione Usuarios y grupos y, luego, Agregar usuario/grupo.
- En Usuarios y grupos, seleccione Ninguno seleccionado y, en el cuadro de texto, escriba el nombre principal de usuario del usuario de prueba.
- Elija Seleccionar y, después, Asignar.
- Seleccione Aprovisionamiento y, después, seleccione Aprovisionar a petición.
- En el cuadro de texto Seleccionar un usuario o grupo, escriba el nombre principal de usuario del usuario de prueba.
- Haga clic en Aprovisionar.
- Espere a que se complete el aprovisionamiento. Si se ejecuta correctamente, verá el mensaje
Modified attributes (successful)
.
De manera opcional, también puede comprobar lo que el servicio de aprovisionamiento de Microsoft Entra aprovisionará cuando un usuario salga del ámbito de la aplicación.
- Selecciona Usuarios y grupos
- Seleccione el usuario de prueba y, después, seleccione Quitar.
- Una vez quitado el usuario de prueba, seleccione Aprovisionamiento y, después, seleccione Aprovisionar a petición.
- En el cuadro de texto Seleccionar un usuario o grupo, escriba el nombre principal de usuario del usuario de prueba que acaba de desasignar.
- Haga clic en Aprovisionar.
- Espere a que se complete el aprovisionamiento.
Por último, puede quitar el usuario de prueba de Microsoft Entra ID.
- Vaya aIdentidad>Usuarios>Todos los usuarios.
- Seleccione el usuario de prueba, seleccione Eliminar y seleccione Aceptar. Esta acción elimina temporalmente el usuario de prueba de Microsoft Entra ID.
Después también podrá quitar el usuario de prueba de SAP Cloud Identity Services.
Asegurarse de que los usuarios existentes de SAP Cloud Identity Services tengan los atributos coincidentes necesarios
Antes de asignar usuarios que no son de prueba a la aplicación SAP Cloud Identity Services en Microsoft Entra ID, debe asegurarse de que los usuarios que ya estén en SAP Cloud Identity Services que representen a las mismas personas que los usuarios de Microsoft Entra ID tengan los atributos de asignación rellenados en los servicios de SAP Cloud Identity.
En la asignación de aprovisionamiento, los atributos seleccionados como propiedades coincidentes se usan para buscar coincidencias entre las cuentas de usuario de Microsoft Entra ID y las cuentas de usuario de SAP Cloud Identity Services. Si hay un usuario en Microsoft Entra ID sin coincidencias en SAP Cloud Identity Services, el servicio de aprovisionamiento de Microsoft Entra intentará crear un nuevo usuario. Si hay un usuario en Microsoft Entra ID y tiene una coincidencia en SAP Cloud Identity Services, el servicio de aprovisionamiento de Microsoft Entra actualizará ese usuario de SAP Cloud Identity Services. Por este motivo, debe asegurarse de que todos los usuarios que ya estén en SAP Cloud Identity Services tengan los atributos seleccionados como propiedades coincidentes rellenados; de lo contrario, se pueden crear usuarios duplicados. Si necesita cambiar el atributo coincidente en la asignación de atributos de aplicación de Microsoft Entra, consulte emparejamiento de usuarios en los sistemas de origen y destino.
Inicie sesión en la consola de administración de SAP Cloud Identity Services,
https://<tenantID>.accounts.ondemand.com/admin
ohttps://<tenantID>.trial-accounts.ondemand.com/admin
, si se trata de una prueba.Vaya a Usuarios y autorizaciones > Exportar usuarios.
Seleccione todos los atributos necesarios para hacer coincidir los usuarios de Microsoft Entra con los de SAP. Estos atributos incluyen los atributos
SCIM ID
,userName
,emails
y otros que puede usar en los sistemas SAP como identificadores.Seleccione Exportar y espere a que el explorador descargue el archivo CSV.
Abra una ventana de PowerShell.
Escriba el siguiente script en un editor. En la línea uno, si ha seleccionado un atributo coincidente distinto de
userName
, cambie el valor de la variablesapScimUserNameField
por el nombre del atributo SAP Cloud Identity Services. En la línea dos, cambie el argumento por el nombre de archivo del archivo CSV exportado deUsers-exported-from-sap.csv
por el nombre del archivo descargado.$sapScimUserNameField = "userName" $existingSapUsers = import-csv -Path ".\Users-exported-from-sap.csv" -Encoding UTF8 $count = 0 $warn = 0 foreach ($u in $existingSapUsers) { $id = $u.id if (($null -eq $id) -or ($id.length -eq 0)) { write-error "Exported CSV file does not contain the id attribute of SAP Cloud Identity Services users." throw "id attribute not available, re-export" return } $count++ $userName = $u.$sapScimUserNameField if (($null -eq $userName) -or ($userName.length -eq 0)) { write-warning "SAP Cloud Identity Services user $id does not have a $sapScimUserNameField attribute populated" $warn++ } } write-output "$warn of $count users in SAP Cloud Identity Services did not have the $sapScimUserNameFIeld attribute populated."
Ejecute el script. Cuando se complete el script, si había uno o varios usuarios que no tenían el atributo coincidente necesario, busque esos usuarios en el archivo CSV exportado o en la consola de administración de SAP Cloud Identity Services. Si esos usuarios también están presentes en Microsoft Entra, primero deberá actualizar la representación de SAP Cloud Identity Services de esos usuarios para que tengan rellenado el atributo coincidente.
Una vez que haya actualizado los atributos de esos usuarios en SAP Cloud Identity Services, vuelva a exportar los usuarios de SAP Cloud Identity Services, como se describe en los pasos 2-5 y PowerShell de esta sección, para confirmar que a ningún usuario de SAP Cloud Identity Services le falten los atributos coincidentes que podrían afectar su aprovisionamiento.
Ahora que tiene una lista de todos los usuarios obtenidos de SAP Cloud Identity Services, emparejará los usuarios del almacén de datos de la aplicación con los usuarios que ya están en Microsoft Entra ID para determinar qué usuarios deben estar en el ámbito del aprovisionamiento.
Recuperar los identificadores de los usuarios en Microsoft Entra ID
En esta sección, se muestra cómo interactuar con Microsoft Entra ID mediante cmdlets de PowerShell de Microsoft Graph.
La primera vez que la organización use estos cmdlets para este escenario, deberá tener un rol de administrador global para permitir el uso de PowerShell de Microsoft Graph en el inquilino. Las interacciones posteriores pueden usar un rol con privilegios inferiores, como:
- Administrador de usuarios, si prevé crear nuevos usuarios.
- Administrador de aplicaciones o Administrador de Identity Governance, si solo va a administrar asignaciones de roles de aplicación.
Abra PowerShell.
Si aún no tiene instalados los módulos de PowerShell de Microsoft Graph, instale el módulo
Microsoft.Graph.Users
y otros mediante este comando:Install-Module Microsoft.Graph
Si ya tiene instalados los módulos, asegúrese de que usa una versión reciente:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Conéctese a Microsoft Entra ID:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Si es la primera vez que ha usado este comando, es posible que tenga que dar su consentimiento para permitir que las herramientas de la línea de comandos de Microsoft Graph tengan estos permisos.
Lea la lista de usuarios obtenida del almacén de datos de la aplicación en la sesión de PowerShell. Si la lista de usuarios estaba en un archivo .csv, puede usar el cmdlet
Import-Csv
de PowerShell y proporcionar el nombre del archivo de la sección anterior como argumento.Por ejemplo, si el archivo obtenido de SAP Cloud Identity Services se denomina Users-exported-from-sap.csv y se encuentra en el directorio actual, escriba este comando.
$filename = ".\Users-exported-from-sap.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Por otro ejemplo, si usa una base de datos o un directorio, si el archivo se denomina users.csv y se encuentra en el directorio actual, escriba este comando:
$filename = ".\users.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Elija la columna del archivo users.csv que va a coincidir con un atributo de un usuario en Microsoft Entra ID.
Si usa SAP Cloud Identity Services, la asignación predeterminada es el atributo
userName
SCIM de SAPuserName
con el atributo Microsoft Entra IDuserPrincipalName
:$db_match_column_name = "userName" $azuread_match_attr_name = "userPrincipalName"
Por otro ejemplo, si usa una base de datos o un directorio, es posible que tenga usuarios en una base de datos donde el valor de la columna denominada
EMail
sea el mismo valor que en el atributo Microsoft EntrauserPrincipalName
:$db_match_column_name = "EMail" $azuread_match_attr_name = "userPrincipalName"
Recupere los identificadores de esos usuarios en Microsoft Entra ID.
El siguiente script de PowerShell usa los valores
$dbusers
,$db_match_column_name
y$azuread_match_attr_name
especificados anteriormente. El script consultará a Microsoft Entra ID para encontrar un usuario que tenga un atributo con un valor coincidente para cada registro del archivo de origen. Si hay muchos usuarios en el archivo obtenidos del origen de SAP Cloud Identity Services, la base de datos o el directorio, este script puede tardar varios minutos en finalizar. Si no tiene un atributo en Microsoft Entra ID que tenga el valor y necesita usar una expresióncontains
u otra expresión de filtro, deberá personalizar este script en el paso 11 a continuación para usar otra expresión de filtro.$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } }
Observe los resultados de las consultas anteriores. Vea si alguno de los usuarios de SAP Cloud Identity Services, la base de datos o el directorio no se pudieron encontrar en Microsoft Entra ID, debido a errores o coincidencias que faltan.
El siguiente script de PowerShell mostrará los recuentos de los registros que no se encontraron:
$dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
Cuando finalice el script, se indicará un error si no se encontraron en Microsoft Entra ID algunos registros del origen de datos. Si no se han podido encontrar como usuarios de Microsoft Entra ID todos los registros de los usuarios del almacén de datos de la aplicación, deberá investigar qué registros no coincidieron y por qué.
Por ejemplo, es posible que la dirección de correo electrónico de algún usuario y el valor de userPrincipalName hayan cambiado en Microsoft Entra ID sin que se haya actualizado su propiedad
mail
correspondiente en el origen de datos de la aplicación. O bien, es posible que el usuario ya haya dejado la organización, pero siga estando en el origen de datos de la aplicación. O bien, puede haber una cuenta de proveedor o superadministrador en el origen de datos de la aplicación que no corresponda a ninguna persona específica de Microsoft Entra ID.Si había usuarios que no podían estar ubicados en Microsoft Entra ID, o no estaban activos y podían iniciar sesión, pero quiere tener su acceso revisado o sus atributos actualizados en SAP Cloud Identity Services, la base de datos o el directorio, deberá actualizar la aplicación, la regla de coincidencia o actualizar o crear usuarios de Microsoft Entra para ellos. Para obtener más información sobre qué cambio realizar, vea administrar asignaciones y cuentas de usuario en aplicaciones que no coincidieron con los usuarios de Microsoft Entra ID.
Si elige la opción de crear usuarios en Microsoft Entra ID, puede crear usuarios de forma masiva mediante:
- Un archivo CSV, como se describe en Creación masiva de usuarios en el Centro de administración de Microsoft Entra
- El cmdlet New-MgUser
Asegúrese de que estos nuevos usuarios se rellenan con los atributos necesarios de Azure AD de forma que coincidan posteriormente con los usuarios existentes en la aplicación, y los atributos requeridos por Microsoft Entra ID, como
userPrincipalName
,mailNickname
ydisplayName
. El valor deuserPrincipalName
debe ser único entre todos los usuarios del directorio.Por ejemplo, es posible que tengas usuarios una la base de datos donde el valor de la columna denominada
EMail
sea el valor que quieres usar como nombre principal de usuario de Microsoft Entra ID, el valor de la columnaAlias
contenga el alias de correo de Microsoft Entra ID y el valor de la columnaFull name
contenga el nombre para mostrar del usuario:$db_display_name_column_name = "Full name" $db_user_principal_name_column_name = "Email" $db_mail_nickname_column_name = "Alias"
Después, puede usar este script para crear usuarios de Microsoft Entra para aquellos de SAP Cloud Identity Services, la base de datos o el directorio que no coincidan con los usuarios en el Microsoft Entra ID. Tenga en cuenta que es posible que deba modificar este script para agregar atributos adicionales de Microsoft Entra necesarios en su organización, o si el valor de
$azuread_match_attr_name
no esmailNickname
niuserPrincipalName
, para proporcionar ese atributo de Microsoft Entra.$dbu_missing_columns_list = @() $dbu_creation_failed_list = @() foreach ($dbu in $dbu_not_matched_list) { if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) { $params = @{ accountEnabled = $false displayName = $dbu.$db_display_name_column_name mailNickname = $dbu.$db_mail_nickname_column_name userPrincipalName = $dbu.$db_user_principal_name_column_name passwordProfile = @{ Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_}) } } try { New-MgUser -BodyParameter $params } catch { $dbu_creation_failed_list += $dbu; throw } } else { $dbu_missing_columns_list += $dbu } }
Después de agregar los usuarios que faltan a Microsoft Entra ID, vuelva a ejecutar el script del paso 7. A continuación, ejecute el script del paso 8. Compruebe que no se notifique ningún error.
$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } } $dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
Asegurarse de que los usuarios existentes de Microsoft Entra tengan los atributos necesarios
Antes de habilitar el aprovisionamiento automático de usuarios, debe decidir qué usuarios de Microsoft Entra ID necesitan acceder a SAP Cloud Identity Services y, después, debe comprobar que esos usuarios tienen los atributos necesarios en Microsoft Entra ID y que se asignan al esquema esperado de SAP Cloud Identity Services.
- De forma predeterminada, el valor del atributo de usuario de Microsoft Entra
userPrincipalName
se asigna a los atributosuserName
yemails[type eq "work"].value
de SAP Cloud Identity Services. Si las direcciones de correo electrónico de los usuarios son diferentes de sus nombres principales de usuario, es posible que tenga que cambiar esta asignación. - SAP Cloud Identity Services puede omitir los valores del atributo
postalCode
si el formato del código postal o postal de la empresa no coincide con el país de la empresa. - De forma predeterminada, el atributo de Microsoft Entra
department
se asigna al atributo SAP Cloud Identity Servicesurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
. Si los usuarios de Microsoft Entra tienen valores del atributodepartment
, esos valores deben coincidir con esos departamentos ya configurados en SAP Cloud Identity Services; de lo contrario, se producirá un error en la creación o actualización del usuario. Si los valoresdepartment
de los usuarios de Microsoft Entra no son coherentes con los de su entorno de SAP, quite la asignación antes de asignar usuarios. - El punto de conexión SCIM de SAP Cloud Identity Services requiere que determinados atributos sean de formato específico. Puede obtener más información sobre estos atributos y su formato específico aquí.
Asignar usuarios a la aplicación SAP Cloud Identity Services en Microsoft Entra ID
Microsoft Entra ID usa un concepto denominado asignaciones para determinar qué usuarios deben recibir acceso a determinadas aplicaciones. En el contexto del aprovisionamiento automático de usuarios, si el valor de Configuración de Ámbito es Sincronizar solo usuarios y grupos asignados, solo los usuarios y grupos que se han asignado a un rol de aplicación de esa aplicación en Microsoft Entra ID se sincronizan con SAP Cloud Identity Services. Al asignar un usuario a SAP Cloud Identity Services, debe seleccionar cualquier rol válido específico de la aplicación (si está disponible) en el cuadro de diálogo de asignación. Los usuarios con el rol de Acceso predeterminado quedan excluidos del aprovisionamiento. Actualmente, el único rol disponible para SAP Cloud Identity Services es Usuario.
Si el aprovisionamiento ya se ha habilitado para la aplicación, compruebe que el aprovisionamiento de la aplicación no está en cuarentena antes de asignar más usuarios a la aplicación. Resuelva los problemas que causan la cuarentena antes de continuar.
Compruebe si hay usuarios que están presentes en SAP Cloud Identity Services y que aún no están asignados a la aplicación en Microsoft Entra ID
Los pasos anteriores han evaluado si los usuarios de SAP Cloud Identity Services también existen como usuarios en Microsoft Entra ID. Sin embargo, es posible que actualmente no se hayan asignado todos a los roles de la aplicación en Microsoft Entra ID. Por lo tanto, los pasos siguientes consisten en ver qué usuarios no tienen asignaciones a roles de aplicación.
Con PowerShell, busque el id. de la entidad de servicio de la aplicación.
Por ejemplo, si la aplicación empresarial se llama
SAP Cloud Identity Services
, escriba los siguientes comandos:$azuread_app_name = "SAP Cloud Identity Services" $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'" $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
Recupere los usuarios que tienen actualmente asignaciones a la aplicación en Microsoft Entra ID.
Esto se basa en la variable
$azuread_sp
establecida en el comando anterior.$azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
Compare la lista de id. de usuario de los usuarios que ya están en SAP Cloud Identity Services y Microsoft Entra ID con los usuarios asignados actualmente a la aplicación en Microsoft Entra ID. Este script se basa en la variable
$azuread_match_id_list
establecida en las secciones anteriores:$azuread_not_in_role_list = @() foreach ($id in $azuread_match_id_list) { $found = $false foreach ($existing in $azuread_existing_assignments) { if ($existing.principalId -eq $id) { $found = $true; break; } } if ($found -eq $false) { $azuread_not_in_role_list += $id } } $azuread_not_in_role_count = $azuread_not_in_role_list.Count Write-Output "$azuread_not_in_role_count users in the application's data store are not assigned to the application roles."
Si hay cero usuarios no asignados a roles de aplicación, lo que indica que todos los usuarios sí están asignados a los roles de aplicación, esto indica que no había usuarios en común en Microsoft Entra ID y SAP Cloud Identity Services, por lo que no se necesitan cambios. Sin embargo, si uno o varios usuarios que ya están en SAP Cloud Identity Services no están asignados actualmente a los roles de la aplicación, deberá seguir el procedimiento y agregarlos a uno de los roles de la aplicación.
Seleccione el rol
User
de la entidad de servicio de la aplicación.$azuread_app_role_name = "User" $azuread_app_role_id = ($azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User" -and $_.DisplayName -eq "User"}).Id if ($null -eq $azuread_app_role_id) { write-error "role $azuread_app_role_name not located in application manifest"}
Cree asignaciones de roles de aplicación para los usuarios que ya están presentes en SAP Cloud Identity Services y Microsoft Entra, y que actualmente no tienen asignaciones de roles a la aplicación:
foreach ($u in $azuread_not_in_role_list) { $res = New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -AppRoleId $azuread_app_role_id -PrincipalId $u -ResourceId $azuread_sp.Id }
Espere un minuto para que los cambios se propaguen en Microsoft Entra ID.
En el siguiente ciclo de aprovisionamiento de Microsoft Entra, el servicio de aprovisionamiento de Microsoft Entra comparará la representación de los usuarios asignados a la aplicación, con la representación en SAP Cloud Identity Services y actualizará los usuarios de SAP Cloud Identity Services para que tengan los atributos de Microsoft Entra ID.
Asignar usuarios restantes y supervisar la sincronización inicial
Después de completar la prueba, de que un usuario se aprovisiona correctamente en SAP Cloud Identity Services y los usuarios existentes de SAP Cloud Identity Services se asignan al rol de aplicación, puede asignar a los usuarios autorizados adicionales a la aplicación SAP Cloud Identity Services siguiendo una de las instrucciones que se indican aquí:
- Puede asignar cada usuario individual a la aplicación en el Centro de administración de Microsoft Entra,
- Puede asignar usuarios individuales a la aplicación a través del cmdlet
New-MgServicePrincipalAppRoleAssignedTo
de PowerShell, como se muestra en la sección anterior, o bien - si su organización tiene una licencia para la gobernanza de Microsoft Entra ID, también puede implementar directivas de administración de derechos para automatizar la asignación de acceso.
Después de que los usuarios se asignen al rol de aplicación y estén en el ámbito del aprovisionamiento, el servicio de aprovisionamiento de Microsoft Entra los aprovisionará en SAP Cloud Identity Services. Tenga en cuenta que la sincronización inicial tarda más tiempo en realizarse que las posteriores, que se producen aproximadamente cada 40 minutos siempre que el servicio de aprovisionamiento de Microsoft Entra esté ejecutándose.
Si no ve que se aprovisionen usuarios, revise los pasos de la guía de solución de problemas "No se está aprovisionando ningún usuario". Después, compruebe el registro de aprovisionamiento a través del Centro de administración de Microsoft Entra o Graph API. Filtre el registro por el estado Failure (Error). Si hay errores con el código DuplicateTargetEntries, indica ambigüedad en las reglas de coincidencia del aprovisionamiento y tendrá que actualizar los usuarios de Microsoft Entra o las asignaciones que se usan para establecer la coincidencia, con el fin de asegurarse de que cada usuario de Microsoft Entra coincida con un usuario de la aplicación. A continuación, filtre el registro por la acción Create (Crear) y el estado Skipped (Omitido). Si se han omitido usuarios con el código NotEffectivelyEntitled para SkipReason, puede indicar que no se estableció la coincidencia de las cuentas de usuario de Microsoft Entra ID porque el estado de las cuentas de usuario era Deshabilitado.
Configurar el inicio de sesión único
También puede optar por habilitar el inicio de sesión único basado en SAML para SAP Cloud Identity Services, siguiendo las instrucciones proporcionadas en el tutorial deinicio de sesión único de SAP Cloud Identity Services. El inicio de sesión único puede configurarse independientemente del aprovisionamiento automático de usuarios, aunque estas dos características se complementan entre sí.
Supervisar el aprovisionamiento
Puede usar la sección Detalles de sincronización para supervisar el progreso y seguir los vínculos al informe de actividad de aprovisionamiento donde se describen todas las acciones que ha llevado a cabo el servicio de aprovisionamiento de Microsoft Entra ID en SAP Cloud Identity Services. También puede supervisar el proyecto de aprovisionamiento a través de Graph API de Microsoft.
Para más información sobre cómo leer los registros de aprovisionamiento de Microsoft Entra, consulte Creación de informes sobre el aprovisionamiento automático de cuentas de usuario.
Mantener asignaciones de roles de aplicación
A medida que los usuarios que están asignados a la aplicación se actualizan en Microsoft Entra ID, esos cambios se aprovisionarán automáticamente en SAP Cloud Identity Services.
Si tiene gobernanza de Microsoft Entra ID, puede automatizar los cambios en las asignaciones de roles de aplicación para SAP Cloud Identity Services en Microsoft Entra ID, agregar o quitar asignaciones a medida que las personas se unan a la organización, o dejar o cambiar roles.
- Puede realizar una revisión de acceso única o periódica de las asignaciones de roles de aplicación.
- Puede crear un paquete de acceso de administración de derechos para esta aplicación. Puede tener directivas para que los usuarios tengan el acceso asignado, ya sea cuando estos lo soliciten, o sea por parte de un administrador, de forma automática en función de reglas, o bien mediante flujos de trabajo de ciclo de vida.
Más recursos
- Administración del aprovisionamiento de cuentas de usuario para aplicaciones empresariales
- ¿Qué es el acceso a la aplicación y el inicio de sesión único con Microsoft Entra ID?
- Administración del acceso a las aplicaciones de SAP
- Control del acceso de las aplicaciones de su entorno