使用 PowerShell 設定以風險為基礎的逐步同意
在本文中,您將瞭解如何在 Microsoft Entra 標識符中設定以風險為基礎的逐步同意。 以風險為基礎的逐步同意有助於減少使用者接觸發出 非法同意要求的惡意應用程式。
例如,對於未 經過發行者驗證 且需要非基本許可權的新註冊多租使用者應用程式,同意要求會被視為有風險。 如果偵測到有風險的使用者同意要求,要求會改為要求管理員同意。 默認會啟用此逐步執行功能,但只有在啟用使用者同意時,才會造成行為變更。
偵測到有風險的同意要求時,同意提示會顯示訊息,指出需要管理員核准。 如果已啟用管理員 同意要求工作流程 ,使用者可以將要求傳送給系統管理員,以便直接從同意提示進一步檢閱。 如果未啟用管理員同意要求工作流程,則會顯示下列訊息:
AADSTS90094:<clientAppDisplayName> 需要許可權,才能存取組織中只有系統管理員可以授與的資源。 要求系統管理員授與此應用程式的許可權,才能使用它。
在此情況下,稽核事件也會記錄為「ApplicationManagement」類別、「同意應用程式」的活動類型,以及「偵測到具風險的應用程式」的狀態原因。
必要條件
若要設定以風險為基礎的逐步同意,您需要:
- 用戶帳戶。 如果您還沒有帳戶,您可以 免費建立帳戶。
- 全域 管理員 istrator 角色或 Privileged 管理員 istrator 角色。
停用或重新啟用以風險為基礎的逐步同意
您可以使用 Microsoft Graph PowerShell Beta 模組 來停用在偵測到風險時所需的系統管理員同意步驟,或在先前停用時加以啟用。
重要
請確定您使用的是 Microsoft Graph PowerShell Beta Cmdlet 模組。
執行以下命令:
Install-Module Microsoft.Graph.Beta
連線 至 Microsoft Graph PowerShell:
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 布林值 旗標,指出偵測到有風險的要求時,是否會封鎖使用者同意。 若要變更 的值
BlockUserConsentForRiskyApps
,請使用 Update-MgBetaDirectorySetting Cmdlet。$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