Partilhar via


Conceder consentimento de administrador ao nível do inquilino a uma aplicação

Neste artigo, você aprenderá a conceder consentimento de administrador em todo o locatário para um aplicativo no Microsoft Entra ID. Para entender como definir configurações de consentimento de usuário individual, consulte Configurar como os usuários finais consentem com aplicativos.

Ao conceder consentimento de administrador em todo o locatário a um aplicativo, você concede ao aplicativo acesso às permissões solicitadas em nome de toda a organização. Conceder consentimento de administrador em nome de uma organização é uma operação confidencial, potencialmente permitindo que o editor do aplicativo tenha acesso a partes significativas dos dados da sua organização ou a permissão para fazer operações altamente privilegiadas. Exemplos de tais operações podem ser o gerenciamento de funções, o acesso total a todas as caixas de correio ou a todos os sites e a representação total do usuário. Portanto, você precisa revisar cuidadosamente as permissões que o aplicativo está solicitando antes de conceder consentimento.

Por padrão, conceder consentimento de administrador em todo o locatário para um aplicativo permite que todos os usuários acessem o aplicativo, a menos que haja restrição em contrário. Para restringir quais usuários podem entrar em um aplicativo, configure o aplicativo para exigir atribuição de usuário e, em seguida , atribua usuários ou grupos ao aplicativo.

Importante

A concessão de consentimento de administrador a nível do locatário pode revogar todas as permissões que já foram concedidas a todo o locatário para essa aplicação. As permissões que os usuários já concederam em seu próprio nome não são afetadas.

Pré-requisitos

Para dar consentimento de administrador no âmbito do locatário, precisará iniciar sessão como utilizador autorizado a consentir em nome da organização.

Para conceder consentimento de administrador em todo o locatário, você precisa:

  • Uma conta de usuário do Microsoft Entra com uma das seguintes funções:

    • Administrador de Função Privilegiada para conceder consentimento a aplicações que solicitem qualquer permissão para qualquer API.
    • Cloud Application Administrator ou Application Administrator, por conceder consentimento para aplicativos que solicitam qualquer permissão para qualquer API, exceto funções de aplicativo do Microsoft Graph (permissões de aplicativo).
    • Uma função de diretório personalizada que inclui a permissão para conceder permissões a aplicativos, para as permissões exigidas pelo aplicativo.

Você pode conceder consentimento de administrador para todo o inquilino por meio do painel Aplicações Empresariais caso o aplicativo já esteja provisionado no seu inquilino. Por exemplo, uma aplicação pode ser provisionada no seu inquilino se pelo menos um utilizador der consentimento à aplicação. Para obter mais informações, consulte Como e por que os aplicativos são adicionados à ID do Microsoft Entra.

Para conceder consentimento de administrador para toda a organização a um aplicativo listado no painel Aplicações empresariais

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
  2. Navegue até Identidade>Aplicações>Aplicações empresariais>Todas as aplicações.
  3. Introduza o nome da aplicação existente na caixa de pesquisa e, em seguida, selecione a aplicação nos resultados da pesquisa.
  4. Selecione Permissões em Segurança. A captura de ecrã mostra como conceder consentimento de administrador a nível de locatário.
  5. Analise cuidadosamente as permissões que o aplicativo exige. Se você concordar com as permissões que o aplicativo exige, selecione Conceder consentimento de administrador.

Você pode conceder o consentimento de administrador a nível de locatário a partir de registros de aplicações no centro de administração do Microsoft Entra para aplicações que a sua organização desenvolve e regista diretamente no seu locatário do Microsoft Entra.

Para conceder consentimento de administrador em todo o locatário a partir de Registos de Aplicações:

  1. No centro de administração do Microsoft Entra, navegue até Identidade>Aplicações>Registo de aplicações>Todas as aplicações.
  2. Introduza o nome da aplicação existente na caixa de pesquisa e, em seguida, selecione a aplicação nos resultados da pesquisa.
  3. Selecione Permissões de API em Gerenciar.
  4. Analise cuidadosamente as permissões que o aplicativo exige. Se concordar, selecione Conceder consentimento de administrador.

Quando você concede consentimento de administrador para todo o locatário usando qualquer um dos métodos descritos na seção anterior, uma janela é aberta no centro de administração do Microsoft Entra para solicitar o consentimento de administrador de todo o locatário. Se souber o ID de cliente (também conhecido como ID da aplicação) da aplicação, pode criar o mesmo URL para conceder o consentimento do administrador ao nível do inquilino.

O URL de consentimento do administrador ao nível do inquilino segue o seguinte formato:

https://login.microsoftonline.com/{organization}/adminconsent?client_id={client-id}

Onde:

  • {client-id} é o ID de cliente da aplicação (também conhecido como ID da aplicação).
  • {organization} é o ID do locatário ou qualquer nome de domínio verificado do locatário em que o utilizador deseja dar consentimento à aplicação. Pode utilizar o valor organizationsque faz com que o consentimento ocorra no locatário principal do utilizador com quem inicia sessão.

Como sempre, analise cuidadosamente as permissões que uma aplicação pede antes de conceder o consentimento.

Para obter mais informações sobre como construir a URL de consentimento de administrador em todo o locatário, consulte Consentimento de administrador na plataforma de identidade da Microsoft.

Nesta seção, você concede permissões delegadas ao seu aplicativo. Permissões delegadas são permissões que seu aplicativo precisa para acessar uma API em nome de um usuário conectado. As permissões são definidas por uma API de recurso e concedidas ao seu aplicativo empresarial, que é o aplicativo cliente. Este consentimento é concedido em nome de todos os utilizadores.

No exemplo a seguir, a API de recurso é Microsoft Graph of object ID aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb. A API do Microsoft Graph define as permissões delegadas, User.Read.Alle Group.Read.All. O consentType é AllPrincipals, indicando que você está consentindo em nome de todos os usuários no locatário. O ID do objeto do aplicativo empresarial cliente é aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.

Atenção

Cuidado! As permissões concedidas programaticamente não estão sujeitas a revisão ou confirmação. Entram em vigor imediatamente.

  1. Conecte-se ao Microsoft Graph PowerShell e entre como pelo menos um administrador de aplicativos na nuvem.

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All"
    
  2. Recupere todas as permissões delegadas definidas pelo Microsoft graph (o aplicativo de recurso) em seu aplicativo locatário. Identifique as permissões delegadas necessárias para conceder ao aplicativo cliente. Neste exemplo, as permissões de delegação são User.Read.All e Group.Read.All

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property Oauth2PermissionScopes | Select -ExpandProperty Oauth2PermissionScopes | fl
    
  3. Conceda as permissões delegadas ao aplicativo empresarial cliente executando a seguinte solicitação.

    $params = @{
    
    "ClientId" = "00001111-aaaa-2222-bbbb-3333cccc4444"
    "ConsentType" = "AllPrincipals"
    "ResourceId" = "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
    "Scope" = "User.Read.All Group.Read.All"
    }
    
    New-MgOauth2PermissionGrant -BodyParameter $params | 
    Format-List Id, ClientId, ConsentType, ResourceId, Scope
    
  4. Confirme que você concedeu consentimento de administrador para todo o locatário executando a seguinte solicitação.

 Get-MgOauth2PermissionGrant -Filter "clientId eq '00001111-aaaa-2222-bbbb-3333cccc4444' and consentType eq 'AllPrincipals'" 

Nesta seção, você concede permissões de aplicativo para seu aplicativo empresarial. Permissões de aplicativo são permissões que seu aplicativo precisa para acessar uma API de recurso. As permissões são definidas pela API de recursos e concedidas ao seu aplicativo empresarial, que é o aplicativo principal. Depois de conceder ao seu aplicativo acesso à API de recurso, ele é executado como um serviço em segundo plano ou daemon sem um usuário conectado. As permissões de aplicativo também são conhecidas como funções de aplicativo.

No exemplo a seguir, você concede ao aplicativo Microsoft Graph (o principal de ID aaaaaaaa-bbbb-cccc-1111-222222222222) uma função de aplicativo (permissão de aplicativo) de ID df021288-bdef-4463-88db-98f22de89214 que é exposta por uma API de recurso de ID 11112222-bbbb-3333-cccc-4444dddd5555.

  1. Conecte-se ao Microsoft Graph PowerShell e entre como pelo menos um Administrador de Função Privilegiada.

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
    
  2. Recupere as funções do aplicativo definidas pelo Microsoft graph em seu locatário. Identifique a função de aplicativo que você precisa conceder ao aplicativo empresarial cliente. Neste exemplo, o ID da função do aplicativo é df021288-bdef-4463-88db-98f22de89214.

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property AppRoles | Select -ExpandProperty appRoles |fl
    
  3. Conceda a permissão do aplicativo (função do aplicativo) ao aplicativo principal executando a seguinte solicitação.

 $params = @{
  "PrincipalId" ="aaaaaaaa-bbbb-cccc-1111-222222222222"
  "ResourceId" = "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
  "AppRoleId" = "df021288-bdef-4463-88db-98f22de89214"
}

New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222' -BodyParameter $params | 
  Format-List Id, AppRoleId, CreatedDateTime, PrincipalDisplayName, PrincipalId, PrincipalType, ResourceDisplayName

Use o Graph Explorer para conceder permissões delegadas e de aplicativo.

Nesta seção, você concede permissões delegadas ao seu aplicativo. Permissões delegadas são permissões que seu aplicativo precisa para acessar uma API em nome de um usuário conectado. As permissões são definidas por uma API de recurso e concedidas ao seu aplicativo empresarial, que é o aplicativo cliente. Este consentimento é concedido em nome de todos os utilizadores.

Você precisa entrar como pelo menos um administrador de aplicativos na nuvem.

No exemplo a seguir, a API de recurso é Microsoft Graph of object ID aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb. A API do Microsoft Graph define as permissões delegadas User.Read.All e Group.Read.All. O consentType é AllPrincipals, indicando que você está consentindo em nome de todos os usuários no locatário. O ID do objeto do aplicativo empresarial cliente é aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.

Atenção

Cuidado! As permissões concedidas programaticamente não estão sujeitas a revisão ou confirmação. Entram em vigor imediatamente.

  1. Recupere todas as permissões delegadas definidas pelo Microsoft graph (o aplicativo de recurso) em seu aplicativo locatário. Identifique as permissões delegadas necessárias para conceder ao aplicativo cliente. Neste exemplo, as permissões de delegação são User.Read.All e Group.Read.All

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,oauth2PermissionScopes
    
  2. Conceda as permissões delegadas ao aplicativo empresarial cliente executando a seguinte solicitação.

    POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
    
    Request body
    {
       "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
       "consentType": "AllPrincipals",
       "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
       "scope": "User.Read.All Group.Read.All"
    }
    
  3. Confirme que você concedeu consentimento de administrador para todo o locatário executando a seguinte solicitação.

    GET https://graph.microsoft.com/v1.0/oauth2PermissionGrants?$filter=clientId eq '00001111-aaaa-2222-bbbb-3333cccc4444' and consentType eq 'AllPrincipals'
    

Nesta seção, você concede permissões de aplicativo para seu aplicativo empresarial. Permissões de aplicativo são permissões que seu aplicativo precisa para acessar uma API de recurso. As permissões são definidas pela API de recursos e concedidas ao seu aplicativo empresarial, que é o aplicativo principal. Depois de conceder ao seu aplicativo acesso à API de recurso, ele é executado como um serviço em segundo plano ou daemon sem um usuário conectado. As permissões de aplicativo também são conhecidas como funções de aplicativo.

No exemplo a seguir, você concede ao aplicativo Microsoft Graph (o principal de ID 00001111-aaaa-2222-bbbb-3333cccc4444) uma função de aplicativo (permissão de aplicativo) com o ID df021288-bdef-4463-88db-98f22de89214 que é exposta por um aplicativo empresarial do recurso do ID 11112222-bbbb-3333-cccc-4444dddd5555.

Você precisa iniciar sessão como um Administrador de Função Privilegiada pelo menos.

  1. Recupere as funções do aplicativo definidas pelo Microsoft graph em seu locatário. Identifique a função de aplicativo que você precisa conceder ao aplicativo empresarial cliente. Neste exemplo, o ID da função do aplicativo é df021288-bdef-4463-88db-98f22de89214

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,appRoles
    
  2. Conceda a permissão do aplicativo (função do aplicativo) ao aplicativo principal executando a seguinte solicitação.

    POST https://graph.microsoft.com/v1.0/servicePrincipals/11112222-bbbb-3333-cccc-4444dddd5555/appRoleAssignedTo
    
    Request body
    
    {
       "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
       "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
       "appRoleId": "df021288-bdef-4463-88db-98f22de89214"
    }
    

Próximos passos