Настройка повышения уровня согласия на основе рисков с помощью PowerShell
В этой статье вы узнаете, как настроить согласие с повышенным уровнем безопасности на основе рисков в Microsoft Entra ID. Повышение уровня согласия на основе рисков позволяет снизить уязвимость пользователей для вредоносных приложений, которые делают незаконные запросы на согласие.
Например, запросы на согласие для недавно зарегистрированных мультитенантных приложений, которые не проверены издателем, и требуют не базовых разрешений, считаются рискованными. При обнаружении рискованного запроса согласия пользователя требуется повышение уровня до согласия администратора. Данная возможность включена по умолчанию, но она приводит к изменению поведения только в том случае, если включено согласие пользователя.
При обнаружении рискованного запроса согласия отображается сообщение о необходимости утверждения администратором. Если рабочий процесс запроса согласия администратора включен, пользователь может отправить запрос администратору для дальнейшей проверки непосредственно из запроса согласия. Если рабочий процесс запроса согласия администратора не включен, отображается следующее сообщение:
AADSTS90094: <clientAppDisplayName> требуются разрешения на доступ к ресурсам в вашей организации, которые может предоставить только администратор. Попросите администратора предоставить разрешение для этого приложения, прежде чем его можно будет использовать.
В этом случае событие аудита также будет регистрироваться с категорией ApplicationManagement, типом действия "Согласие на приложение" и состоянием "Обнаружено рискованное приложение".
Требуемые условия
Чтобы настроить повышение уровня согласия в зависимости от риска, требуется следующее:
- Учетная запись пользователя. Если ее нет, можно создать учетную запись бесплатно.
- Администратор привилегированных ролей.
Отключение и повторное включение пошагового согласия на основе рисков
Вы можете использовать бета-модуль Microsoft Graph PowerShell, чтобы отключить пошаговое согласие администратора, которое требуется в случаях обнаружения риска или включить его, если он был отключен ранее.
Внимание
Убедитесь, что вы используете модуль командлетов Microsoft Graph PowerShell Beta.
Выполните следующую команду:
Install-Module Microsoft.Graph.Beta
Подключитесь к PowerShell Microsoft Graph:
Connect-MgGraph -Scopes "Directory.ReadWrite.All"
Получите текущее значение настроек каталога Параметры политики согласия в арендаторе. Для этого необходимо проверить, были ли созданы параметры каталога для этой функции. Если нет, используйте значения из соответствующего шаблона параметров каталога.
$consentSettingsTemplateId = "dffd5d46-495d-40a9-8e21-954ff55e198a" # Consent Policy Settings $settings = Get-MgBetaDirectorySetting -All | Where-Object { $_.TemplateId -eq $consentSettingsTemplateId } if (-not $settings) { $params = @{ TemplateId = $consentSettingsTemplateId Values = @( @{ Name = "BlockUserConsentForRiskyApps" Value = "True" } @{ Name = "ConstrainGroupSpecificConsentToMembersOfGroupId" Value = "<groupId>" } @{ Name = "EnableAdminConsentRequests" Value = "True" } @{ Name = "EnableGroupSpecificConsent" Value = "True" } ) } $settings = New-MgBetaDirectorySetting -BodyParameter $params } $riskBasedConsentEnabledValue = $settings.Values | ? { $_.Name -eq "BlockUserConsentForRiskyApps" }
Проверьте значение:
$riskBasedConsentEnabledValue
Понять значение параметров.
Настройка Тип Описание Блокировка согласия пользователя для рискованных приложений Логический Флаг, указывающий, будет ли согласие пользователя блокироваться при обнаружении рискованного запроса. Чтобы изменить значение
BlockUserConsentForRiskyApps
, используйте командлет Update-MgBetaDirectorySetting .$params = @{ TemplateId = $consentSettingsTemplateId Values = @( @{ Name = "BlockUserConsentForRiskyApps" Value = "False" } @{ Name = "ConstrainGroupSpecificConsentToMembersOfGroupId" Value = "<groupId>" } @{ Name = "EnableAdminConsentRequests" Value = "True" } @{ Name = "EnableGroupSpecificConsent" Value = "True" } ) } Update-MgBetaDirectorySetting -DirectorySettingId $settings.Id -BodyParameter $params