Configurar o consentimento de step-up baseado em risco usando o PowerShell

Neste artigo, você saberá como configurar consentimento de step-up baseado em risco na ID do Microsoft Entra. O consentimento de step-up baseado em risco ajuda a reduzir a exposição do usuário a aplicativos mal-intencionados que fazem solicitações de consentimento ilícitas.

Por exemplo, as solicitações de consentimento para aplicativos multilocatário recém-registrados que não foram verificados pelo publicador e exigem permissões não básicas, são consideradas suspeitas. Se uma solicitação de consentimento de usuário suspeito for detectada, a solicitação exigirá um "step-up" para consentimento do administrador. Essa capacidade de step-up é habilitada por padrão, mas só resulta em uma alteração de comportamento quando o consentimento do usuário está habilitado.

Quando uma solicitação de consentimento suspeito é detectada, a solicitação de consentimento exibe uma mensagem que indica que a aprovação do administrador é necessária. Se o fluxo de trabalho de solicitação de consentimento do administrador estiver habilitado, o usuário poderá enviar a solicitação a um administrador para análise diretamente do prompt de consentimento. Se o fluxo de trabalho de solicitação de consentimento de administrador não estiver habilitado, a seguinte mensagem será exibida:

AADSTS90094: <clientAppDisplayName> precisa de permissão para acessar recursos em sua organização que somente um administrador pode conceder. Solicite que um administrador conceda a permissão a este aplicativo antes de usá-lo.

Nesse caso, um evento de auditoria também é registrado com uma categoria "ApplicationManagement", um tipo de atividade "Consentimento para aplicativo" e um motivo de status "Aplicativo de risco detectado".

Pré-requisitos

Para configurar o consentimento de step-up baseado em risco você precisa:

Use o módulo de versão beta do Microsoft Graph PowerShell para desabilitar o step-up do consentimento do administrador que é necessário quando um risco é detectado ou para habilitá-lo, caos ele tenha sido desabilitado anteriormente.

Importante

Verifique se você está usando o módulo de cmdlets beta do Microsoft Graph PowerShell.

  1. Execute o comando a seguir:

    Install-Module Microsoft.Graph.Beta
    
  2. Conecte-se ao Microsoft Graph PowerShell:

    Connect-MgGraph -Scopes "Directory.ReadWrite.All"
    
  3. Recupere o valor atual das configurações do diretório Configurações de Política de Consentimento em seu locatário. Fazer isso requer verificação para ver se as configurações de diretório para esse recurso foram criadas. Se elas não tiverem sido criadas, use os valores do modelo de configurações de diretório correspondente.

    $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" }
    
  4. Verifique o valor:

    $riskBasedConsentEnabledValue
    

    Entenda o valor das configurações:

    Configuração Type Descrição
    BlockUserConsentForRiskyApps Boolean Um sinalizador que indica se o consentimento do usuário será bloqueado quando uma solicitação suspeita for detectada.
  5. Para alterar o valor de BlockUserConsentForRiskyApps, use o cmdlet 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
    

Próximas etapas