Extensión del aprovisionamiento controlado por API para sincronizar atributos personalizados
De manera predeterminada, las aplicaciones de aprovisionamiento controladas por API admiten atributos de procesamiento que forman parte de los esquemas de usuario principal SCIM Estándar y de usuario Enterprise. El sistema de registros puede tener atributos personalizados que puede incluir como parte del aprovisionamiento controlado por API. En este tutorial avanzado se describe cómo ampliar la aplicación de aprovisionamiento controlado por API para procesar atributos personalizados adicionales.
Nota:
Antes de probar este escenario avanzado, recomendamos verificar que la configuración de tu aplicación de aprovisionamiento lista para usar funciona como se espera mediante uno de los siguientes clientes API Probador de Graph, cURL.
Escenario de ejemplo
Configuró la aplicación de aprovisionamiento controlada por API. La aplicación de aprovisionamiento consume correctamente los atributos que forman parte de los esquemas de usuario principal SCIM Estándar y de usuario Enterprise; además, aprovisiona usuarios en Microsoft Entra ID. Ahora quiere enviar dos atributos personalizados, HireDate
y JobCode
, desde el sistema de RR. HH. al punto de conexión de la API de aprovisionamiento de entrada. Querrá asignar estos dos atributos personalizados a los atributos employeeHireDate
y jobTitle
de Microsoft Entra.
Paso 1: Ampliar el esquema de la aplicación de aprovisionamiento
En este paso, agregaremos los dos atributos "HireDate" y "JobCode" que no forman parte del esquema SCIM estándar para la aplicación de aprovisionamiento y los usaremos en el flujo de datos de aprovisionamiento.
- Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de aplicaciones.
- Vaya a Aplicaciones de identidad>Aplicaciones>Empresariales.
- Abra la aplicación de aprovisionamiento controlada por API.
- Abra la hoja Aprovisionamiento.
- Haga clic en el botón Editar aprovisionamiento.
- Expanda la sección Asignaciones y haga clic en el vínculo de asignación de atributos.
- Desplácese hacia abajo de la página Asignaciones de atributos. Seleccione Mostrar opciones avanzadas y haga clic en el vínculo Editar la lista de atributos de API.
- Desplácese hacia hasta el final de la página Editar la lista de atributos .
- Agregue los dos atributos siguientes a la lista como extensiones del esquema SCIM. Puede usar su propio espacio de nombres del esquema SCIM.
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
- Guarde los cambios
Nota:
Si solo desea agregar algunos atributos adicionales a la aplicación de aprovisionamiento, utilice el centro de administración de Microsoft Entra para ampliar el esquema. Si quiere agregar más atributos personalizados (supongamos que más de 20 atributos más), se recomienda usar el modo UpdateSchema
del script de PowerShell CSV2SCIM que automatiza el proceso manual anterior.
Paso 2: Asignación de los atributos personalizados
Ahora agregaremos estas extensiones a la asignación de atributos de la aplicación de aprovisionamiento.
Haga clic en el vínculo Agregar nueva asignación en la página Asignación de atributos.
Asigne el atributo
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
aemployeeHireDate
. Haga clic en OK.
A continuación, seleccione la asignación existente de
title
y haga clic en ella para editar la asignación.Edite la asignación de atributos a una expresión que incluya
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
como parte del atributojobTitle
de Microsoft Entra.Join("", [title], "(", [urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode], ")")
Con esta asignación de expresiones, si
title
es “Tour Lead” yJobCode
es “TL-1001”, el atributojobTitle
de Microsoft Entra se establecerá en “Tour Lead (TL-1001)”.Guarde las asignaciones de atributos.
Paso 3: Carga de solicitud masiva con atributos personalizados
- Abre tu cliente de API (Explorador de gráficos / cURL).
- Copie y pegue la solicitud masiva con atributos personalizados.
- Envíe la solicitud masiva a la dirección URL del punto de conexión de la API de aprovisionamiento.
- Transcurrido un tiempo, puede comprobar los registros de aprovisionamiento para verificar el cambio de atributo.
- También puede comprobar el cambio en el perfil de usuario de Microsoft Entra. El valor de
Employee hire date
refleja la zona horaria del inquilino.
Apéndice
Solicitud masiva con atributos personalizados
La solicitud masiva incluye los atributos personalizados que se configuraron en los pasos anteriores.
Cuerpo de la solicitud
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
"Operations": [
{
"method": "POST",
"bulkId": "701984",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User"],
"externalId": "701984",
"userName": "bjensen@example.com",
"name": {
"formatted": "Ms. Barbara J Jensen, III",
"familyName": "Jensen",
"givenName": "Barbara",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Babs Jensen",
"nickName": "Babs",
"emails": [
{
"value": "bjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "234300 Universal City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91608",
"country": "USA",
"formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5555",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Guide",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "89607",
"displayName": "John Smith"
}
},
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
"HireDate": "2021-05-01T00:00:00-05:00",
"JobCode": "TG-1001"
}
}
},
{
"method": "POST",
"bulkId": "701985",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User"],
"externalId": "701985",
"userName": "Kjensen@example.com",
"name": {
"formatted": "Ms. Kathy J Jensen, III",
"familyName": "Jensen",
"givenName": "Kathy",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Kathy Jensen",
"nickName": "Kathy",
"emails": [
{
"value": "kjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "100 Oracle City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91618",
"country": "USA",
"formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5545",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Lead",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "701984",
"displayName": "Barbara Jensen"
}
},
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
"HireDate": "2022-07-15T00:00:00-05:00",
"JobCode": "TL-1003"
}
}
}
],
"failOnErrors": null
}