Mettre à jour synchronizationSchema
Espace de noms: microsoft.graph
Mettez à jour le schéma de synchronisation pour un travail ou un modèle donné. Cette méthode remplace entièrement le schéma actuel par celui fourni dans la requête. Pour mettre à jour le schéma d’un modèle, effectuez l’appel sur l’objet d’application. Vous devez être le propriétaire de l’application.
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | Synchronization.ReadWrite.All | CustomSecAttributeProvisioning.ReadWrite.All |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | Application.ReadWrite.OwnedBy | CustomSecAttributeProvisioning.ReadWrite.All, Synchronization.ReadWrite.All |
Importante
Dans les scénarios délégués avec des comptes professionnels ou scolaires, l’utilisateur connecté doit être propriétaire ou membre du groupe ou se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec une autorisation de rôle prise en charge. Les rôles les moins privilégiés suivants sont pris en charge pour cette opération.
- Administrateur de l'application
- Administrateur de l'application cloud
- Administrateur d’identité hybride : pour configurer Microsoft Entra Cloud Sync
Requête HTTP
PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
PUT /applications/{id}/synchronization/templates/{templateId}/schema
En-têtes de demande
Nom | Type | Description |
---|---|---|
Autorisation | string | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Corps de la demande
Dans le corps de la demande, fournissez l’objet synchronizationSchema par lequel remplacer le schéma existant.
Réponse
En cas de réussite, retourne un 204 No Content
code de réponse. Il ne retourne rien dans le corps de la réponse.
Exemples
Exemple 1 : Mettre à jour le schéma
Demande
L’exemple suivant illustre une demande.
Note: L’objet de requête présenté ici est raccourci pour plus de lisibilité. Fournissez toutes les propriétés d’un appel réel.
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"
},
]
},
]
},
]
}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 204 No Content
Exemple 2 : ajouter l’attribut « CustomAttribute » au schéma système cible
Demande
L’exemple suivant illustre une demande. Il suppose que l’attribut « CustomAttribute » n’existe pas dans le schéma du répertoire cible. S’il existe, l’attribut est mis à jour.
Note: L’objet de requête présenté ici est raccourci pour plus de lisibilité. Fournissez toutes les propriétés d’un appel réel.
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":[]
}
]
}
]
}
]
}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 204 No Content
Exemple 3 : Ajouter un nouveau mappage d’attribut aux règles de synchronisation
Demande
L’exemple suivant illustre une demande. SynchronizationSchema a une relation un-à-plusieurs entre targetAttributeName et les attributs source . Si votre schéma n’a pas de « fuseau horaire » comme attribut cible, le service ajoute un nouveau mappage pour extensionAttribute11 -> fuseau horaire. Si votre application a un fuseau horaire comme attribut cible dans le schéma, le service génère une erreur, car un attribut ne peut être mappé qu’une seule fois en tant que cible. En outre, l’attribut doit exister dans le schéma avant de pouvoir être ajouté aux mappages.
Note: L’objet de requête présenté ici est raccourci pour plus de lisibilité. Fournissez toutes les propriétés d’un appel réel.
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"
}
]
}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 204 No Content