Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Политики согласия приложений — это способ управления разрешениями, которые у приложений есть для доступа к данным в вашей организации. Они используются для управления тем, на какие приложения пользователи могут дать согласие, и чтобы гарантировать, что приложения соответствуют определённым критериям, прежде чем они смогут получить доступ к данным. Эти политики помогают организациям контролировать свои данные и обеспечивать доступ только доверенными приложениями.
В этой статье вы узнаете, как управлять встроенными и настраиваемыми политиками согласия приложений для управления предоставлением согласия владельца группы.
С помощью Microsoft Graph и Microsoft Graph PowerShell вы можете просматривать политики согласия владельца группы и управлять ими.
Политика согласия владельца группы содержит от нуля и более наборов условий "include" и от нуля и более наборов условий "exclude". Чтобы событие рассматривалось в политике согласия владельца группы, набор условий "include" не должен соответствовать любому набору условий "исключить".
Каждый набор условий состоит из нескольких условий. Чтобы событие соответствовало набору условий, должны быть выполнены все условия в наборе условий.
Политики согласия владельца группы, в которых идентификатор начинается с microsoft-, являются встроенными политиками. Например, политика согласия владельца группы описывает условия, microsoft-pre-approval-apps-for-group при которых владельцы групп могут предоставить согласие приложениям из предварительно созданного списка администратором для доступа к данным для групп, принадлежащих им. Встроенные политики можно использовать в пользовательских ролях каталога и настраивать параметры согласия пользователя, но не могут быть изменены или удалены.
Требования
- Пользователь или служба с одной из следующих ролей:
- Администратор привилегированных ролей
- Настраиваемая роль с необходимыми разрешениями для управления политиками согласия владельца группы
- Роль приложения Microsoft Graph (разрешение приложения) Policy.ReadWrite.PermissionGrant (при подключении в качестве приложения или службы)
Чтобы управлять политиками согласия владельца группы для приложений с помощью Microsoft Graph PowerShell, подключитесь к Microsoft Graph PowerShell и войдите с помощью одной из ролей, перечисленных в разделе предварительных требований. Вам также нужно предоставить согласие на Policy.ReadWrite.PermissionGrant разрешение.
# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta"
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"
Получение текущего значения политики согласия владельца группы с помощью PowerShell
Узнайте, как проверить, авторизован ли параметр согласия владельца группы другими способами.
Получение текущего значения для параметра согласия владельца группы
Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssignedЕсли в
PermissionGrantPoliciesAssignedвозвращаетсяManagePermissionGrantPoliciesForOwnedResource, параметр согласия владельца группы мог быть одобрен другими способами.Проверьте, ограничена ли политика для
group.Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | Select -ExpandProperty AdditionalProperties
Если ResourceScopeType == group, то параметр согласия владельца группы был авторизован другими способами. Кроме того, если была назначена microsoft-pre-approval-apps-for-groupполитика согласия приложения для групп, это означает, что функция предварительного утверждения включена для вашего арендатора.
Вывод списка существующих политик согласия владельца группы с помощью PowerShell
Рекомендуется начать знакомство с существующими политиками согласия владельца группы в вашей организации:
Список всех политик согласия владельца группы:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, DescriptionПросмотрите наборы условий, включенных в политику.
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | flПросмотрите наборы условий "исключить":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
Создание настраиваемой политики согласия владельца группы с помощью PowerShell
Выполните следующие действия, чтобы создать политику согласия владельца настраиваемой группы:
Создайте новую политику согласия владельца группы.
New-MgPolicyPermissionGrantPolicy ` -Id "my-custom-app-consent-policy-for-group" ` -DisplayName "My first custom app consent policy for group" ` -Description "This is a sample custom app consent policy for group." ` -AdditionalProperties @{includeAllPreApprovedApplications = $false; resourceScopeType = "group"}Добавьте наборы условий включения.
# Include delegated permissions classified "low", for apps from verified publishers New-MgPolicyPermissionGrantPolicyInclude ` -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" ` -PermissionType "delegated" ` -PermissionClassification "low" ` -ClientApplicationsFromVerifiedPublisherOnlyПовторите этот шаг для того, чтобы добавить дополнительные наборы условий "include".
При необходимости добавьте наборы условий "исключить".
# Retrieve the service principal for the Azure Management API $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')" # Exclude delegated permissions for the Azure Management API New-MgPolicyPermissionGrantPolicyExclude ` -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" ` -PermissionType "delegated" ` -ResourceApplication $azureApi.AppIdПовторите этот шаг, чтобы добавить дополнительные наборы условий "исключить".
После создания политики согласия приложения для группы можно разрешить владельцам групп предоставить согласие в соответствии с этой политикой.
Удаление настраиваемой политики согласия владельца группы с помощью PowerShell
Ниже показано, как удалить настраиваемую политику согласия владельца группы.
Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group"
Чтобы управлять политиками согласия владельца группы, войдите в Graph Explorer с одной из ролей, перечисленных в разделе предварительных требований. Вам также нужно предоставить согласие на Policy.ReadWrite.PermissionGrant разрешение.
Получение текущего значения политики согласия владельца группы с помощью Microsoft Graph
Узнайте, как проверить, авторизован ли параметр согласия владельца группы другими способами.
Получение текущего значения политики
GET /policies/authorizationPolicyЕсли
ManagePermissionGrantPoliciesForOwnedResourceпоявится, параметр согласия владельца группы может быть авторизован другими способами.Проверьте, ограничена ли политика
groupGET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }Если
resourceScopeType==group, то параметр согласия владельца группы был авторизован другими способами. Кроме того, если была назначенаmicrosoft-pre-approval-apps-for-groupполитика согласия приложения для групп, это означает, что функция предварительного утверждения включена для вашего арендатора.
Вывод списка существующих политик согласия владельца группы с помощью Microsoft Graph
Рекомендуется начать знакомство с существующими политиками согласия владельца группы в вашей организации:
Список всех политик согласия для приложений:
GET /policies/permissionGrantPoliciesПросмотрите наборы условий, включенных в политику.
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includesПросмотрите наборы условий "исключить":
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
Создание настраиваемой политики согласия владельца группы с помощью Microsoft Graph
Выполните следующие действия, чтобы создать политику согласия владельца настраиваемой группы:
Создайте новую политику согласия владельца группы.
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies { "id": "my-custom-app-consent-policy-for-group", "displayName": "My first custom app consent policy for group", "description": "This is a sample custom app consent policy for group", "includeAllPreApprovedApplications": false, "resourceScopeType": "group" }Добавьте наборы условий включения.
Включить делегированные разрешения, классифицированные как "низкие" для приложений от проверенных издателей
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/includes { "permissionType": "delegated", "permissionClassification": "low", "clientApplicationsFromVerifiedPublisherOnly": true }Повторите этот шаг для того, чтобы добавить дополнительные наборы условий "include".
При необходимости добавьте наборы условий "исключить". Исключите делегированные разрешения для API управления Azure (appId 00001111-aaaa-2222-bbbb-3333cccc44444)
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/excludes { "permissionType": "delegated", "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 " }Повторите этот шаг, чтобы добавить дополнительные наборы условий "исключить".
После создания политики согласия владельца группы вы можете разрешить владельцам групп согласие в соответствии с этой политикой.
Удаление настраиваемой политики согласия владельца группы с помощью Microsoft Graph
Ниже показано, как удалить настраиваемую политику согласия владельца группы.
DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
Предупреждение
Удаленные правила согласия владельца группы не могут быть восстановлены. При случайном удалении настраиваемой политики согласия владельца группы потребуется повторно создать политику.
Поддерживаемые условия
В следующей таблице приведен список поддерживаемых условий для политик согласия владельца группы.
| Условие | Описание |
|---|---|
| КлассификацияРазрешений | Классификация разрешений для предоставления разрешения или "все" для сопоставления с любой классификацией разрешений (включая разрешения, которые не классифицируются). Значение по умолчанию — "все". |
| PermissionType (Тип разрешения) | Тип предоставляемого разрешения. Используйте "application" для разрешений типа приложения (например, для ролей приложения) или "delegated" для разрешений типа делегирования. Примечание. Значение "delegatedUserConsentable" указывает делегированные разрешения, которые не были настроены издателем API для требования согласия администратора. Это значение можно использовать в встроенных политиках предоставления разрешений, но не может использоваться в пользовательских политиках предоставления разрешений. Обязательный. |
| ResourceApplication | AppId приложения ресурса (например, API), для которого предоставляется разрешение, или "любой" для соответствия любому приложению ресурса или API. Значение по умолчанию — "любой". |
| Разрешения | Список идентификаторов разрешений для конкретных разрешений для сопоставления или список с единственным значением "все" для сопоставления с любым разрешением. По умолчанию используется единственное значение "все". — Идентификаторы делегированных разрешений можно найти в свойстве OAuth2Permissions объекта ServicePrincipal API. — Идентификаторы разрешений приложения можно найти в свойстве AppRoles объекта ServicePrincipal API. |
| ИдентификаторыКлиентскихПриложений | Список значений идентификатора приложения для клиентских приложений, которые необходимо сопоставить или список с единственным значением "все" для сопоставления с любым клиентским приложением. По умолчанию используется единственное значение "все". |
| ClientApplicationTenantIds (Идентификаторы арендатора клиентского приложения) | Список идентификаторов клиента Microsoft Entra, в которых зарегистрировано клиентское приложение, или список с одним значением "все" для сопоставления с клиентскими приложениями, зарегистрированными в любом клиенте. По умолчанию используется единственное значение "все". |
| ClientApplicationPublisherIds | Список идентификаторов Microsoft Partner Network (MPN) для проверенных издателей клиентского приложения или список с единственным значением "все" для сопоставления с клиентскими приложениями от любого издателя. По умолчанию используется единственное значение "все". |
| Только клиентские приложения от проверенных издателей | Установите этот параметр только для клиентских приложений с проверенными издателями. Отключите этот параметр (-ClientApplicationsFromVerifiedPublisherOnly:$false) для сопоставления в любом клиентском приложении, даже если у него нет проверенного издателя. По умолчанию — $false. |
Предупреждение
Политики согласия, удаленные владельцем группы, не могут быть восстановлены. При случайном удалении настраиваемой политики согласия владельца группы потребуется повторно создать политику.
Получение справки или ответов на вопросы: