同期の更新Schema

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

特定のジョブまたはテンプレートの同期スキーマを更新します。 このメソッドは、現在のスキーマを要求で指定されたものに完全に置き換えます。 テンプレートのスキーマを更新するには、アプリケーション オブジェクトで を呼び出します。 アプリケーションの所有者である必要があります。

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) Synchronization.ReadWrite.All CustomSecAttributeProvisioning.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション Application.ReadWrite.OwnedBy CustomSecAttributeProvisioning.ReadWrite.All、Synchronization.ReadWrite.All

アプリケーション プロビジョニングまたは HR ドリブン プロビジョニングを構成するには、呼び出し元のユーザーにも少なくとも アプリケーション管理者 または クラウド アプリケーション管理者ディレクトリ ロールを割り当てる必要があります。

Cloud Sync Microsoft Entra構成するには、呼び出し元のユーザーにも少なくともハイブリッド ID 管理者ディレクトリ ロールを割り当てる必要があります。

HTTP 要求

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

要求ヘッダー

名前 説明
Authorization string ベアラー {token}。 必須です。

要求本文

要求本文で、既存のスキーマを に置き換える synchronizationSchema オブジェクトを指定します。

応答

成功した場合は、応答コードを 204 No Content 返します。 応答本文では何も返されません。

例 1: 同期スキーマのディレクトリと synchronizationRules を更新する

要求

次の例は要求を示しています。

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

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content

例 2: 同期スキーマのディレクトリと synchronizationRules を更新し、コンテナーを構成する

要求

次の例は要求を示しています。

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

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content