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 em todo o locatário pode revogar permissões que já foram concedidas a todo o locatário para esse aplicativo. As permissões que os usuários já concederam em seu próprio nome não são afetadas.

Pré-requisitos

Para dar consentimento do administrador ao nível do inquilino, 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 Global ou Administrador de Funções Privilegiadas para conceder consentimento para aplicações que pedem 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 em todo o locatário por meio do painel Aplicativos corporativos se o aplicativo já tiver sido provisionado em seu locatário. Por exemplo, uma aplicação poderá ser aprovisionada no inquilino se, pelo menos, um utilizador já tiver concedido consentimento à aplicação. Para obter mais informações, consulte Como e por que os aplicativos são adicionados à ID do Microsoft Entra.

Gorjeta

As etapas neste artigo podem variar ligeiramente com base no portal a partir do qual você começou.

Para conceder consentimento de administrador em todo o locatário a um aplicativo listado no painel Aplicativos corporativos:

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
  2. Navegue até Identity>Applications>Enterprise applications>Todos os aplicativos.
  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. Screenshot shows how to grant tenant-wide admin consent.
  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 consentimento de administrador em todo o locatário a partir de registros de aplicativos no centro de administração do Microsoft Entra para aplicativos que sua organização desenvolveu e registrou diretamente em seu locatário do Microsoft Entra.

Para conceder consentimento de administrador em todo o locatário a partir de registros de aplicativos:

  1. No centro de administração do Microsoft Entra, navegue até Registros de aplicativos de identidade>>Todos os>aplicativos.
  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 no qual você deseja consentir o aplicativo. Pode utilizar o valor organizationsque faz com que o consentimento aconteça no inquilino inicial 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 7ea9e944-71ce-443d-811c-71e8047b557a. A API do Microsoft Graph define as permissões User.Read.All delegadas e Group.Read.Allo . 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 é b0d9b9e3-0ecf-4bfd-8dab-9273dd055a941.

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" = "b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94"
    "ConsentType" = "AllPrincipals"
    "ResourceId" = "7ea9e944-71ce-443d-811c-71e8047b557a"
    "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 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' 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 b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94) 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 7ea9e944-71ce-443d-811c-71e8047b557a.

  1. Conecte-se ao Microsoft Graph PowerShell e entre como Administrador Global.

    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" ="b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94"
  "ResourceId" = "7ea9e944-71ce-443d-811c-71e8047b557a"
  "AppRoleId" = "df021288-bdef-4463-88db-98f22de89214"
}

New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' -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 7ea9e944-71ce-443d-811c-71e8047b557a. A API do Microsoft Graph define as permissões User.Read.All delegadas e Group.Read.Allo . 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 é b0d9b9e3-0ecf-4bfd-8dab-9273dd055a941.

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": "b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94",
       "consentType": "AllPrincipals",
       "resourceId": "7ea9e944-71ce-443d-811c-71e8047b557a",
       "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 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' 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 (a entidade de ID b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94) uma função de aplicativo (permissão de aplicativo) de ID df021288-bdef-4463-88db-98f22de89214 que é exposta por um aplicativo empresarial de recurso de ID 7ea9e944-71ce-443d-811c-71e8047b557a.

Você precisa assinar como Administrador Global.

  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/7ea9e944-71ce-443d-811c-71e8047b557a/appRoleAssignedTo
    
    Request body
    
    {
       "principalId": "b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94",
       "resourceId": "7ea9e944-71ce-443d-811c-71e8047b557a",
       "appRoleId": "df021288-bdef-4463-88db-98f22de89214"
    }
    

Próximos passos