Partilhar via


Configurar a forma como os utilizadores concedem consentimento às aplicações

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. Estas orientações ajudam os administradores de TI a reduzir os riscos de segurança, restringindo ou desativando o consentimento do utilizador.

Para uma aplicação poder aceder aos dados da organização, o utilizador terá de conceder as permissões de aplicação necessárias para o fazer. Diferentes permissões permitem diferentes níveis de acesso. Por predefinição, todos os utilizadores estão autorizados a consentir às aplicações permissões que não requerem consentimento do administrador. Por exemplo, por padrão, um usuário pode consentir em permitir que um aplicativo acesse sua caixa de correio, mas não pode consentir em permitir que um aplicativo tenha acesso irrestrito para ler e gravar em todos os arquivos em sua organização.

Para reduzir o risco de aplicações maliciosas tentarem induzir os utilizadores a conceder-lhes acesso aos dados da sua organização, recomendamos que permita o consentimento do utilizador apenas para aplicações que tenham sido publicadas por um editor verificado.

Nota

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 permitam que um usuário consinta em seu nome.

Pré-requisitos

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

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

Para definir as definições de consentimento do utilizador através do centro de administração do Microsoft Entra:

  1. Entre no Centro de Administração Microsoft Entra como Administrador Global.

  2. Navegue até Identidade>Aplicações>Aplicações empresariais>Consentimento e permissões>Definições de consentimento do utilizador.

  3. Em Consentimento de utilizador para aplicações, selecione a definição de consentimento que pretende configurar para todos os utilizadores.

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

Captura de ecrã do painel 'Definições de consentimento do utilizador'.

Compreender 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 de 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 e, ao mesmo tempo, permitir que os desenvolvedores gerenciem permissões para os aplicativos que possuem atribuindo apenas ManagePermissionGrantsForOwnedResource.DeveloperConsent na permissionGrantPoliciesAssigned coleção.

Por outro lado, o ponto de extremidade permissionGrantPolicies lista as suas políticas atuais de concessão de permissões. Essas políticas determinam quais permissões podem ser concedidas aos aplicativos e em que circunstâncias. Cada apólice «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 alguma delas se aplica à solicitação do usuário. Por exemplo, a política de baixo risco permitiria que os utilizadores consentissem com as permissões configuradas como «baixo risco». Inclui essas 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.

Nota

Antes de atualizar as configurações de consentimento com um Update-MgPolicyPermissionGrantPolicy comando, sempre recupere a atual 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 para aplicativos de sua propriedade, e evite remover involuntariamente a funcionalidade existente.

Para escolher qual política de consentimento de aplicativo rege o consentimento do usuário para aplicativos, use o módulo 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égios mínimos 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 um Administrador de Função Privilegiada.

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

Para desativar o consentimento do usuário, certifique-se de que as políticas de consentimento (PermissionGrantPoliciesAssigned) incluam 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 de recursos.

# 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. Certifique-se de que as políticas de consentimento (PermissionGrantPoliciesAssigned) incluam 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 de recursos.

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

Substitua {consent-policy-id} pelo ID da política que você deseja aplicar. Pode escolher uma política de consentimento de aplicação personalizada que criou ou pode escolher entre as seguintes políticas incorporadas:

ID Descrição
Microsoft-utilizador-predefinido-baixo Permitir o consentimento do usuário para aplicativos de editores verificados, para permissões selecionadas
Permita o consentimento limitado do utilizador apenas para aplicações de editores verificados e aplicações registadas no seu inquilino e apenas para permissões que classifique como de baixo impacto. (Lembre-se de classificar as permissões para selecionar quais permissões os usuários têm permissão para consentir.)
Microsoft-User-Default-Legacy Permitir o consentimento do utilizador para aplicações
Essa opção permite que todos os usuários consintam com 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 microsoft-user-default-lowinterna, execute os seguintes comandos:

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

Compreender 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 de 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 e, ao mesmo tempo, permitir que os desenvolvedores gerenciem permissões para os aplicativos que possuem atribuindo apenas ManagePermissionGrantsForOwnedResource.DeveloperConsent na permissionGrantPoliciesAssigned coleção.

Por outro lado, o permissionGrantPolicies ponto de extremidade (GET https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies) lista as suas políticas de concessão de permissões atuais. Essas políticas determinam quais permissões podem ser concedidas aos aplicativos e em que circunstâncias. Cada apólice «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 alguma delas se aplica à solicitação do usuário. Por exemplo, a política de baixo risco permitiria que os utilizadores consentissem com as permissões configuradas como «baixo risco». Inclui essas 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.

Nota

Antes de atualizar as configurações de consentimento com uma PATCH solicitação, sempre recupere a atual 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 para aplicativos de sua propriedade, e evite remover involuntariamente a funcionalidade existente.

Use o Graph Explorer para escolher qual política de consentimento de aplicativo rege o consentimento do usuário para aplicativos. Você precisa entrar como um Administrador de Função Privilegiada.

Para desativar o consentimento do usuário, certifique-se de que as políticas de consentimento (PermissionGrantPoliciesAssigned) incluam 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 de recursos.

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. Certifique-se de que as políticas de consentimento (PermissionGrantPoliciesAssigned) incluam 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 de recursos.

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

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

Substitua {consent-policy-id} pelo ID da política que você deseja aplicar. Pode escolher uma política de consentimento de aplicação personalizada que criou ou pode escolher entre as seguintes políticas incorporadas:

ID Descrição
Microsoft-utilizador-predefinido-baixo Permitir o consentimento do usuário para aplicativos de editores verificados, para permissões selecionadas
Permita o consentimento limitado do utilizador apenas para aplicações de editores verificados e aplicações registadas no seu inquilino e apenas para permissões que classifique como de baixo impacto. (Lembre-se de classificar as permissões para selecionar quais permissões os usuários têm permissão para consentir.)
Microsoft-User-Default-Legacy Permitir o consentimento do utilizador para aplicações
Essa opção permite que todos os usuários consintam com 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 microsoft-user-default-lowinterna, 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}"
        ]
    }
}

Quaisquer atualizações nas configurações de consentimento do usuário afetam apenas as operações de consentimento futuras 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 concessões de consentimento existentes, consulte Revisar permissões concedidas a aplicativos corporativos.

Gorjeta

Para permitir que os usuários solicitem a revisão e aprovação de um aplicativo com o 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óximos passos