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 de Função Privilegiada, por conceder consentimento para aplicativos que solicitam 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.
Conceder consentimento de administrador em todo o locatário no painel Aplicativos corporativos
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:
- Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
- Navegue até Identity>Applications>Enterprise applications>Todos os aplicativos.
- Introduza o nome da aplicação existente na caixa de pesquisa e, em seguida, selecione a aplicação nos resultados da pesquisa.
- Selecione Permissões em Segurança.
- 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.
Conceder consentimento de administrador no painel Registos de aplicações
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:
- No centro de administração do Microsoft Entra, navegue até Registros de aplicativos de identidade>>Todos os>aplicativos.
- Introduza o nome da aplicação existente na caixa de pesquisa e, em seguida, selecione a aplicação nos resultados da pesquisa.
- Selecione Permissões de API em Gerenciar.
- Analise cuidadosamente as permissões que o aplicativo exige. Se concordar, selecione Conceder consentimento de administrador.
Construir o URL para conceder consentimento do administrador ao nível do inquilino
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 valororganizations
que 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.
Conceder consentimento de administrador para permissões delegadas usando o Microsoft Graph PowerShell
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 User.Read.All
delegadas e Group.Read.All
o . 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.
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"
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
eGroup.Read.All
Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property Oauth2PermissionScopes | Select -ExpandProperty Oauth2PermissionScopes | fl
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
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'"
Conceder consentimento de administrador para permissões de aplicativo usando o Microsoft Graph PowerShell
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
.
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"
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
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.
Conceder consentimento de administrador para permissões delegadas usando a API do Microsoft Graph
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 User.Read.All
delegadas e Group.Read.All
o . 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.
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
eGroup.Read.All
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,oauth2PermissionScopes
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" }
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'
Conceder consentimento de administrador para permissões de aplicativo usando a API do Microsoft Graph
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 00001111-aaaa-2222-bbbb-3333cccc4444
) 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 11112222-bbbb-3333-cccc-4444dddd5555
.
Você precisa assinar como pelo menos um Administrador de Função Privilegiada.
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
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" }