推移的RoleAssignmentを一覧表示する

名前空間: microsoft.graph

重要

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

特定のプリンシパルの直接および推移的な unifiedRoleAssignment オブジェクトの一覧を取得します。 たとえば、ユーザーにグループ メンバーシップを通じて Microsoft Entra ロールが割り当てられている場合、ロールの割り当ては推移的であり、この要求によってグループの ID が principalId として一覧表示されます。 結果は、 roleDefinitionIddirectoryScopeId でフィルター処理することもできます。 ディレクトリ (Microsoft Entra ID) プロバイダーでのみサポートされます。

詳細については、「Microsoft Entra グループを使用してロールの割り当てを管理する」を参照してください。

注:

この要求では、最近作成、更新、または削除されたロールの割り当てに対してレプリケーションの遅延が発生する可能性があります。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

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

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

職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされている Microsoft Entra ロール または次のいずれかのロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。

  • microsoft.directory/roleAssignments/standard/read (最小特権)
  • microsoft.directory/roleAssignments/allProperties/read
  • microsoft.directory/roleAssignments/allProperties/allTasks

この操作でサポートされる最小特権ロールは、最小から最も特権の順に次のとおりです。

  • ディレクトリ リーダー
  • グローバル閲覧者
  • 特権ロール管理者

HTTP 要求

ディレクトリ プロバイダーの推移的なロールの割り当てを一覧表示するには:

GET /roleManagement/directory/transitiveRoleAssignments?$filter=principalId eq '{principalId}'

クエリ パラメーター

このメソッドでは、推移的なロールの割り当てをプリンシパルにスコープを設定するには、 $filter (eq) OData クエリ パラメーターが必要です。 フィルターを他のサポートされているプロパティに展開することで、要求のスコープを絞り込むことができます。 このメソッドは、応答のカスタマイズに役立つ OData クエリ パラメーターの $count$select もサポートします。 一般的な情報については、「OData クエリ パラメーター」を参照してください。

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
ConsistencyLevel 最終的。 このヘッダー、 $count、および $filter が必要です。 ConsistencyLevel$count$filterの使用の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

要求本文

このメソッドには、要求本文を指定しません。

応答

成功した場合、このメソッドは 200 OK 応答コードと、応答本文の unifiedRoleAssignment オブジェクトのコレクションを返します。

要求に eventual に設定された ConsistencyLevel ヘッダーが含まれていない場合、このメソッドは応答コード404 Not Found返します。

このセクションの例では、次のロールの割り当てシナリオを検討してください。 Alice という名前のユーザーは、次のように直接ロールと推移的ロールの両方の割り当てを持っています。

User グループ 役割 範囲 ロールの割り当て ID
アリス
2c7936bc-3517-40f3-8eda-4806637b6516
ユーザー管理者
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA1
857708a7-b5e0-44f9-bfd7-53531d72a739
G1
ae2fc327-4c71-48ed-b6ca-f48632186510
(Alice はメンバーです)
ユーザー管理者
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA2
8a021d5f-7351-4713-aab4-b088504d476e
G2
6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8
(Alice はメンバーです)
ヘルプデスク管理者
729827e3-9c14-49f7-bb1b-9608f156bbb8
管理単位 (AU1)
26e79164-0c5c-4281-8c5b-be7bc7809fb2
RA3
6cc86637-13c8-473f-afdc-e0e65c9734d2
  • Alice には、ロールの割り当て RA1 を使用して、テナント スコープでユーザー管理者ロールが直接割り当てられます。
  • Alice はグループ G1 のメンバーであり、G1 には、ロールの割り当て RA2 を持つテナント スコープでユーザー管理者ロールが割り当てられます。
  • Alice はグループ G2 のメンバーでもあり、G2 にはロールの割り当て RA3 を持つ管理単位 AU1 スコープでヘルプデスク管理者ロールが割り当てられます。

例 1: プリンシパルの直接および推移的なロールの割り当てを取得する

要求

次の例は要求を示しています。 この要求には、 ConsistencyLevel ヘッダーを eventual に設定し、 $count=true とクエリ パラメーターを $filter する必要があります。 ConsistencyLevel$count$filterの使用の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516'
ConsistencyLevel: eventual

応答

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

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 実際の呼び出しではすべてのプロパティが返されます。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "ae2fc327-4c71-48ed-b6ca-f48632186510",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}

例 2: プリンシパルの直接的な割り当てと推移的な割り当てを取得するが、特定のロール定義のみを取得する

要求

次の例は要求を示しています。 この要求には、 ConsistencyLevel ヘッダーを eventual に設定し、 $count=true とクエリ パラメーターを $filter する必要があります。 ConsistencyLevel$count$filterの使用の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'
ConsistencyLevel: eventual

応答

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

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 実際の呼び出しではすべてのプロパティが返されます。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        }
    ]
}

例 3: プリンシパルの直接的および推移的なロールの割り当てを取得するが、スコープが設定された管理単位のみを取得する

要求

次の例は要求を示しています。 この要求には、 ConsistencyLevel ヘッダーを eventual に設定し、 $count=true とクエリ パラメーターを $filter する必要があります。 ConsistencyLevel$count$filterの使用の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and directoryScopeId eq '/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2'
ConsistencyLevel: eventual

応答

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

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 実際の呼び出しではすべてのプロパティが返されます。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}