同期の更新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 |
重要
職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーは、グループの所有者またはメンバーであるか、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールが割り当てられている必要があります。 この操作では、次の最小特権ロールがサポートされています。
- アプリケーション管理者
- クラウド アプリケーション管理者
- ハイブリッド ID 管理者 - クラウド同期Microsoft Entra構成する
HTTP 要求
PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
PUT /applications/{id}/synchronization/templates/{templateId}/schema
要求ヘッダー
名前 | 型 | 説明 |
---|---|---|
Authorization | string | ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。 |
要求本文
要求本文で、既存のスキーマを に置き換える synchronizationSchema オブジェクトを指定します。
応答
成功した場合は、 204 No Content
応答コードを返します。 応答本文では何も返されません。
例
例 1: スキーマを更新する
要求
次の例は要求を示しています。
手記: ここで示す要求オブジェクトは、読みやすくするために短縮されています。 実際の呼び出しですべてのプロパティを指定します。
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: ターゲット システム スキーマに属性 "CustomAttribute" を追加する
要求
次の例は要求を示しています。 "CustomAttribute" 属性がターゲット ディレクトリ スキーマに存在しないことを前提としています。 存在する場合は、属性が更新されます。
手記: ここで示す要求オブジェクトは、読みやすくするために短縮されています。 実際の呼び出しですべてのプロパティを指定します。
PUT https://graph.microsoft.com/beta/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":[]
}
]
}
]
}
]
}
応答
次の例は応答を示しています。
HTTP/1.1 204 No Content
例 3: 同期規則に新しい属性マッピングを追加する
要求
次の例は要求を示しています。 synchornizationSchema には、 targetAttributeName と ソース 属性の間に 1 対多のリレーションシップがあります。 スキーマにターゲット属性として "タイムゾーン" がない場合、サービスは extensionAttribute11 --> タイムゾーンの新しいマッピングを追加します。 アプリケーションがスキーマのターゲット属性としてタイムゾーンを持っている場合、属性をターゲットとしてマップできるのは 1 回だけであるため、サービスはエラーをスローします。 さらに、マッピングに追加する前に、属性がスキーマに存在している必要があります。
手記: ここで示す要求オブジェクトは、読みやすくするために短縮されています。 実際の呼び出しですべてのプロパティを指定します。
PUT https://graph.microsoft.com/beta/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"
}
]
}
応答
次の例は応答を示しています。
HTTP/1.1 204 No Content