Compartilhar via


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

Neste artigo, você aprenderá a configurar o consentimento incremental baseado em risco no Microsoft Entra ID. 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ários recém-registrados que não são verificados pelo editor e exigem permissões nãobasicas são consideradas arriscadas. 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 beta do Microsoft Graph PowerShell para desabilitar ou habilitar o passo a passo do administrador quando um risco é detectado.

Importante

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

  1. Execute o seguinte comando:

    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. Isso requer a verificação para ver se as configurações de diretório para esse recurso são criadas. Se eles não forem criados, 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 Tipo Descrição
    BloquearConsentimentoDoUsuárioParaAppsDeRisco booleano Um sinalizador que indica se o consentimento do usuário é bloqueado quando uma solicitação arriscada é 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