Problemas conocidos y soluciones con el cumplimiento de protocolo SCIM 2.0 del servicio de aprovisionamiento de usuarios de Azure ADKnown issues and resolutions with SCIM 2.0 protocol compliance of the Azure AD User Provisioning service

Azure Active Directory (Azure AD) puede aprovisionar automáticamente a usuarios y grupos de cualquier aplicación o sistema dirigidos por un servicio web con la interfaz definida en la especificación del protocolo System for Cross-Domain Identity Management (SCIM) 2.0.Azure Active Directory (Azure AD) can automatically provision users and groups to any application or system that is fronted by a web service with the interface defined in the System for Cross-Domain Identity Management (SCIM) 2.0 protocol specification.

El soporte técnico de Azure AD para el protocolo SCIM 2.0 se describe en Uso de System for Cross-Domain Identity Management (SCIM) para aprovisionar automáticamente a los usuarios y grupos de Azure Active Directory para aplicaciones, que muestra las partes específicas del protocolo que se implementan con el fin de aprovisionar automáticamente usuarios y grupos de Azure AD a las aplicaciones que admiten SCIM 2.0.Azure AD's support for the SCIM 2.0 protocol is described in Using System for Cross-Domain Identity Management (SCIM) to automatically provision users and groups from Azure Active Directory to applications, which lists the specific parts of the protocol that it implements in order to automatically provision users and groups from Azure AD to applications that support SCIM 2.0.

En este artículo se describen los problemas actuales y pasados con el cumplimiento del protocolo SCIM 2.0 en el servicio de aprovisionamiento de usuarios de Azure AD, así como la forma de solucionar estos problemas.This article describes current and past issues with the Azure AD user provisioning service's adherence to the SCIM 2.0 protocol, and how to work around these issues.

Importante

La actualización más reciente en el cliente de SCIM del servicio de aprovisionamiento de usuarios de Azure AD se realizó el 18 de diciembre de 2018.The latest update to the Azure AD user provisioning service SCIM client was made on December 18, 2018. Esta actualización resolvió los problemas de compatibilidad conocidos que aparecen en la tabla siguiente.This update addressed the known compatibility issues listed in the table below. Consulte estas preguntas más frecuentes para obtener información adicional acerca de esta actualización.See the frequently asked questions below for more information about this update.

Problemas de cumplimiento y estado de SCIM 2.0SCIM 2.0 compliance issues and status

Problema de compatibilidad de SCIM 2.0SCIM 2.0 compliance issue ¿Corregido?Fixed? Fecha de correcciónFix date
Azure AD requiere "/scim" en la raíz de la dirección URL del punto de conexión SCIM de la aplicación.Azure AD requires "/scim" to be in the root of the application's SCIM endpoint URL Yes 18 de diciembre de 2018December 18, 2018
Los atributos de extensión utilizan la notación de punto "." antes de los nombres de atributo en lugar de la notación de dos puntos ":".Extension attributes use dot "." notation before attribute names instead of colon ":" notation Yes 18 de diciembre de 2018December 18, 2018
Las solicitudes de revisión para los atributos multivalor tienen una sintaxis de filtro de ruta no válida.Patch requests for multi-value attributes contain invalid path filter syntax Yes 18 de diciembre de 2018December 18, 2018
Las solicitudes de creación de grupos contienen un URI de esquema no válido.Group creation requests contain an invalid schema URI Yes 18 de diciembre de 2018December 18, 2018

¿Las correcciones de los servicios que se describen se aplican automáticamente a mi aplicación SCIM ya existente?Were the services fixes described automatically applied to my pre-existing SCIM app?

No.No. Dado que hubiera constituido un cambio importante para las aplicaciones SCIM cuyo código estaba diseñado para trabajar con el comportamiento anterior, los cambios no se han aplicado automáticamente a las aplicaciones existentes.As it would have constituted a breaking change to SCIM apps that were coded to work with the older behavior, the changes were not automatically applied to existing apps.

Los cambios se aplican a todas las nuevas aplicaciones SCIM fuera de la galería configuradas en Azure Portal, tras la fecha de la corrección.The changes are applied to all new non-gallery SCIM apps configured in the Azure portal, after the date of the fix.

Para obtener información sobre cómo migrar un trabajo de aprovisionamiento de usuarios existente a fin de incluir las correcciones más recientes, consulte la sección siguiente.For information on how to migrate a pre-existing user provisioning job to include the latest fixes, see the next section.

¿Puedo migrar un trabajo de aprovisionamiento de usuarios basado en SCIM para incluir las correcciones del servicio más recientes?Can I migrate an existing SCIM-based user provisioning job to include the latest service fixes?

Sí.Yes. Si ya usa esta instancia de aplicación para el inicio de sesión único y debe migrar el trabajo de aprovisionamiento existente para incluir las correcciones más recientes, siga el procedimiento siguiente.If you are already using this application instance for single sign-on, and need to migrate the existing provisioning job to include the latest fixes, follow the procedure below. Este procedimiento describe cómo usar Microsoft Graph API y el explorador de Microsoft Graph API para quitar su antiguo trabajo de aprovisionamiento de la aplicación SCIM existente y crear uno nuevo que muestre el nuevo comportamiento.This procedure describes how to use the Microsoft Graph API and the Microsoft Graph API explorer to remove your old provisioning job from your existing SCIM app, and create a new one that exhibits the new behavior.

Nota

Si la aplicación aún está en desarrollo y no se ha implementado todavía para el inicio de sesión único o el aprovisionamiento de usuarios, la solución más sencilla consiste en eliminar la entrada de la aplicación en la sección Azure Active Directory > Aplicaciones empresariales de Azure Portal y simplemente agregar una nueva entrada para la aplicación mediante la opción Crear aplicación > Fuera de la galería.If your application is still in development and has not yet been deployed for either single sign-on or user provisioning, the easiest solution is to delete the application entry in the Azure Active Directory > Enterprise Applications section of the Azure portal, and simply add a new entry for the application using the Create application > Non-gallery option. Esta es una alternativa mejor a la de ejecutar el siguiente procedimiento.This is an alternative to running the procedure below.

  1. Inicie sesión en Azure Portal en https://portal.azure.com.Sign into the Azure portal at https://portal.azure.com.

  2. En la sección Azure Active Directory > Aplicaciones empresariales de Azure Portal, busque y seleccione la aplicación SCIM existente.In the Azure Active Directory > Enterprise Applications section of the Azure portal, locate and select your existing SCIM application.

  3. En la sección Propiedades de la aplicación SCIM existente, copie el id. de objeto.In the Properties section of your existing SCIM app, copy the Object ID.

  4. En una nueva ventana del explorador web, vaya a https://developer.microsoft.com/graph/graph-explorer e inicie sesión como administrador para el inquilino de Azure AD donde se agrega la aplicación.In a new web browser window, go to https://developer.microsoft.com/graph/graph-explorer and sign in as the administrator for the Azure AD tenant where your app is added.

  5. En el Probador de Graph, ejecute el comando siguiente para buscar el identificador del trabajo de aprovisionamiento.In the Graph Explorer, run the command below to locate the ID of your provisioning job. Reemplace "[object-id]" por el id. de la entidad de servicio (id. de objeto) que se copió en el tercer paso.Replace "[object-id]" with the service principal ID (object ID) copied from the third step.

    GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs

    Obtener trabajosGet Jobs

  6. En los resultados, copie la cadena "ID" completa que comienza con "customappsso" o "scim".In the results, copy the full "ID" string that begins with either "customappsso" or "scim".

  7. Ejecute el comando siguiente para recuperar la configuración de asignación de atributos, de modo que pueda realizar una copia de seguridad.Run the command below to retrieve the attribute-mapping configuration, so you can make a backup. Utilice el mismo [object-id] que antes y reemplace [job-id] con el identificador del trabajo de aprovisionamiento copiado en el paso anterior.Use the same [object-id] as before, and replace [job-id] with the provisioning job ID copied from the last step.

    GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]/schema

    Obtener esquemaGet Schema

  8. Copie la salida JSON desde el último paso y guárdela en un archivo de texto.Copy the JSON output from the last step, and save it to a text file. Este archivo contiene las asignaciones de atributos personalizadas que ha agregado a la aplicación anterior y deben ser aproximadamente unas miles de líneas de JSON.This contains any custom attribute-mappings that you added to your old app, and should be approximately a few thousand lines of JSON.

  9. Ejecute el comando siguiente para eliminar el trabajo de aprovisionamiento:Run the command below to delete the provisioning job:

    DELETE https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]

  10. Ejecute el comando siguiente para crear un nuevo trabajo de aprovisionamiento que tenga las correcciones del servicio más recientes.Run the command below to create a new provisioning job that has the latest service fixes.

POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs { templateId: "scim" }

  1. En los resultados del último paso, copie la cadena "ID" completa que comienza con "scim".In the results of the last step, copy the full "ID" string that begins with "scim". Si lo desea, vuelva a aplicar las asignaciones de atributos anteriores ejecutando el comando siguiente, reemplazando [new-job-id] con el nuevo id. de trabajo que acaba de copiar y escribiendo la salida de JSON desde el paso n.° 7 como el cuerpo de la solicitud.Optionally, re-apply your old attribute-mappings by running the command below, replacing [new-job-id] with the new job ID you just copied, and entering the JSON output from step #7 as the request body.

POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[new-job-id]/schema { <your-schema-json-here> }

  1. Vuelva a la primera ventana de explorador web y seleccione la pestaña Aprovisionamiento de la aplicación.Return to the first web browser window, and select the Provisioning tab for your application.
  2. Compruebe la configuración y, a continuación, inicie el trabajo de aprovisionamiento.Verify your configuration, and then start the provisioning job.

Sí.Yes. Si programó una aplicación con el comportamiento anterior que existía antes de las correcciones y necesita implementar una nueva instancia de ella, siga el procedimiento siguiente.If you had coded an application to the old behavior that existed prior to the fixes, and need to deploy a new instance of it, follow the procedure below. Este procedimiento describe cómo usar Microsoft Graph API y el explorador de Microsoft Graph API para crear un trabajo de aprovisionamiento de SCIM que muestre el nuevo comportamiento.This procedure describes how to use the Microsoft Graph API and the Microsoft Graph API explorer to create a SCIM provisioning job that exhibits the old behavior.

  1. Inicie sesión en Azure Portal en https://portal.azure.com.Sign into the Azure portal at https://portal.azure.com.

  2. En la sección Azure Active Directory > Aplicaciones empresariales > Crear aplicación del portal de Azure, cree una nueva aplicación fuera de la galería.in the Azure Active Directory > Enterprise Applications > Create application section of the Azure portal, create a new Non-gallery application.

  3. En la sección Propiedades de la nueva aplicación personalizada, copie el id. de objeto.In the Properties section of your new custom app, copy the Object ID.

  4. En una nueva ventana del explorador web, vaya a https://developer.microsoft.com/graph/graph-explorer e inicie sesión como administrador para el inquilino de Azure AD donde se agrega la aplicación.In a new web browser window, go to https://developer.microsoft.com/graph/graph-explorer and sign in as the administrator for the Azure AD tenant where your app is added.

  5. En el Probador de Graph, ejecute el comando siguiente para inicializar la configuración de aprovisionamiento de la aplicación.In the Graph Explorer, run the command below to initialize the provisioning configuration for your app. Reemplace "[object-id]" por el id. de la entidad de servicio (id. de objeto) que se copió en el tercer paso.Replace "[object-id]" with the service principal ID (object ID) copied from the third step.

    POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs { templateId: "customappsso" }

  6. Vuelva a la primera ventana de explorador web y seleccione la pestaña Aprovisionamiento de la aplicación.Return to the first web browser window, and select the Provisioning tab for your application.

  7. Complete la configuración del aprovisionamiento de usuarios como lo haría normalmente.Complete the user provisioning configuration as you normally would.

Pasos siguientesNext steps

Más información sobre aprovisionamiento y desaprovisionamiento de usuarios para aplicaciones SaaSLearn more about provisioning and de-provisioning to SaaS applications