Управление политиками согласия приложения для владельцев групп
Политики согласия приложений — это способ управления разрешениями, которые у приложений есть для доступа к данным в вашей организации. Они используются для управления тем, какие приложения могут предоставить согласие и обеспечить соответствие приложений определенным критериям, прежде чем они смогут получить доступ к данным. Эти политики помогают организациям контролировать свои данные и обеспечивать доступ только доверенными приложениями.
В этой статье вы узнаете, как управлять встроенными и настраиваемыми политиками согласия приложений для управления предоставлением согласия владельца группы.
С помощью Microsoft Graph и Microsoft Graph PowerShell вы можете просматривать политики согласия владельца группы и управлять ими.
Политика согласия владельца группы состоит из нулевых или более наборов условий include и нулевых или более "исключенных" наборов условий. Чтобы событие рассматривалось в политике согласия владельца группы, набор условий "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
Если
ManagePermissionGrantPoliciesForOwnedResource
он возвращаетсяPermissionGrantPoliciesAssigned
, параметр согласия владельца группы может быть авторизован другими способами.Проверьте, область
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
Просмотрите наборы условий include политики:
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.
# 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 Обозреватель с одной из ролей, перечисленных в разделе предварительных требований. Вам также нужно предоставить согласие на Policy.ReadWrite.PermissionGrant
разрешение.
Получение текущего значения политики согласия владельца группы с помощью Microsoft Graph
Узнайте, как проверить, авторизован ли параметр согласия владельца группы другими способами.
Получение текущего значения политики
GET /policies/authorizationPolicy
Если
ManagePermissionGrantPoliciesForOwnedResource
появится, параметр согласия владельца группы может быть авторизован другими способами.Проверьте, область ли политика
group
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }
Если
resourceScopeType
==group
параметр согласия владельца группы был авторизован другими способами. Кроме того, если была назначенаmicrosoft-pre-approval-apps-for-group
политика согласия приложения для групп, это означает, что предварительная функция включена для вашего клиента.
Вывод списка существующих политик согласия владельца группы с помощью Microsoft Graph
Рекомендуется начать знакомство с существующими политиками согласия владельца группы в вашей организации:
Список всех политик согласия для приложений:
GET /policies/permissionGrantPolicies
Просмотрите наборы условий include политики:
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" }
Добавьте наборы условий include.
Включение делегированных разрешений, классифицированных "низким" для приложений от проверенных издателей
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
Предупреждение
Удаленные политики согласия владельца группы не могут быть восстановлены. При случайном удалении настраиваемой политики согласия владельца группы потребуется повторно создать политику.
Поддерживаемые условия
В следующей таблице приведен список поддерживаемых условий для политик согласия владельца группы.
Условие | Description |
---|---|
PermissionClassification | Классификация разрешений для предоставления разрешения или "все" для сопоставления с любой классификацией разрешений (включая разрешения, которые не классифицируются). Значение по умолчанию — "все". |
PermissionType | Тип предоставляемого разрешения. Используйте "application" для разрешений приложения (например, ролей приложений) или "делегированных" для делегированных разрешений. Примечание. Значение "delegatedUserConsentable" указывает делегированные разрешения, которые не были настроены издателем API для требования согласия администратора. Это значение можно использовать в встроенных политиках предоставления разрешений, но не может использоваться в пользовательских политиках предоставления разрешений. Обязательный. |
ResourceApplication | AppId приложения ресурсов (например, API), для которого предоставляется разрешение, или "любой" для сопоставления с любым приложением ресурсов или API. Значение по умолчанию — "любой". |
Разрешения | Список идентификаторов разрешений для конкретных разрешений для сопоставления или список с единственным значением "все" для сопоставления с любым разрешением. По умолчанию используется единственное значение "все". — Идентификаторы делегированных разрешений можно найти в свойстве OAuth2Permissions объекта ServicePrincipal API. — Идентификаторы разрешений приложения можно найти в свойстве AppRoles объекта ServicePrincipal API. |
ClientApplicationIds | Список значений идентификатора приложения для клиентских приложений, которые необходимо сопоставить или список с единственным значением "все" для сопоставления с любым клиентским приложением. По умолчанию используется единственное значение "все". |
ClientApplicationTenantIds | Список идентификаторов клиента Microsoft Entra, в которых зарегистрировано клиентское приложение, или список с одним значением "все" для сопоставления с клиентскими приложениями, зарегистрированными в любом клиенте. По умолчанию используется единственное значение "все". |
ClientApplicationPublisherIds | Список идентификаторов Microsoft Partner Network (MPN) для проверенных издателей клиентского приложения или список с единственным значением "все" для сопоставления с клиентскими приложениями от любого издателя. По умолчанию используется единственное значение "все". |
ClientApplicationsFromVerifiedPublisherOnly | Установите этот параметр только для клиентских приложений с проверенными издателями. Отключите этот параметр (-ClientApplicationsFromVerifiedPublisherOnly:$false ) для сопоставления в любом клиентском приложении, даже если у него нет проверенного издателя. По умолчанию — $false . |
Предупреждение
Удаленные политики согласия владельца группы не могут быть восстановлены. При случайном удалении настраиваемой политики согласия владельца группы потребуется повторно создать политику.
Получение справки или ответов на вопросы: