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


Настройка согласия конечных пользователей для приложений с помощью Azure Active Directory

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

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

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

Примечание.

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

Необходимые компоненты

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

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

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

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

  2. Перейдите к параметрам согласия и разрешений>для приложений>Identity>Applications>Enterprise.

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

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

Снимок экрана: панель User consent settings (Параметры согласия пользователя).

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

Подключение к Microsoft Graph PowerShell

Подключитесь к 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} идентификатором политики, которую вы хотите применить. Вы можете выбрать созданную вами настраиваемую политику согласия для приложений или выбрать одну из следующих встроенных политик:

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

Например, чтобы разрешить согласие пользователя в соответствии со встроенной политикой 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} идентификатором политики, которую вы хотите применить. Вы можете выбрать созданную вами настраиваемую политику согласия для приложений или выбрать одну из следующих встроенных политик:

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

Например, чтобы включить согласие пользователя в соответствии со встроенной политикой 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}"
        ]
    }
}

Совет

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

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