appRoleAssignment を取得する
名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
appRoleAssignment オブジェクトのプロパティとリレーションシップを読み取ります。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス | 米国政府機関 L4 | 米国政府機関 L5 (DOD) | 21Vianet が運営する中国 |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
アクセス許可
次の表は、サポートされている各リソースの種類でこの API を呼び出すために必要な最小特権のアクセス許可またはアクセス許可を示しています。 ベスト プラクティスに従って、最小限の特権のアクセス許可を要求します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
サポートされているリソース | 委任 (職場または学校のアカウント) | 委任 (個人用 Microsoft アカウント) | アプリケーション |
---|---|---|---|
グループ | Group.Read.All | サポートされていません。 | Group.Read.All |
servicePrincipal | Application.Read.All | サポートされていません。 | Application.Read.All |
ユーザー | User.Read | サポートされていません。 | Directory.Read.All |
重要
職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 この操作では、次の最小特権ロールがサポートされています。
- ゲスト招待者 - ユーザーのみのアプリ ロールの割り当てを読み取ります
- ディレクトリ リーダー
- ディレクトリ同期アカウント - Microsoft Entra接続とクラウド同期サービスのMicrosoft Entra
- ディレクトリ ライター
- ハイブリッド ID 管理者
- ID ガバナンス管理者
- 特権ロール管理者
- ユーザー管理者
- アプリケーション管理者
- クラウド アプリケーション管理者
その他のサポートされているアクセス許可
各リソースでは、次の高い特権アクセス許可がサポートされています。
- グループ:
- 委任されたアクセス許可とアプリケーションのアクセス許可: Directory.Read.All、AppRoleAssignment.ReadWrite.All、Directory.ReadWrite.All
- ユーザー:
- 委任されたアクセス許可: User.ReadBasic.All、Directory.Read.All、AppRoleAssignment.ReadWrite.All
- アプリケーションのアクセス許可: Directory.Read.All、AppRoleAssignment.ReadWrite.All
- サービス プリンシパル:
- 委任されたアクセス許可: Directory.Read.All、Application.ReadWrite.All、Directory.ReadWrite.All
- アプリケーションのアクセス許可: Application.ReadWrite.OwnedBy、Application.ReadWrite.All、Directory.ReadWrite.All
HTTP 要求
サービス プリンシパルに付与された appRole の詳細を取得するには:
GET /servicePrincipals/{client-serviceprincipal-id}/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals(appId='{client-servicePrincipal-appId}')/appRoleAssignments/{appRoleAssignment-id}
指定されたリソース サービス プリンシパルのユーザー、グループ、またはクライアント サービス プリンシパルに付与された appRole の詳細を取得するには、
GET /servicePrincipals(appId='{resource-servicePrincipal-appId}')/appRoleAssignedTo/{appRoleAssignment-id}
GET /servicePrincipals/{resource-serviceprincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
グループに付与された appRole の詳細を取得するには:
GET /groups/{group-id}/appRoleAssignments/{appRoleAssignment-id}
ユーザーに付与された appRole の詳細を取得するには:
GET /users/{user-id}/appRoleAssignments/{appRoleAssignment-id}
GET /me/appRoleAssignments/{appRoleAssignment-id}
オプションのクエリ パラメーター
このメソッドは、応答のカスタマイズに役立つ $select
OData クエリ パラメーターをサポートします。 一般的な情報については、「OData クエリ パラメーター」を参照してください。
要求ヘッダー
名前 | 説明 |
---|---|
Authorization | ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。 |
要求本文
このメソッドには、要求本文を指定しません。
応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文で appRoleAssignment オブジェクトを返します。
例
例 1: 指定されたリソース サービス プリンシパルのユーザー、グループ、またはクライアント サービス プリンシパルに付与されたアプリ ロールの詳細を取得する
要求
次の要求は、リソース サービス プリンシパルに対してクエリを実行して、テナント内のユーザー、グループ、またはクライアント サービス プリンシパルであるクライアントに付与されたアプリ ロールの詳細を取得します。
GET https://graph.microsoft.com/beta/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/appRoleAssignedTo/ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA
応答
次の例は応答を示しています。 Postman という名前のクライアント サービス プリンシパルに、Microsoft Graph という名前のリソース サービス プリンシパルに対して、User.Read.All アプリケーションのアクセス許可である ID df021288-bdef-4463-88db-98f22de89214 のアプリ ロールが付与されていることを示します。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals('00000003-0000-0000-c000-000000000000')/appRoleAssignedTo/$entity",
"id": "ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA",
"deletedDateTime": null,
"appRoleId": "df021288-bdef-4463-88db-98f22de89214",
"createdDateTime": "2023-02-24T17:01:47.0988029Z",
"principalDisplayName": "Postman",
"principalId": "2a8f9e7a-af01-413a-9592-c32ec0e5c1a7",
"principalType": "ServicePrincipal",
"resourceDisplayName": "Microsoft Graph",
"resourceId": "7408235b-7540-4850-82fe-a5f15ed019e2"
}
例 2: サービス プリンシパルに付与されたアプリ ロールの詳細を取得する
要求
次の要求は、クライアント サービス プリンシパルに対してクエリを実行して、付与されたアプリ ロールの詳細を取得します。 このインスタンスでは、アプリ ロールはアプリケーションのアクセス許可を表します。
GET https://graph.microsoft.com/beta/servicePrincipals(appId='ceb96a54-de95-49a0-b38c-c55263fcf421')/appRoleAssignments/ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA
応答
次の例は応答を示しています。 Postman という名前のクライアント サービス プリンシパルに、Microsoft Graph という名前のリソース サービス プリンシパルに対して、User.Read.All アプリケーションのアクセス許可である ID df021288-bdef-4463-88db-98f22de89214 のアプリ ロールが付与されていることを示します。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals('ceb96a54-de95-49a0-b38c-c55263fcf421')/appRoleAssignments/$entity",
"id": "ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA",
"deletedDateTime": null,
"appRoleId": "df021288-bdef-4463-88db-98f22de89214",
"createdDateTime": "2023-02-24T17:01:47.0988029Z",
"principalDisplayName": "Postman",
"principalId": "2a8f9e7a-af01-413a-9592-c32ec0e5c1a7",
"principalType": "ServicePrincipal",
"resourceDisplayName": "Microsoft Graph",
"resourceId": "7408235b-7540-4850-82fe-a5f15ed019e2"
}
例 3: サインインしているユーザーに付与されたアプリ ロールの詳細を取得する
要求
次の要求は、サインインしているユーザーの appRoleAssignments に対してクエリを実行します。
GET https://graph.microsoft.com/beta/me/appRoleAssignments/Lo6gEKI-4EyAy9X91LBepo6Aq0Rt6QxBjWRl76txk8I
応答
次の例は応答を示しています。 サインインしているユーザーが 、Postman という名前のリソース サービス プリンシパルの既定のアプリ ロールを持っている場合を示します。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('10a08e2e-3ea2-4ce0-80cb-d5fdd4b05ea6')/appRoleAssignments/$entity",
"id": "Lo6gEKI-4EyAy9X91LBepo6Aq0Rt6QxBjWRl76txk8I",
"deletedDateTime": null,
"appRoleId": "00000000-0000-0000-0000-000000000000",
"createdDateTime": "2022-09-08T17:43:57.8423817Z",
"principalDisplayName": "MOD Administrator",
"principalId": "10a08e2e-3ea2-4ce0-80cb-d5fdd4b05ea6",
"principalType": "User",
"resourceDisplayName": "Postman",
"resourceId": "2a8f9e7a-af01-413a-9592-c32ec0e5c1a7"
}