Uso de SCIM y Microsoft Graph juntos para aprovisionar a los usuarios y enriquecer su aplicación con los datos necesarios

Público de destino: Este artículo está dirigido a los desarrolladores que crean aplicaciones integradas con Microsoft Entra ID. Si desea usar aplicaciones ya integradas con Microsoft Entra ID, como Zoom, ServiceNow y DropBox, puede omitir este artículo y revisar los tutoriales específicos de la aplicación o consultar Funcionamiento del aprovisionamiento.

Escenarios comunes

Microsoft Entra ID proporciona un servicio preconfigurado para el aprovisionamiento y una plataforma extensible en la que compilar las aplicaciones. El árbol de decisión describe el modo en que un desarrollador usaría SCIM y Microsoft Graph para automatizar el aprovisionamiento.

  • Creación automática de usuarios en la aplicación
  • Eliminación automática de usuarios de la aplicación cuando no deban ya tener acceso
  • Integración de la aplicación con varios proveedores de identidades para el aprovisionamiento
  • Enriquecimiento de la aplicación con datos de servicios de Microsoft, como Teams, Outlook y Office
  • Creación, actualización y eliminación automáticas de usuarios y grupos en Microsoft Entra ID y Active Directory

SCIM Graph decision tree

Escenario 1: Creación automática de usuarios en la aplicación

Hoy en día, los administradores de TI aprovisionan a los usuarios mediante la creación manual de cuentas de usuario o la carga periódica de archivos CSV en mi aplicación. El proceso es lento para los clientes y ralentiza la adopción de la aplicación. Lo único que hace falta es información básica del usuario, como el nombre, el correo electrónico y el nombre principal de usuario para crearlo.

Recomendación:

  • Si los clientes usan varios proveedores de identidades, y no desea mantener un motor de sincronización para integrarlos con cada uno, admita un punto de conexión /Users compatible con SCIM. Los clientes podrán usar fácilmente este punto de conexión para la integración con el servicio de aprovisionamiento de Microsoft Entra y crear automáticamente cuentas de usuario cuando necesiten tener acceso. Puede compilar el punto de conexión una vez y será compatible con todos los proveedores de identidades. Consulte la solicitud de ejemplo siguiente para ver cómo se crearía un usuario con SCIM.
  • Si necesita datos de usuario que se encuentran en el objeto de usuario en Microsoft Entra ID y otros datos de Microsoft, considere la posibilidad de crear un punto de conexión de SCIM para el aprovisionamiento de usuarios y llamar a Microsoft Graph para obtener el resto de los datos.
POST /Users
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
    "externalId": "0a21f0f2-8d2a-4f8e-bf98-7363c4aed4ef",
    "userName": "BillG",
    "active": true,
    "meta": {
        "resourceType": "User"
    },
    "name": {
        "formatted": "Bill Gates",
        "familyName": "Gates",
        "givenName": "Bill"
    },
    "roles": []
}

Escenario 2: Eliminación automática de usuarios de la aplicación

Los clientes que usan mi aplicación están centrados en la seguridad, y entre sus requisitos de gobernanza, está el de quitar las cuentas cuando los empleados ya no las necesiten. ¿Cómo se puede automatizar el desaprovisionamiento de la aplicación?

Recomendación: admita un punto de conexión /Users compatible con SCIM. El servicio de aprovisionamiento de Microsoft Entra enviará solicitudes para deshabilitar y eliminar el usuario cuando ya no vaya a tener acceso nunca más. Se recomienda la compatibilidad con la deshabilitación y la eliminación de usuarios. Vea los ejemplos siguientes de cómo es una solicitud de deshabilitación y eliminación.

Deshabilitación del usuario

PATCH /Users/5171a35d82074e068ce2 HTTP/1.1
{
    "Operations": [
        {
            "op": "Replace",
            "path": "active",
            "value": false
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ]
}

Eliminación de usuario

DELETE /Users/5171a35d82074e068ce2 HTTP/1.1

Escenario 3: Automatización de la administración de las pertenencias a grupos en la aplicación

Mi aplicación se basa en grupos de acceso a varios recursos, y los clientes quieren volver a usar los grupos que tienen en Microsoft Entra ID. ¿Cómo se pueden importar los grupos desde Microsoft Entra ID y mantenerlos actualizados a medida que cambian las pertenencias?

Recomendación: admita un punto de conexión /Groups compatible con SCIM. El servicio de aprovisionamiento de Microsoft Entra se encargará de crear grupos y administrar las actualizaciones de pertenencia en la aplicación.

Escenario 4: Enriquecimiento de la aplicación con datos de servicios de Microsoft, como Teams, Outlook y OneDrive

Mi aplicación está integrada en Microsoft Teams y depende de datos de mensajes. Además, los archivos de los usuarios se almacenan en OneDrive. ¿Cómo se puede enriquecer la aplicación con los datos de estos servicios y en Microsoft?

Recomendación:Microsoft Graph es el punto de entrada para acceder a los datos de Microsoft. Cada carga de trabajo expone las API con los datos que necesita. Microsoft Graph se puede usar junto con el aprovisionamiento de SCIM en los escenarios anteriores. Puede usar SCIM para aprovisionar atributos de usuario básicos en la aplicación, al tiempo que llama a Graph para obtener cualquier otro dato que necesite.

Escenario 5: Seguimiento de los cambios en servicios de Microsoft, como Teams, Outlook y Microsoft Entra ID

Se necesita poder realizar un seguimiento de los cambios en los mensajes de Teams y Outlook y reaccionar a ellos en tiempo real. ¿Cómo se pueden insertar estos cambios en la aplicación?

Recomendación: Microsoft Graph proporciona notificaciones de cambios y seguimiento de cambios para varios recursos. Tenga en cuenta las siguientes limitaciones de las notificaciones de cambios:

  • Si un receptor de eventos confirma un evento, pero por algún motivo no puede actuar sobre él, el evento podría perderse.
  • No se garantiza que el orden en el que se reciben los cambios sea cronológico.
  • Las notificaciones de cambios no siempre contienen los datos de recursos. Por las razones mencionadas anteriormente, los desarrolladores suelen usar las notificaciones de cambios junto con el seguimiento de cambios en los escenarios de sincronización.

Escenario 6: Aprovisionamiento de usuarios y grupos en Microsoft Entra ID

Mi aplicación crea información sobre un usuario que los clientes necesitan en Microsoft Entra ID. Podría tratarse de una aplicación de RR. HH. que administra las contrataciones, una aplicación de comunicaciones que crea números de teléfono para los usuarios o alguna otra aplicación que genera datos que serían valiosos en Microsoft Entra ID. ¿Cómo se rellena el registro de usuarios en Microsoft Entra ID con los datos?

Recomendación: Microsoft Graph expone los puntos de conexión /Users y /Groups que puede integrar actualmente para aprovisionar a los usuarios en Microsoft Entra ID. Tenga en cuenta que Microsoft Entra ID no admite volver a escribir esos usuarios en Active Directory.

Nota:

Microsoft cuenta con un servicio de aprovisionamiento que extrae datos de las aplicaciones de RR. HH., como Workday y SuccessFactors. Microsoft crea y administra estas integraciones. Para incorporar una nueva aplicación de RR. HH. a nuestro servicio, puede solicitarla en UserVoice.