Поделиться через


Получение объекта 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"
}