Concedere a un'applicazione il consenso amministratore a livello di tenant

Questo articolo descrive come concedere il consenso amministratore a livello di tenant a un'applicazione in Azure Active Directory (Azure AD). Per informazioni sul modo in cui i singoli utenti acconsentono, vedere Configurare il consenso degli utenti finali alle applicazioni.

Quando si concede il consenso amministratore a livello di tenant a un'applicazione, si concede all'applicazione l'accesso per conto dell'intera organizzazione alle autorizzazioni richieste. La concessione del consenso amministratore per conto di un'organizzazione è un'operazione sensibile, consentendo potenzialmente all'editore dell'applicazione l'accesso a parti significative dei dati dell'organizzazione o l'autorizzazione per eseguire operazioni con privilegi elevati. Esempi di tali operazioni possono essere la gestione dei ruoli, l'accesso completo a tutte le cassette postali o a tutti i siti e la rappresentazione completa dell'utente. Esaminare attentamente le autorizzazioni richieste dall'applicazione prima di concedere il consenso.

Per impostazione predefinita, la concessione del consenso amministratore a livello di tenant a un'applicazione consentirà a tutti gli utenti di accedere all'applicazione, se non diversamente limitato. Per limitare gli utenti che possono accedere a un'applicazione, configurare l'app per richiedere l'assegnazione utente e quindi assegnare utenti o gruppi all'applicazione.

La concessione del consenso amministratore a livello di tenant può revocare tutte le autorizzazioni concesse in precedenza a livello di tenant per tale applicazione. Le autorizzazioni concesse in precedenza dagli utenti per proprio conto non saranno interessate.

Prerequisiti

Per la concessione del consenso amministratore a livello di tenant è necessario accedere come utente autorizzato a concedere il consenso per conto dell'organizzazione.

Per concedere il consenso amministratore a livello di tenant, è necessario:

  • Un account utente di Azure AD con uno dei ruoli seguenti:
    • Amministratore globale o Amministratore ruolo con privilegi, per concedere il consenso per le app che richiedono qualsiasi autorizzazione, per qualsiasi API.
    • Amministratore di applicazioni cloud o Amministratore applicazioni, per concedere il consenso per le app che richiedono qualsiasi autorizzazione per qualsiasi API, ad eccezione dei ruoli dell'app Graph di Azure AD o Microsoft Graph (autorizzazioni dell'applicazione).
    • Ruolo della directory personalizzato che include l'autorizzazione per concedere le autorizzazioni alle applicazioni, per le autorizzazioni richieste dall'applicazione.

È possibile concedere il consenso amministratore a livello di tenant tramite applicazioni aziendali se è già stato effettuato il provisioning dell'applicazione nel tenant. È ad esempio possibile effettuare il provisioning di un'app nel tenant se almeno un utente ha già acconsentito all'applicazione. Per altre informazioni, vedere Come e perché le applicazioni vengono aggiunte ad Azure Active Directory.

Per concedere il consenso amministratore a livello di tenant a un'app elencata nelle applicazioni aziendali:

  1. Accedere al portale di Azure con uno dei ruoli elencati nella sezione dei prerequisiti.
  2. Selezionare Azure Active Directory e quindi Applicazioni aziendali.
  3. Selezionare l'applicazione a cui si vuole concedere il consenso amministratore a livello di tenant e quindi selezionare Autorizzazioni. Screenshot che mostra come concedere il consenso amministratore a livello di tenant.
  4. Esaminare attentamente le autorizzazioni richieste dall'applicazione. Se si accettano le autorizzazioni richieste dall'applicazione, selezionare Concedi consenso amministratore.

Per le applicazioni sviluppate dall'organizzazione o registrate direttamente nel tenant di Azure AD, è anche possibile concedere il consenso amministratore a livello di tenant da Registrazioni app nel portale di Azure.

Per concedere il consenso amministratore a livello di tenant da Registrazioni app:

  1. Accedere al portale di Azure con uno dei ruoli elencati nella sezione dei prerequisiti.
  2. Selezionare Azure Active Directory e quindi Registrazioni app.
  3. Selezionare l'applicazione a cui si vuole concedere il consenso amministratore a livello di tenant.
  4. Selezionare Autorizzazioni API.
  5. Esaminare attentamente le autorizzazioni richieste dall'applicazione. Se si accetta, selezionare Concedi consenso amministratore.

Quando si concede il consenso amministratore a livello di tenant usando uno dei metodi descritti in precedenza, viene visualizzata una finestra dal portale di Azure per richiedere il consenso amministratore a livello di tenant. Se si conosce l'ID client dell'applicazione (noto anche come ID applicazione), è possibile creare lo stesso URL in modo che conceda il consenso amministratore a livello di tenant.

L'URL relativo al consenso amministratore a livello di tenant ha il formato seguente:

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

dove:

  • {client-id} è l'ID client dell'applicazione (detto anche ID app).
  • {organization} è l'ID tenant o qualsiasi nome di dominio verificato del tenant in cui si vuole fornire il consenso per l'applicazione. È possibile usare il valore common, che causerà il consenso nel tenant home dell'utente con cui si accede.

Come sempre, esaminare con cura le autorizzazioni richieste da un'applicazione prima di concedere il consenso.

Nell'esempio seguente si concedono autorizzazioni delegate definite da un'applicazione aziendale di risorse a un'applicazione aziendale client per conto di tutti gli utenti.

Nell'esempio, l'applicazione dell'organizzazione delle risorse è Microsoft Graph dell'ID 7ea9e944-71ce-443d-811c-71e8047b557aoggetto . Microsoft Graph definisce le autorizzazioni User.Read.All delegate e Group.Read.All. ConsentType è AllPrincipals, che indica che si sta concedendo il consenso per conto di tutti gli utenti nel tenant. L'ID oggetto dell'applicazione client enterprise è b0d9b9e3-0ecf-4bfd-8dab-9273dd055a941.

Attenzione

Fare attenzione. Le autorizzazioni concesse a livello di codice non sono soggette a revisione o conferma. Hanno effetto immediatamente.

  1. Connettersi a Microsoft Graph PowerShell:

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All"
    
  2. Recuperare tutte le autorizzazioni delegate definite da Microsoft Graph (l'applicazione di risorse) nell'applicazione tenant. Identificare le autorizzazioni delegate che verranno concesse all'applicazione client. In questo esempio le autorizzazioni di delega sono User.Read.All e Group.Read.All

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property Oauth2PermissionScopes | Select -ExpandProperty Oauth2PermissionScopes | fl
    
  3. Concedere le autorizzazioni delegate all'applicazione client enterprise eseguendo la richiesta seguente.

$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
  1. Verificare di aver concesso il consenso amministratore a livello di tenant eseguendo la richiesta seguente.
 Get-MgOauth2PermissionGrant-Filter "clientId eq 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' consentType eq 'AllPrincipals'" 

Nell'esempio seguente si concede all'applicazione aziendale Microsoft Graph (l'entità di ID b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94) un ruolo app (autorizzazione dell'applicazione) di ID df021288-bdef-4463-88db-98f22de89214 esposto da un'applicazione dell'organizzazione di risorse con ID 7ea9e944-71ce-443d-811c-71e8047b557a.

  1. Connettersi a Microsoft Graph PowerShell:

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
    
  2. Recuperare i ruoli dell'app definiti da Microsoft Graph nel tenant. Identificare il ruolo dell'app a cui verrà concessa l'applicazione client enterprise. In questo esempio l'ID ruolo dell'app è df021288-bdef-4463-88db-98f22de89214.

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property AppRoles | Select -ExpandProperty appRoles |fl
    
  3. Concedere l'autorizzazione dell'applicazione (ruolo app) all'applicazione aziendale client eseguendo la richiesta seguente.

 $params = @{
  "PrincipalId" ="b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94"
  "ResourceId" = "2cab1707-656d-40cc-8522-3178a184e03d"
  "AppRoleId" = "df021288-bdef-4463-88db-98f22de89214"
}

New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId '2cab1707-656d-40cc-8522-3178a184e03d' -BodyParameter $params | 
  Format-List Id, AppRoleId, CreatedDateTime, PrincipalDisplayName, PrincipalId, PrincipalType, ResourceDisplayName

Usare Graph Explorer per concedere autorizzazioni delegate e dell'applicazione.

Nell'esempio seguente si concedono autorizzazioni delegate definite da un'applicazione aziendale di risorse a un'applicazione aziendale client per conto di tutti gli utenti.

Nell'esempio, l'applicazione dell'organizzazione delle risorse è Microsoft Graph dell'ID 7ea9e944-71ce-443d-811c-71e8047b557aoggetto . Microsoft Graph definisce le autorizzazioni User.Read.All delegate e Group.Read.All. ConsentType è AllPrincipals, che indica che si sta concedendo il consenso per conto di tutti gli utenti nel tenant. L'ID oggetto dell'applicazione client enterprise è b0d9b9e3-0ecf-4bfd-8dab-9273dd055a941.

Attenzione

Fare attenzione. Le autorizzazioni concesse a livello di codice non sono soggette a revisione o conferma. Hanno effetto immediatamente.

  1. Recuperare tutte le autorizzazioni delegate definite da Microsoft Graph (l'applicazione di risorse) nell'applicazione tenant. Identificare le autorizzazioni delegate che verranno concesse all'applicazione client. In questo esempio le autorizzazioni di delega sono 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. Concedere le autorizzazioni delegate all'applicazione client enterprise eseguendo la richiesta seguente.

    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. Verificare di aver concesso il consenso amministratore a livello di tenant eseguendo la richiesta seguente.

    GET https://graph.microsoft.com/v1.0/oauth2PermissionGrants?$filter=clientId eq 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' and consentType eq 'AllPrincipals'
    

Nell'esempio seguente si concede all'applicazione aziendale Microsoft Graph (l'entità di ID b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94) un ruolo app (autorizzazione dell'applicazione) di ID df021288-bdef-4463-88db-98f22de89214 esposto da un'applicazione dell'organizzazione di risorse con ID 7ea9e944-71ce-443d-811c-71e8047b557a.

  1. Recuperare i ruoli dell'app definiti da Microsoft Graph nel tenant. Identificare il ruolo dell'app a cui verrà concessa l'applicazione client enterprise. In questo esempio l'ID ruolo dell'app è df021288-bdef-4463-88db-98f22de89214

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,appRoles
    
  2. Concedere l'autorizzazione dell'applicazione (ruolo app) all'applicazione aziendale client eseguendo la richiesta seguente.

    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"
    }
    

Passaggi successivi

Configurare la modalità con cui gli utenti finali consentono le applicazioni

Configurare il flusso di lavoro di consenso dell'amministratore