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


Настройте, как пользователи дают согласие для приложений

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

Прежде чем приложение сможет получить доступ к данным организации, пользователь должен предоставить ему разрешения. Различные разрешения позволяют использовать разные уровни доступа. По умолчанию всем пользователям разрешено предоставлять согласие на разрешения приложений, не требующие согласия администратора. Например, по умолчанию пользователь может предоставить приложению разрешение на доступ к своему почтовому ящику, но не может дать приложению неограниченный доступ на чтение и запись для всех файлов в организации.

Чтобы снизить риск вредоносных приложений, пытающихся обмануть пользователей предоставить им доступ к данным вашей организации, рекомендуется разрешить согласие пользователей только для приложений, опубликованных проверенным издателем.

Примечание.

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

Предварительные условия

Чтобы настроить согласие пользователя, вам потребуется следующее.

Параметры согласия пользователей можно настроить в идентификаторе Microsoft Entra с помощью центра администрирования Microsoft Entra, Microsoft Graph PowerShell или API Microsoft Graph. Параметры, которые вы настраиваете, применяются ко всем пользователям в организации.

Чтобы настроить параметры согласия пользователя в Центре администрирования Microsoft Entra, выполните следующие действия.

  1. Войдите в Центр администрирования Microsoft Entra в качестве администратора привилегированных ролей.

  2. Перейдите к Entra ID>Корпоративные приложения>Согласие и разрешения>Параметры согласия пользователей.

  3. В разделе "Согласие пользователя для приложений" выберите параметр согласия, который требуется настроить для всех пользователей.

  4. Нажмите кнопку "Сохранить", чтобы сохранить параметры.

Снимок экрана: панель

Чтобы выбрать, какая политика согласия приложения управляет согласием пользователей для приложений, используйте модуль Microsoft Graph PowerShell . Командлеты, используемые здесь, входят в модуль Microsoft.Graph.Identity.SignIns.

Подключитесь к Microsoft Graph PowerShell, используя необходимое разрешение с минимальными привилегиями. Для чтения текущих параметров согласия пользователя используйте Policy.Read.All. Для чтения и изменения параметров согласия пользователя используйте Policy.ReadWrite.Authorization. Вам нужно войти в качестве администратора привилегированных ролей.

Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"

Чтобы отключить согласие пользователя, убедитесь, что при обновлении коллекции политики согласия (PermissionGrantPoliciesAssigned) включают другие текущие политики ManagePermissionGrantsForOwnedResource.*, если таковые имеются. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.

# only exclude user consent policy
$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForOwnedResource.{other-current-policies}" 
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Чтобы разрешить согласие пользователя, выберите политику согласия приложения, которая должна управлять авторизацией пользователей, чтобы предоставить согласие приложениям. Убедитесь, что, обновляя коллекцию, политики согласия (PermissionGrantPoliciesAssigned) включают в себя любые другие текущие политики ManagePermissionGrantsForOwnedResource.*, если таковые имеются. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Замените {consent-policy-id} идентификатором политики, которую вы хотите применить. Вы можете выбрать созданную политику согласия приложения или выбрать из следующих встроенных политик:

Идентификатор Описание
пользователей-по-умолчанию-низкий-в-Microsoft Разрешение согласия пользователя для приложений от проверенных издателей для выбранных разрешений
Разрешить ограниченное согласие пользователя только для приложений от проверенных издателей и приложений, зарегистрированных в клиенте, и только для разрешений, которые вы классифицируете как низкое влияние. (Не забудьте классифицировать разрешения для выбора разрешений, которым разрешено согласие пользователей.)
пользователь-по-умолчанию-устаревший Разрешить согласие пользователя для приложений
Этот параметр позволяет всем пользователям предоставлять любому приложению согласие на любое разрешение, которое не требует согласия администратора

Например, чтобы разрешить согласие пользователя в соответствии со встроенной политикой microsoft-user-default-low, выполните следующие команды:

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.managePermissionGrantsForSelf.microsoft-user-default-low",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}

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

Чтобы отключить согласие пользователя, убедитесь, что при обновлении коллекции политики согласия (PermissionGrantPoliciesAssigned) включают другие текущие политики ManagePermissionGrantsForOwnedResource.*, если таковые имеются. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
   "defaultUserRolePermissions": {
       "permissionGrantPoliciesAssigned": [
           "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Чтобы разрешить согласие пользователя, выберите политику согласия приложения, которая должна управлять авторизацией пользователей, чтобы предоставить согласие приложениям. Убедитесь, что, обновляя коллекцию, политики согласия (PermissionGrantPoliciesAssigned) включают в себя любые другие текущие политики ManagePermissionGrantsForOwnedResource.*, если таковые имеются. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
   }
}

Замените {consent-policy-id} идентификатором политики, которую вы хотите применить. Вы можете выбрать созданную политику согласия приложения или выбрать из следующих встроенных политик:

Идентификатор Описание
пользователей-по-умолчанию-низкий-в-Microsoft Разрешение согласия пользователя для приложений от проверенных издателей для выбранных разрешений
Разрешить ограниченное согласие пользователя только для приложений от проверенных издателей и приложений, зарегистрированных в клиенте, и только для разрешений, которые вы классифицируете как низкое влияние. (Не забудьте классифицировать разрешения для выбора разрешений, которым разрешено согласие пользователей.)
пользователь-по-умолчанию-устаревший Разрешить согласие пользователя для приложений
Этот параметр позволяет всем пользователям предоставлять любому приложению согласие на любое разрешение, которое не требует согласия администратора

Например, чтобы включить согласие пользователя в соответствии со встроенной политикой microsoft-user-default-low, используйте следующую команду PATCH:

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "permissionGrantPoliciesAssigned": [
            "managePermissionGrantsForSelf.microsoft-user-default-low",
            "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Совет

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

Следующие шаги