Получение объекта appRoleAssignment
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Чтение свойств и связей объекта appRoleAssignment .
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
В следующей таблице показаны наименее привилегированные разрешения или разрешения, необходимые для вызова этого API для каждого поддерживаемого типа ресурсов. Следуйте рекомендациям , чтобы запросить разрешения с наименьшими привилегиями. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Поддерживаемый ресурс | Делегированное (рабочая или учебная учетная запись) | Делегированное (личная учетная запись Майкрософт) | Приложение |
---|---|---|---|
group | Group.Read.All | Не поддерживается. | Group.Read.All |
servicePrincipal | Application.Read.All | Не поддерживается. | Application.Read.All |
user | User.Read | Не поддерживается. | Directory.Read.All |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие наименее привилегированные роли:
- Гостевой приглашающий — чтение назначений ролей приложений только для пользователей
- Читатели каталогов
- Учетные записи синхронизации каталогов — для служб облачной синхронизации Microsoft Entra Connect и Microsoft Entra
- Редактор каталогов
- Администратор гибридных удостоверений
- Администратор управления удостоверениями
- Администратор привилегированных ролей
- Администратор пользователей
- Администратор приложения
- Администратор облачного приложения
Другие поддерживаемые разрешения
Каждый ресурс поддерживает следующие разрешения с более высоким уровнем привилегий:
- Группы:
- Делегированные разрешения и разрешения приложений: 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.
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Текст запроса
Не указывайте текст запроса для этого метода.
Отклик
В случае успеха этот метод возвращает в тексте отклика код отклика 200 OK
и объект appRoleAssignment.
Примеры
Пример 1. Получение сведений о роли приложения, предоставленной пользователю, группе или субъекту-службе клиента для указанного субъекта-службы ресурса
Запрос
Следующий запрос запрашивает субъект-службу ресурсов, чтобы получить сведения о роли приложения, которую он предоставил клиенту, который может быть пользователем, группой или субъектом-службой клиента в клиенте.
GET https://graph.microsoft.com/beta/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/appRoleAssignedTo/ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA
Отклик
Ниже показан пример отклика. В нем показано, что субъекту-службе клиента с именем Postman предоставлена роль приложения с идентификатором df021288-bdef-4463-88db-98f22de89214 , который является разрешением приложения User.Read.All для субъекта-службы ресурсов с именем Microsoft Graph.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
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 предоставлена роль приложения с идентификатором df021288-bdef-4463-88db-98f22de89214 , который является разрешением приложения User.Read.All для субъекта-службы ресурсов с именем Microsoft Graph.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
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"
}