Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Настройте наследуемые разрешения для схемы удостоверения агента для предварительной проверки подлинности базового набора делегированных областей и ролей приложения. Удостоверения агента, созданные на основе шаблона, автоматически наследуют эти разрешения без запросов на интерактивное согласие.
Концептуальный обзор того, как наследуемые разрешения связаны с необходимым доступом к ресурсам и прямым предоставлением разрешений, см. в разделе "Наследуемые разрешения" и необходимый доступ к ресурсам.
Необходимые условия
- Существующая схема идентификации агента уже создана и настроена
- Любое из следующих разрешений:
- Роль разработчика идентификатора агента для работы с шаблонами удостоверений агента, принадлежащими пользователю
- Роль администратора идентификатора агента для управления схемами удостоверений агента
Как работают наследуемые разрешения
Во время выдачи токена для удостоверения агента платформа объединяет допустимые наследуемые области с запрошенными делегированными областями агента. Унаследованные области появляются в утверждении scp маркера доступа, а унаследованные роли появляются в утверждении roles. Дополнительные сведения об условиях наследования и отношениях между объявлениями, грантами и эффективными разрешениями см. в разделе "Наследуемые разрешения" и необходимый доступ к ресурсам.
Схемы наследования
В этой статье описываются шаблоны наследования на концептуальном уровне. В следующей таблице показаны определенные kind значения, используемые в API при настройке наследования для каждого приложения ресурсов:
| Наследство | Kind | Описание |
|---|---|---|
| Все разрешено | allAllowed |
Наследуйте все доступные делегированные области или роли приложения для указанного приложения ресурсов. Новые предоставленные полномочия или роли для субъекта плана идентификации агента автоматически включаются. |
| None | none |
Не наследуйте области или роли для указанного ресурса приложения. Используйте это, чтобы явно отключить наследование для областей (noScopes) или ролей (noRoles) независимо. |
Области и роли можно настроить независимо в одном ресурсе. Например, можно наследовать все области, не наследуя роли, или наоборот.
Ограничения наследуемых разрешений
- Не более 10 ресурсных приложений на базовый шаблон удостоверений агента (например, до 10 записей в коллекции наследуемых разрешений). Если вы превысите этот лимит, уменьшите количество приложений ресурсов, чтобы оставаться в пределах допустимого.
- Применяется список блокировок областей с высоким уровнем привилегий . Некоторые чувствительные области не могут наследоваться в соответствии с политикой платформы для идентификаций агентов. Он соответствует более широкому ограничению на предоставление высоко привилегированных Microsoft Graph областей агентам. Если при настройке наследования возникают ошибки политики, удалите заблокированные области из конфигурации.
Регулярно просматривайте и отслеживайте конфигурацию наследуемых разрешений. Переоценьте унаследованные области и роли, чтобы убедиться, что они будут соответствовать вашему варианту использования. Проведение аудита наследуемых областей и ролей, которые используются агентами, и удаление всех неиспользуемых разрешений как из основного объекта идентификации агента, так и из списка наследуемых разрешений для обеспечения безопасности.
Настройка наследуемых разрешений (с помощью Microsoft Graph)
Чтобы настроить наследуемые разрешения, используйте наследуемое свойство навигации Permissions в ресурсе agentIdentityBlueprint приложения. Каждая запись указывает области и конфигурацию наследования ролей для одного приложения ресурсов. Задокументируйте решения конфигурации, отслеживая, почему каждая область или роль наследуется и кто одобрил ее для целей аудита.
При указании resourceAppId в запросах убедитесь, что укажите допустимый формат GUID. Недопустимые GUID приводят к ошибкам 400 Bad Request.
Добавить все области и наследование ролей для Microsoft Graph
запрос
POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "#microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "#microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Ответ
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Добавление всех областей и ролей с возможностью наследования для нескольких ресурсов
Вы можете настроить наследуемые разрешения для нескольких приложений ресурсов в одной схеме. Для каждого ресурса требуется отдельный запрос POST. Пример ниже демонстрирует добавление наследования как для Microsoft Graph, так и для SharePoint Online.
Request (Microsoft Graph)
POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "#microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "#microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Ответ
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Request (SharePoint Online)
POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0
{
"resourceAppId": "00000003-0000-0ff1-ce00-000000000000",
"inheritableScopes": {
"@odata.type": "#microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "#microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Ответ
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
"resourceAppId": "00000003-0000-0ff1-ce00-000000000000",
"inheritableScopes": {
"@odata.type": "microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Добавление областей только наследование (без ролей)
Чтобы наследовать делегированные области без приложенных ролей, установите inheritableRoles в noRoles.
запрос
POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "#microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "#microsoft.graph.noRoles",
"kind": "none"
}
}
Ответ
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "microsoft.graph.noRoles",
"kind": "none"
}
}
Добавьте только наследование ролей, без областей
Чтобы наследовать роли приложения, но не делегированные области, установите inheritableScopes на noScopes.
запрос
POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "#microsoft.graph.noScopes",
"kind": "none"
},
"inheritableRoles": {
"@odata.type": "#microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Ответ
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "microsoft.graph.noScopes",
"kind": "none"
},
"inheritableRoles": {
"@odata.type": "microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Обновление, чтобы отключить наследование ролей
Если запись уже существует для resourceAppId, используйте PATCH, чтобы обновить ее, а не попытаться создать дубликат записи, что приведет к ошибке конфликта 409. В следующем примере отключается наследование ролей, в то время как наследование сферы остается включенным.
запрос
PATCH https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions/00000003-0000-0000-c000-000000000000
Content-Type: application/json
OData-Version: 4.0
{
"inheritableRoles": {
"@odata.type": "#microsoft.graph.noRoles",
"kind": "none"
}
}
Ответ
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "microsoft.graph.allAllowedScopes",
"kind": "allAllowed"
},
"inheritableRoles": {
"@odata.type": "microsoft.graph.noRoles",
"kind": "none"
}
}
Обновление, чтобы отключить наследование областей
В следующем примере отключается наследование области, но сохраняется наследование ролей.
запрос
PATCH https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions/00000003-0000-0000-c000-000000000000
Content-Type: application/json
OData-Version: 4.0
{
"inheritableScopes": {
"@odata.type": "#microsoft.graph.noScopes",
"kind": "none"
}
}
Ответ
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"inheritableScopes": {
"@odata.type": "microsoft.graph.noScopes",
"kind": "none"
},
"inheritableRoles": {
"@odata.type": "microsoft.graph.allAllowedRoles",
"kind": "allAllowed"
}
}
Удаление существующих наследуемых разрешений
запрос
DELETE https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions/00000003-0000-0000-c000-000000000000
OData-Version: 4.0
Ответ
HTTP/1.1 204 No Content