Compartilhar via


Configurar como os usuários dão consentimento para aplicativos

Neste artigo, você aprenderá a definir as configurações de consentimento do usuário na ID do Microsoft Entra para controlar quando e como os usuários concedem permissões aos aplicativos. Essa orientação ajuda os administradores de TI a reduzir os riscos de segurança restringindo ou desabilitando o consentimento do usuário.

Antes que um aplicativo possa acessar os dados da sua organização, um usuário precisa conceder permissões ao aplicativo para isso. Permissões diferentes permitem diferentes níveis de acesso. Por padrão, todos os usuários têm permissão para consentir nos aplicativos em relação a permissões que não exijam o consentimento do administrador. Por exemplo, por padrão, um usuário pode permitir que um aplicativo acesse sua caixa de correio, mas não pode permitir que um aplicativo tenha acesso irrestrito para ler e gravar em todos os arquivos em sua organização.

Para reduzir o risco de aplicativos mal-intencionados tentarem enganar os usuários para conceder a eles acesso aos dados da sua organização, recomendamos permitir o consentimento do usuário somente para aplicativos que foram publicados por um publicador verificado.

Observação

Os aplicativos que exigem que os usuários sejam atribuídos ao aplicativo devem ter suas permissões consentidas por um administrador, mesmo que as políticas de consentimento do usuário para seu diretório de outra forma permitam que um usuário consenta em nome de si mesmo.

Pré-requisitos

Para configurar o consentimento do usuário, você precisa de:

Você pode definir as configurações de consentimento do usuário na ID do Microsoft Entra usando o Centro de administração do Microsoft Entra, o Microsoft Graph PowerShell ou a API do Microsoft Graph. As configurações configuradas se aplicam a todos os usuários em sua organização.

Para definir as configurações do consentimento do usuário por meio do centro de administração do Microsoft Entra:

  1. Entre no Centro de administração do Microsoft Entra como administrador global.

  2. Navegue até Identidade>Aplicativos>Aplicativos corporativos>Consentimento e permissões>Configurações de consentimento do usuário.

  3. No consentimento do usuário para aplicativos, selecione qual configuração de consentimento você deseja configurar para todos os usuários.

  4. Selecione Salvar para salvar suas configurações.

Captura de tela do painel

Entender as políticas de autorização e concessão de permissão no Microsoft Graph PowerShell

Para definir as configurações de consentimento do usuário programaticamente usando o Microsoft Graph PowerShell, é importante entender a distinção entre a política de autorização em todo o locatário e as políticas de concessão de permissão individuais. O authorizationPolicy recuperado usando Update-MgPolicyAuthorizationPolicy rege as configurações globais, como se os usuários podem consentir com aplicativos e quais políticas de concessão de permissão são atribuídas à função de usuário padrão. Por exemplo, você pode desabilitar o consentimento do usuário enquanto ainda permite que os desenvolvedores gerenciem permissões para os aplicativos que possuem atribuindo apenas ManagePermissionGrantsForOwnedResource.DeveloperConsent na permissionGrantPoliciesAssigned coleção.

Por outro lado, o endpoint permissionGrantPolicies lista suas políticas de concessão de permissão atuais. Essas políticas determinam quais permissões podem ser concedidas a aplicativos e em quais circunstâncias. Cada política 'inclui' determinadas condições, mas 'exclui' outras. Quando um usuário tenta consentir com um aplicativo, o sistema verifica as políticas de concessão de permissão para ver se algum deles se aplica à solicitação do usuário. Por exemplo, a política de baixo risco permitiria que os usuários consentissem com essas permissões configuradas como "baixo risco". Inclui estas políticas de baixo risco (como um GUID). Em outro cenário, se um usuário tentar consentir em um contexto que corresponda à política 'AdminOnly', ele não poderá consentir.

Observação

Antes de atualizar as configurações de consentimento com um Update-MgPolicyPermissionGrantPolicy comando, sempre recupere a configuração atual do authorizationPolicy para identificar quais políticas de concessão de permissão já estão atribuídas. Isso garante que você preserve as permissões necessárias, como aquelas que permitem que os desenvolvedores gerenciem o consentimento dos aplicativos que possuem, e evite remover involuntariamente a funcionalidade existente.

Para escolher qual política de consentimento do aplicativo rege o consentimento do usuário para aplicativos, use o módulo do Microsoft Graph PowerShell . Os cmdlets usados aqui estão incluídos no módulo Microsoft.Graph.Identity.SignIns .

Conecte-se ao Microsoft Graph PowerShell usando a permissão de privilégio mínimo necessária. Para ler as configurações atuais de consentimento do usuário, use Policy.Read.All. Para ler e alterar as configurações de consentimento do usuário, use Policy.ReadWrite.Authorization. Você precisa entrar como administrador de função com privilégios.

Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"

Para desabilitar o consentimento do usuário, verifique se as políticas de consentimento (PermissionGrantPoliciesAssigned) incluem outras políticas atuais ManagePermissionGrantsForOwnedResource.* se houver durante a atualização da coleção. Dessa forma, você pode manter sua configuração atual para configurações de consentimento do usuário e outras configurações de consentimento do recurso.

# only exclude user consent policy
$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForOwnedResource.{other-current-policies}" 
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Para permitir o consentimento do usuário, escolha qual política de consentimento do aplicativo deve reger a autorização dos usuários para conceder consentimento aos aplicativos. Verifique se as políticas de consentimento (PermissionGrantPoliciesAssigned) incluem outras políticas atuais ManagePermissionGrantsForOwnedResource.* se houver durante a atualização da coleção. Dessa forma, você pode manter sua configuração atual para configurações de consentimento do usuário e outras configurações de consentimento do recurso.

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Substitua {consent-policy-id} pela ID da política que deseja aplicar. Você pode escolher uma política de consentimento de aplicativo personalizada que você criou ou pode escolher entre as seguintes políticas internas:

ID Descrição
microsoft-user-default-low Permitir consentimento do usuário para aplicativos de editores verificados para permissões selecionadas
Permita o consentimento limitado do usuário somente para aplicativos de editores verificados e aplicativos que são registrados no seu locatário e somente para permissões que você classifica como Baixo impacto. (Lembre-se de classificar permissões para selecionar quais permissões os usuários têm permissão para consentir.)
microsoft-user-default-legacy Permitir consentimento do usuário para aplicativos
Essa opção permite que todos os usuários consintam qualquer permissão que não exija o consentimento do administrador, para qualquer aplicativo

Por exemplo, para habilitar o consentimento do usuário sujeito à política interna microsoft-user-default-low, execute os seguintes comandos:

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.managePermissionGrantsForSelf.microsoft-user-default-low",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}

Entender as políticas de autorização e concessão de permissão no Microsoft Graph

Para definir as configurações de consentimento do usuário programaticamente usando o Microsoft Graph, é importante entender a distinção entre a política de autorização em todo o locatário e as políticas de concessão de permissão individuais. O authorizationPolicy (recuperado usando GET https://graph.microsoft.com/v1.0/policies/authorizationPolicy/authorizationPolicy) rege as configurações globais, como se os usuários podem consentir com aplicativos e quais políticas de concessão de permissão são atribuídas à função de usuário padrão. Por exemplo, você pode desabilitar o consentimento do usuário enquanto ainda permite que os desenvolvedores gerenciem permissões para os aplicativos que possuem atribuindo apenas ManagePermissionGrantsForOwnedResource.DeveloperConsent na permissionGrantPoliciesAssigned coleção.

Por outro lado, o permissionGrantPolicies endpoint (GET https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies) lista suas políticas de concessão de permissões atuais. Essas políticas determinam quais permissões podem ser concedidas a aplicativos e em quais circunstâncias. Cada política 'inclui' determinadas condições, mas 'exclui' outras. Quando um usuário tenta consentir com um aplicativo, o sistema verifica as políticas de concessão de permissão para ver se algum deles se aplica à solicitação do usuário. Por exemplo, a política de baixo risco permitiria que os usuários consentissem com essas permissões configuradas como "baixo risco". Inclui estas políticas de baixo risco (como um GUID). Em outro cenário, se um usuário tentar consentir em um contexto que corresponda à política 'AdminOnly', ele não poderá consentir.

Observação

Antes de atualizar as configurações de consentimento com uma solicitação PATCH, sempre recupere as configurações atuais authorizationPolicy para identificar quais políticas de concessão de permissões já estão atribuídas. Isso garante que você preserve as permissões necessárias, como aquelas que permitem que os desenvolvedores gerenciem o consentimento dos aplicativos que possuem, e evite remover involuntariamente a funcionalidade existente.

Use o Explorador do Graph para escolher qual política de consentimento do aplicativo rege o consentimento do usuário para aplicativos. Você precisa entrar como administrador de função com privilégios.

Para desabilitar o consentimento do usuário, verifique se as políticas de consentimento (PermissionGrantPoliciesAssigned) incluem outras políticas atuais ManagePermissionGrantsForOwnedResource.* se houver durante a atualização da coleção. Dessa forma, você pode manter sua configuração atual para configurações de consentimento do usuário e outras configurações de consentimento do recurso.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
   "defaultUserRolePermissions": {
       "permissionGrantPoliciesAssigned": [
           "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Para permitir o consentimento do usuário, escolha qual política de consentimento do aplicativo deve reger a autorização dos usuários para conceder consentimento aos aplicativos. Verifique se as políticas de consentimento (PermissionGrantPoliciesAssigned) incluem outras políticas atuais ManagePermissionGrantsForOwnedResource.* se houver durante a atualização da coleção. Dessa forma, você pode manter sua configuração atual para configurações de consentimento do usuário e outras configurações de consentimento do recurso.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
   }
}

Substitua {consent-policy-id} pela ID da política que deseja aplicar. Você pode escolher uma política de consentimento de aplicativo personalizada que você criou ou pode escolher entre as seguintes políticas internas:

ID Descrição
microsoft-user-default-low Permitir consentimento do usuário para aplicativos de editores verificados para permissões selecionadas
Permita o consentimento limitado do usuário somente para aplicativos de editores verificados e aplicativos que são registrados no seu locatário e somente para permissões que você classifica como Baixo impacto. (Lembre-se de classificar permissões para selecionar quais permissões os usuários têm permissão para consentir.)
microsoft-user-default-legacy Permitir consentimento do usuário para aplicativos
Essa opção permite que todos os usuários consintam qualquer permissão que não exija o consentimento do administrador, para qualquer aplicativo

Por exemplo, para habilitar o consentimento do usuário sujeito à política integrada microsoft-user-default-low, use o seguinte comando PATCH:

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "permissionGrantPoliciesAssigned": [
            "managePermissionGrantsForSelf.microsoft-user-default-low",
            "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Todas as atualizações nas configurações de consentimento do usuário afetam apenas futuras operações de consentimento para aplicativos. As concessões de consentimento existentes permanecem inalteradas e os usuários continuam a ter acesso com base nas permissões concedidas anteriormente. Para saber como revogar as concessões de consentimento existentes, consulte As permissões de revisão concedidas a aplicativos empresariais.

Dica

Para permitir que os usuários solicitem a revisão e aprovação de um administrador de um aplicativo ao qual o usuário não tem permissão para consentir, habilite o fluxo de trabalho de consentimento do administrador. Por exemplo, você pode fazer isso quando o consentimento do usuário tiver sido desabilitado ou quando um aplicativo estiver solicitando permissões que o usuário não tem permissão para conceder.

Próximas etapas