外部グループを使用して Microsoft Graph コネクタ データ ソースへのアクセス許可を管理する
外部グループを使用すると、Microsoft Graph 接続内の外部アイテムを表示し、Microsoft Entra グループ外のデータ ソースに接続するためのアクセス許可を管理できます。
Microsoft Entraユーザーとグループに依存するデータ ソースの場合は、外部アイテムを作成または更新するときに、アクセス制御リスト (ACL) をMicrosoft Entraユーザーとグループ ID に関連付けることによって、外部アイテムに対するアクセス許可を設定します。
ただし、Salesforce プロファイル、Dynamics Business Units、SharePoint グループ、ServiceNow ローカル グループ、Confluence ローカル グループなど、Microsoft Entra ID以外のグループまたはグループに似たコンストラクトを使用するデータ ソースの場合は、外部グループを使用することをお勧めします。
一般的な外部グループ シナリオ
一般的なMicrosoft Entra ID以外のアプリケーション固有のグループの例を次に示します。
Microsoft Dynamics 365を使用すると、お客様はビジネス ユニットとチームを使用して CRM を構造化できます。 これらの部署とチームのメンバーシップ情報は、Microsoft Entra IDに格納されません。
次の図は、部署とチームの構造を示しています。
Salesforce では、承認にプロファイル、ロール、アクセス許可セットが使用されます。 これらは Salesforce に固有であり、メンバーシップ情報はMicrosoft Entra IDでは使用できません。
次の図は、Salesforce のメンバーシップ情報の構造を示しています。
接続で外部グループを使用する
接続で外部グループを使用するには、次の手順に従います。
- Microsoft Entra ID以外のグループごとに、グループ API を使用して、Microsoft Graph で外部グループを作成します。
- 必要に応じて外部項目の ACL を定義するときは、外部グループを使用します。
- 外部グループのメンバーシップを最新の状態に保ち、同期します。
外部グループを作成する
外部グループは接続に属します。 接続に外部グループを作成するには、次の手順に従います。
Microsoft Graph の グループ API を使用します。 次の例は、外部グループを作成する方法を示しています。
注:
displayName と description は省略可能なフィールドです。
POST /external/connections/{connectionId}/groups { "id": "contosoEscalations", "displayName": "Contoso Escalations", "description": "Tier-1 escalations within Contoso" }
ID フィールドに識別子または名前を指定します。 この値を使用して、後続の要求で外部グループを呼び出します。
注:
[ID] フィールドを使用すると、URL とファイル名セーフな Base64 文字セットを使用できます。 128 文字の制限があります。
外部グループには、次の 1 つ以上を含めることができます。
- Microsoft Entra ユーザー。
- Microsoft Entra グループ。
- 入れ子になった外部グループを含む別の外部グループ。
グループを作成したら、そのグループにメンバーを追加できます。 次の例では、外部グループにメンバーを追加する方法を示します。
POST https://graph.microsoft.com/beta/external/connections/{connectionId}/groups/{groupId}/members { "id": "contosoSupport", "type": "group", "identitySource": "external" }
POST https://graph.microsoft.com/beta/external/connections/{connectionId}/groups/{groupId}/members { "id": "25f143de-be82-4afb-8a57-e032b9315752", "type": "user", "identitySource": "azureActiveDirectory" }
POST https://graph.microsoft.com/beta/external/connections/{connectionId}/groups/{groupId}/members { "id": "99a3b3d6-71ee-4d21-b08b-4b6f22e3ae4b", "type": "group", "identitySource": "azureActiveDirectory" }
ACL で外部グループを使用する
次の例に示すように、外部項目の ACL を 定義するときに外部グループを使用できます。 Microsoft Entraユーザーとグループに加えて、外部アイテムにはアクセス制御エントリに外部グループを含めることができます。
PUT https://graph.microsoft.com/beta/external/connections/{id}/items/{id}
Content-type: application/json
{
"@odata.type": "microsoft.graph.externalItem",
"acl": [
{
"type": "group",
"value": "contosEscalations",
"accessType": "grant",
"identitySource": "External"
},
{
"type": "user",
"value": "87e9089a-08d5-4d9e-9524-b7bd6be580d5",
"accessType": "grant",
"identitySource": "azureActiveDirectory"
},
{
"type": "group",
"value": "96fbeb4f-f71c-4405-9f0b-1d6988eda2d2",
"accessType": "deny",
"identitySource": "azureActiveDirectory"
}
],
"properties": {
"title": "Error in the payment gateway",
"priority": 1,
"assignee": "john@contoso.com"
},
"content": {
"value": "<h1>Error in payment gateway</h1><p>Error details...</p>",
"type": "html"
}
}
注:
ACL では、グループが作成される前でも外部グループを使用できます。
外部グループ メンバーシップの同期を維持する
Microsoft Graph では、外部グループのメンバーシップを最新の状態に保ちます。 カスタム グループでメンバーシップが変更された場合は、ニーズに合った一度に変更が外部グループに反映されていることを確認します。
外部グループとメンバーシップを管理する
groups API を使用して、外部グループとグループ メンバーシップを管理できます。 詳細については、「 externalGroup 」と「 externalGroupMember」を参照してください。
注:
ユーザーは、直接メンバーシップと間接メンバーシップを含め、2,049 未満の外部セキュリティ グループ メンバーシップを持つ必要があります。 この制限を超えると、検索結果が予測不能になります。 10,000 を超える外部セキュリティ グループを持つユーザーからのクエリは、 400
応答で失敗します。