Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Actualice synchronizationSchema para un trabajo o plantilla determinados. Este método reemplaza completamente el esquema actual por el proporcionado en la solicitud. Para actualizar el esquema de una plantilla, realice la llamada en el objeto application. Debe ser el propietario de la aplicación.
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
|---|---|---|
| Delegado (cuenta profesional o educativa) | Synchronization.ReadWrite.All | CustomSecAttributeProvisioning.ReadWrite.All |
| Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
| Aplicación | Application.ReadWrite.OwnedBy | CustomSecAttributeProvisioning.ReadWrite.All, Synchronization.ReadWrite.All |
Importante
Para el acceso delegado con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe ser propietario o miembro del grupo o tener asignado un rol compatible de Microsoft Entra o un rol personalizado que conceda los permisos necesarios para esta operación. Esta operación admite los siguientes roles integrados, que proporcionan solo el privilegio mínimo necesario:
- Administrador de la aplicación
- Administrador de aplicaciones en la nube
- Administrador de identidades híbridas: para configurar la sincronización en la nube de Microsoft Entra
Solicitud HTTP
PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
PUT /applications/{id}/synchronization/templates/{templateId}/schema
Encabezados de solicitud
| Nombre | Tipo | Descripción |
|---|---|---|
| Authorization | string | {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione el objeto synchronizationSchema para reemplazar el esquema existente.
Respuesta
Si se realiza correctamente, devuelve un código de 204 No Content respuesta. No devuelve nada en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Actualizar esquema
Solicitud
En el ejemplo siguiente se muestra la solicitud.
Nota: El objeto de solicitud que se muestra aquí se abrevia para mejorar la legibilidad. Proporcione todas las propiedades en una llamada real.
PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json
{
"directories": [
{
"name": "Azure Active Directory",
"objects": [
{
"name": "User",
"attributes": [
{
"name": "userPrincipalName",
"type": "string"
}
]
},
]
},
{
"name": "Salesforce",
}
],
"synchronizationRules":[
{
"name": "USER_TO_USER",
"sourceDirectoryName": "Azure Active Directory",
"targetDirectoryName": "Salesforce",
"objectMappings": [
{
"sourceObjectName": "User",
"targetObjectName": "User",
"attributeMappings": [
{
"source": {},
"targetAttributeName": "userName"
}
]
}
]
}
]
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content
Ejemplo 2: Agregar el atributo "CustomAttribute" al esquema del sistema de destino
Solicitud
En el ejemplo siguiente se muestra la solicitud. Se supone que el atributo "CustomAttribute" no existe en el esquema del directorio de destino. Si existe, se actualiza el atributo.
Nota: El objeto de solicitud que se muestra aquí se abrevia para mejorar la legibilidad. Proporcione todas las propiedades en una llamada real.
PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json
{
"directories":[
{
"id":"09760868-cafb-47ac-9031-0a3262300427",
"name":"customappsso",
"objects":[
{
"name":"User",
"attributes":[
{
"anchor":false,
"caseExact":false,
"defaultValue":null,
"flowNullValues":false,
"multivalued":false,
"mutability":"ReadWrite",
"name":"urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User:CustomAttribute",
"required":false,
"type":"String",
"apiExpressions":[],
"metadata":[],
"referencedObjects":[]
}
]
}
]
}
]
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content
Ejemplo 3: Agregar una nueva asignación de atributos a las reglas de sincronización
Solicitud
En el ejemplo siguiente se muestra la solicitud. El synchornizationSchema tiene una relación de uno a varios entre targetAttributeName y los atributos de origen . Si el esquema no tiene "zona horaria" como atributo de destino, el servicio agrega una nueva asignación para extensionAttribute11 --> zona horaria. Si su aplicación tiene la zona horaria como atributo de destino en el esquema, el servicio genera un error porque un atributo solo se puede asignar como destino una vez. Además, el atributo debe existir en el esquema para poder agregarlo a las asignaciones.
Nota: El objeto de solicitud que se muestra aquí se abrevia para mejorar la legibilidad. Proporcione todas las propiedades en una llamada real.
PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json
{
"@odata.type":"#microsoft.graph.synchronizationSchema",
"synchronizationRules":[
{
"defaultValue":"",
"exportMissingReferences":false,
"flowBehavior":"FlowWhenChanged",
"flowType":"Always",
"matchingPriority":0,
"source":{
"expression":"[extensionAttribute11]",
"name":"extensionAttribute11",
"parameters":[],
"type":"Attribute"
},
"targetAttributeName":"timezone"
}
]
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content