Aggiungere ruoli app all'applicazione e riceverli nel token

Il controllo degli accessi in base al ruolo è uno dei metodi più comuni per introdurre il processo di autorizzazione nelle applicazioni. Il controllo degli accessi in base al ruolo consente agli amministratori di concedere autorizzazioni ai ruoli anziché a utenti o gruppi specifici. L'amministratore può quindi assegnare i ruoli a utenti e gruppi per determinare chi può accedere a specifici contenuti e funzionalità.

Usando il controllo degli accessi in base al ruolo con attestazioni di ruolo e ruolo dell'applicazione, gli sviluppatori possono applicare in modo sicuro l'autorizzazione nelle proprie app con più facilità.

Un altro approccio consiste nell'usare i gruppi e le attestazioni di gruppo di Microsoft Entra, come illustrato nell'esempio di codice active-directory-aspnetcore-webapp-openidconnect-v2 in GitHub. I gruppi di Microsoft Entra e i ruoli dell'applicazione non si escludono a vicenda; possono essere usati insieme per fornire anche un servizio di controllo degli accessi più granulare.

Dichiarare i ruoli per un'applicazione

È possibile definire i ruoli dell'app usando l'interfaccia di amministrazione di Microsoft Entra durante il processo di registrazione dell'app. I ruoli app vengono definiti in una registrazione dell'applicazione che rappresenta un servizio, un'app o un'API. Quando un utente accede all'applicazione, Microsoft Entra ID genera un'attestazione roles per ogni ruolo concesso all'utente o all'entità servizio. Questo approccio può essere usato per implementare l'autorizzazione basata su attestazioni. I ruoli app possono essere assegnati a un utente o a un gruppo di utenti. I ruoli dell'app possono anche essere assegnati all'entità servizio per un'altra applicazione o all'entità servizio per un'identità gestita.

Attualmente, se si aggiunge un'entità servizio a un gruppo e quindi si assegna un ruolo app a tale gruppo, Microsoft Entra ID non aggiunge l'attestazione roles ai token che rilascia.

I ruoli dell'app vengono dichiarati usando l'interfaccia utente dei ruoli dell'app nell'interfaccia di amministrazione di Microsoft Entra:

Il numero di ruoli aggiunti viene conteggiato ai fini dei limiti del manifesto dell'applicazione imposti da Microsoft Entra ID. Per informazioni su questi limiti, vedere la sezione limiti del manifesto di riferimento al manifesto dell'applicazione di Microsoft Entra.

Interfaccia utente dei ruoli dell'app

Suggerimento

La procedura descritta in questo articolo può variare leggermente in base al portale di partenza.

Per creare un ruolo dell'app usando l'interfaccia utente dell'interfaccia di amministrazione di Microsoft Entra:

  1. Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.

  2. Se si ha accesso a più tenant, usare l'icona Impostazioni nel menu in alto per passare al tenant contenente la registrazione dell'app dal menu Directory e sottoscrizioni.

  3. Andare a Identità>Applicazioni>Registrazioni app, quindi selezionare l’applicazione in cui si desidera definire i ruoli.

  4. In Gestisci selezionare Ruoli appe quindi selezionare Crea ruolo app.

    Riquadro dei ruoli dell'app di Registrazione dell'applicazione nel portale di Azure

  5. Nel riquadro Crea ruolo app immettere le impostazioni per il ruolo. La tabella che segue l'immagine descrive ogni impostazione e i relativi parametri.

    I ruoli dell'app per la registrazione di un'app creano il riquadro di contesto nel portale di Azure

    Campo Description Esempio
    Nome visualizzato Nome visualizzato per il ruolo dell’app che viene presentato nelle esperienze di assegnazione di app e di consenso dell'amministratore. Questo valore può contenere spazi. Survey Writer
    Tipi di membro consentiti Specifica se il ruolo app può essere assegnato a utenti, applicazioni o entrambi.

    Quando disponibile per applications, i ruoli dell'app vengono visualizzati come autorizzazioni dell'applicazione nella sezione Gestisci>Autorizzazioni API >Aggiungere un'autorizzazione > API personali > Scegliere un'API > Autorizzazioni dell'applicazione.
    Users/Groups
    valore Specifica il valore dell'attestazione dei ruoli che l'applicazione prevede di trovare nel token. Il valore deve corrispondere esattamente alla stringa a cui si fa riferimento nel codice dell'applicazione. Il valore non può contenere spazi. Survey.Create
    Descrizione Descrizione più dettagliata del ruolo app visualizzato durante le esperienze di consenso e assegnazione dell'app amministratore. Writers can create surveys.
    Abilitare questo ruolo app? Specifica se il ruolo app è abilitato. Per eliminare un ruolo app, deselezionare questa casella di controllo e applicare la modifica prima di tentare l'operazione di eliminazione. Questa impostazione controlla l'utilizzo e la disponibilità del ruolo dell'app, pur essendo in grado di disabilitarlo temporaneamente o definitivamente senza rimuoverlo completamente. Selezionato
  6. Selezionare Applica per salvare le modifiche.

Quando il ruolo dell'app è impostato su abilitato, è incluso tra i token di tutti gli utenti, le applicazioni o i gruppi a cui è assegnato. Questi possono essere token di accesso quando l'app è l'API chiamata da un'app o da token ID quando all'app accede un utente. Se impostato su disabilitato, diventa inattivo e non più assegnabile. Tutti gli assegnatari precedenti avranno ancora il ruolo app incluso nei token, ma ciò non ha alcun effetto perché non è più assegnabile attivamente.

Assegnare il proprietario all'applicazione

Se non è già stato fatto, sarà necessario assegnare se stessi come proprietario dell'applicazione.

  1. In Gestisci nella registrazione dell'app selezionare Proprietari e Aggiungi proprietari.
  2. Nella nuova finestra trovare e selezionare uno o più proprietari da assegnare all'applicazione. I proprietari selezionati vengono visualizzati nel pannello destro. Al termine, confermare con Seleziona. I proprietari dell'app verranno ora visualizzati nell'elenco del proprietario.

Nota

Assicurarsi che sia l'applicazione API sia l'applicazione a cui si vogliono aggiungere autorizzazioni abbiano un proprietario, altrimenti l'API non verrà elencata quando si richiedono autorizzazioni API.

Assegnare ruoli dell'app alle applicazioni

Dopo aver aggiunto i ruoli dell'app nell'applicazione, è possibile assegnare un ruolo app a un'app client usando l'interfaccia di amministrazione di Microsoft Entra o a livello di codice usando Microsoft Graph. Questa operazione non deve essere confusa con l'assegnazione di ruoli agli utenti.

Quando si assegnano ruoli app a un'applicazione, si creano le autorizzazioni dell'applicazione. Le autorizzazioni dell'applicazione vengono in genere usate dalle app daemon o dai servizi back-end che devono eseguire l'autenticazione e l'esecuzione di chiamate API autorizzate da sé, senza l'interazione di un utente.

Per assegnare ruoli dell'app a un'applicazione tramite l'interfaccia di amministrazione di Microsoft Entra:

  1. Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
  2. Andare a Identità>Applicazioni>Registrazioni app, quindi selezionare Tutte le applicazioni.
  3. Selezionare Tutte le applicazioni per visualizzare un elenco di tutte le applicazioni. Se l'applicazione desiderata non viene visualizzata nell'elenco, usare i filtri disponibili nella parte superiore dell'elenco Tutte le applicazioni per limitare l'elenco o scorrerlo verso il basso fino a trovare l'applicazione.
  4. Selezionare l'applicazione a cui assegnare un ruolo dell'app.
  5. Seleziona Autorizzazioni API>Aggiungi un'autorizzazione.
  6. Selezionare la scheda API personali e quindi selezionare l'app per cui sono stati definiti i ruoli dell'app.
  7. In Autorizzazioneselezionare i ruoli da assegnare.
  8. Selezionare il pulsante Aggiungi autorizzazioni per aggiungere i ruoli o i ruoli.

I ruoli appena aggiunti verranno visualizzati nel riquadro autorizzazioni API della registrazione dell'app.

Poiché si tratta di autorizzazioni dell'applicazione e non di autorizzazioni delegate, un amministratore deve concedere il consenso per usare i ruoli dell'app assegnati all'applicazione.

  1. Nel riquadro autorizzazioni API della registrazione dell'app selezionare Concedi consenso amministratore per <nome tenant>.
  2. Selezionare quando viene richiesto di dare il consenso per le autorizzazioni richieste.

La colonna Stato deve riflettere che il consenso è stato Concesso per <nome tenant>.

Scenario di utilizzo dei ruoli dell'app

Se si implementa la logica di business del ruolo dell'app che consente di accedere agli utenti nello scenario dell'applicazione, definire prima di tutto i ruoli dell'app in Registrazioni app. Quindi, un amministratore li assegna a utenti e gruppi nel riquadro Applicazioni enterprise. Questi ruoli dell'app assegnati sono inclusi con qualsiasi token rilasciato per l'applicazione.

Se si implementa la logica di business del ruolo app in uno scenario app-chiamata-API, sono disponibili due registrazioni dell'app. Una registrazione dell'app è per l'app e una seconda registrazione dell'app è per l'API. In questo caso, definire i ruoli app e assegnarli all'utente o al gruppo nella registrazione app dell'API. Quando l'utente esegue l'autenticazione con l'app e richiede un token di accesso per chiamare l'API, un'attestazione dei ruoli è inclusa nel token. Il passaggio successivo consiste nell'aggiungere codice all'API Web per verificare la presenza di tali ruoli quando viene chiamata l'API.

Per informazioni su come aggiungere l'autorizzazione all'API Web, vedere API Web protetta: Verificare gli ambiti e i ruoli dell'app.

Ruoli app e gruppi

Anche se è possibile usare i ruoli o i gruppi dell'app per l'autorizzazione, le differenze principali tra di questi elementi possono influenzare l'uso per lo scenario.

Ruoli dell'app Gruppi
Sono specifici di un'applicazione e sono definiti nella registrazione dell'app. Si spostano con l'applicazione. Non sono specifici di un'app, ma di un tenant Microsoft Entra.
I ruoli app vengono rimossi dopo la rimozione della registrazione dell'app. I gruppi rimangono intatti anche se l'app viene rimossa.
Fornito nell'attestazione roles. Fornito nell'attestazione groups.

Gli sviluppatori possono usare i ruoli app per controllare se un utente può accedere a un'app oppure un'app può ottenere un token di accesso per un'API Web. Per estendere questo controllo di sicurezza ai gruppi, gli sviluppatori e gli amministratori possono anche assegnare gruppi di sicurezza ai ruoli app.

I ruoli app sono preferiti dagli sviluppatori quando vogliono descrivere e controllare i parametri di autorizzazione nell'app stessa. Ad esempio, un'app che usa gruppi per l'autorizzazione si interromperà nel tenant successivo, perché sia l'ID del gruppo che il nome potrebbero essere diversi. Un'app che usa i ruoli dell'app rimane sicura. Infatti, l'assegnazione di gruppi ai ruoli dell'app è diffusa con le app SaaS per gli stessi motivi per cui consente il provisioning dell'app SaaS in più tenant.

Assegnare utenti e gruppi ai ruoli di Microsoft Entra

Dopo aver aggiunto i ruoli dell'app nell'applicazione, è possibile assegnare utenti e gruppi a Microsoft Entra. Le assegnazioni di utenti e gruppi ai ruoli possono essere eseguite tramite l'interfaccia utente del portale o a livello di codice usando Microsoft Graph. Quando gli utenti assegnati ai vari ruoli accedono all'applicazione, i ruoli dei token saranno assegnati nell'attestazione roles.

Per assegnare utenti e gruppi ai ruoli tramite l'interfaccia di amministrazione di Microsoft Entra:

  1. Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
  2. Se si ha accesso a più tenant, usare l'icona Impostazioni nel menu in alto per passare al tenant contenente la registrazione dell'app dal menu Directory e sottoscrizioni.
  3. Passare a Identità>Applicazioni>Applicazioni aziendali.
  4. Selezionare Tutte le applicazioni per visualizzare un elenco di tutte le applicazioni. Se l'applicazione desiderata non viene visualizzata nell'elenco, usare i filtri disponibili nella parte superiore dell'elenco Tutte le applicazioni per limitare l'elenco o scorrerlo verso il basso fino a trovare l'applicazione.
  5. Selezionare l'applicazione in cui si vuole assegnare ruoli a utenti o gruppi di sicurezza.
  6. In Gestisciselezionare Utenti e gruppi.
  7. Selezionare Aggiungi utente per aprire il riquadro Aggiungi assegnazione.
  8. Fare clic sul selettore Utenti e gruppi nel riquadro Aggiungi assegnazione. Verrà visualizzato un elenco di utenti e gruppi di sicurezza. È possibile cercare un utente o un gruppo specifico e selezionare più utenti e gruppi visualizzati nell'elenco.
  9. Dopo aver selezionato gli utenti e i gruppi, scegliere il pulsante Seleziona per procedere.
  10. Selezionare Seleziona un ruolo nel riquadro Aggiungi assegnazione. Vengono visualizzati tutti i ruoli definiti per l'applicazione.
  11. Scegliere un ruolo e selezionare il pulsante Seleziona.
  12. Selezionare Assegna per completare l'assegnazione di utenti e gruppi all'app.

Verificare che gli utenti e i gruppi aggiunti siano presenti nell'elenco Utenti e gruppi.

Passaggi successivi

Altre informazioni sui ruoli dell'app con le risorse seguenti.