Mettre à jour synchronizationSchema

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

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

Pour configurer l’approvisionnement d’applications ou l’approvisionnement piloté par les ressources humaines, l’utilisateur appelant doit également se voir attribuer au moins le rôled’annuaire Administrateur d’application ou Administrateur d’application cloud.

Pour configurer Microsoft Entra Cloud Sync, l’utilisateur appelant doit également se voir attribuer au moins le rôle d’annuaire Administrateur d’identité hybride.

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.

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.

Exemple

Exemple 1 : Mettre à jour les répertoires et les règles de synchronisation d’un schéma de synchronisation

Demande

L’exemple suivant illustre une demande.

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"
                        },
                    ]
                },
            ]
        },
    ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Exemple 2 : Mettre à jour les répertoires et les règles de synchronisation d’un schéma de synchronisation et configurer les conteneurs

Demande

L’exemple suivant illustre une demande.

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": "Active Directory"
        }
    ],
    "synchronizationRules": [
        {
            "containerFilter": {
                "includedContainers": [
                    "OU=In-Scope OU 1,DC=contoso,DC=com",
                    "OU=In-Scope OU 2,DC=contoso,DC=com",
                ]
            },
            "groupFilter": {
                "includedGroups": []
            },
            "name": "AD2AADProvisioning",
            "sourceDirectoryName": "Active Directory",
            "targetDirectoryName": "Azure Active Directory",
            "objectMappings": [
                {
                    "name": "Provision Active Directory users",
                    "sourceObjectName": "user",
                    "targetObjectName": "User",
                    "attributeMappings": [
                        {
                            "source": {},
                            "targetAttributeName": "DisplayName"
                        }
                    ]
                }
            ]
        }
    ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content