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


Перечисление transitiveRoleAssignment

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Получение списка прямых и транзитивных объектов unifiedRoleAssignment для определенного субъекта. Например, если пользователю назначена роль Microsoft Entra через членство в группе, назначение роли является транзитивным, и в этом запросе будет указан идентификатор группы в качестве principalId. Результаты также можно фильтровать по roleDefinitionId и directoryScopeId. Поддерживается только для поставщика каталога (Microsoft Entra ID).

Дополнительные сведения см. в разделе Использование групп Microsoft Entra для управления назначениями ролей.

Примечание.

Этот запрос может содержать задержки репликации для недавно созданных, обновленных или удаленных назначений ролей.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) RoleManagement.Read.Directory Directory.Read.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.Directory
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение 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 параметр запроса OData (eq) для области назначения транзитивных ролей субъекту. Область запроса можно сузить, разверните фильтр на другие поддерживаемые свойства. Этот метод также поддерживает $count параметры запроса OData и $select для настройки ответа. Общие сведения см. в статье Параметры запроса OData.

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
ConsistencyLevel необязательный. Этот заголовок, $countи $filter являются обязательными. Дополнительные сведения об использовании ConsistencyLevel, $countи $filterсм. в разделе Расширенные возможности запросов к объектам каталога.

Текст запроса

Не указывайте текст запроса для этого метода.

Отклик

В случае успешного 200 OK выполнения этот метод возвращает код отклика и коллекцию объектов unifiedRoleAssignment в теле отклика.

Если в запросе нет заголовка ConsistencyLevel , для параметра задано значение eventual, этот метод возвращает 404 Not Found код ответа.

Примеры

Для примеров в этом разделе рассмотрим следующий сценарий назначения ролей. Пользователю с именем Алиса назначены прямые и транзитивные роли, как показано ниже.

Пользователь Группа Роль Область Идентификатор назначения ролей
Алиса
2c7936bc-3517-40f3-8eda-4806637b6516
Администратор пользователей
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA1
857708a7-b5e0-44f9-bfd7-53531d72a739
G1
ae2fc327-4c71-48ed-b6ca-f48632186510
(Алиса является участником)
Администратор пользователей
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA2
8a021d5f-7351-4713-aab4-b088504d476e
G2
6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8
(Алиса является участником)
Администратор службы поддержки
729827e3-9c14-49f7-bb1b-9608f156bbb8
Административная единица (AU1)
26e79164-0c5c-4281-8c5b-be7bc7809fb2
RA3
6cc86637-13c8-473f-afdc-e0e65c9734d2
  • Алисе назначается роль администратора пользователей непосредственно в области клиента с назначением роли RA1.
  • Алиса является членом группы G1, а G1 назначена роль администратора пользователя в области клиента с назначением роли RA2.
  • Алиса также является членом группы G2, а G2 назначена роль администратора службы поддержки в области административной единицы AU1 с назначением ролей RA3.

Пример 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"
        }
    ]
}