Aktualisieren von synchronizationSchema

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Aktualisieren Sie das Synchronisierungsschema für einen bestimmten Auftrag oder eine bestimmte Vorlage. Diese Methode ersetzt das aktuelle Schema vollständig durch das in der Anforderung bereitgestellte Schema. Um das Schema einer Vorlage zu aktualisieren, führen Sie den Aufruf für das Anwendungsobjekt aus. Sie müssen der Besitzer der Anwendung sein.

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Synchronization.ReadWrite.All CustomSecAttributeProvisioning.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Application.ReadWrite.OwnedBy CustomSecAttributeProvisioning.ReadWrite.All, Synchronization.ReadWrite.All

Zum Konfigurieren der Anwendungsbereitstellung oder personalgesteuerten Bereitstellung muss dem aufrufenden Benutzer außerdem mindestens die VerzeichnisrolleAnwendungsadministrator oder Cloudanwendungsadministrator zugewiesen werden.

Zum Konfigurieren Microsoft Entra Cloudsynchronisierung muss dem aufrufenden Benutzer außerdem mindestens die Verzeichnisrolle Hybrididentitätsadministrator zugewiesen werden.

HTTP-Anforderung

PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
PUT /applications/{id}/synchronization/templates/{templateId}/schema

Anforderungsheader

Name Typ Beschreibung
Authorization string Bearer {token}. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext das synchronizationSchema-Objekt an, durch das das vorhandene Schema ersetzt werden soll.

Antwort

Bei erfolgreicher Ausführung wird ein 204 No Content Antwortcode zurückgegeben. Es gibt nichts im Antworttext zurück.

Beispiel

Beispiel 1: Aktualisieren der Verzeichnisse und SynchronizationRules eines Synchronisierungsschemas

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content

Beispiel 2: Aktualisieren der Verzeichnisse und SynchronizationRules eines Synchronisierungsschemas und Konfigurieren der Container

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 204 No Content