Actualizar synchronizationSchema
Espacio de nombres: microsoft.graph
Actualice el esquema de sincronización de 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 de aplicación. 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 un permiso o permisos con privilegios superiores 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
En escenarios delegados con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe ser propietario o miembro del grupo o tener asignado un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.
- Administrador de la aplicación
- Administrador de aplicaciones en la nube
- Administrador de identidades híbridas: para configurar Microsoft Entra Cloud Sync
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 la autenticación y la autorización. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione el objeto synchronizationSchema por el que reemplazar el esquema existente.
Respuesta
Si se ejecuta 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/v1.0/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 de directorio de destino. Si existe, el atributo se actualiza.
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/v1.0/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: Adición de una nueva asignación de atributos a las reglas de sincronización
Solicitud
En el ejemplo siguiente se muestra la solicitud. SynchronizationSchema tiene una relación 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--> timezone. Si la aplicación tiene la zona horaria como atributo de destino en el esquema, el servicio produce 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/v1.0/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