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, che 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:
Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
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.
Andare a Identità>Applicazioni>Registrazioni app, quindi selezionare l’applicazione in cui si desidera definire i ruoli.
In Gestisci selezionare Ruoli appe quindi selezionare Crea ruolo app.
Nel riquadro Crea ruolo app immettere le impostazioni per il ruolo. La tabella che segue l'immagine descrive ogni impostazione e i relativi parametri.
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 perapplications
, 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 Selezionare Applica per salvare le modifiche.
Quando il ruolo dell'app è impostato su Abilitato, tutti gli utenti, le applicazioni o i gruppi assegnati hanno il ruolo app incluso nei token. 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 mantengono il ruolo dell'app incluso nei token, ma non ha alcun effetto perché non è più assegnabile attivamente.
Assegnare il proprietario all'applicazione
Prima di poter assegnare ruoli app alle applicazioni, è necessario assegnarsi come proprietario dell'applicazione.
- In Gestisci nella registrazione dell'app selezionare Proprietari e Aggiungi proprietari.
- 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 e i proprietari dell'app vengono 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. L'assegnazione di un ruolo app a un'applicazione 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:
- Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
- Andare a Identità>Applicazioni>Registrazioni app, quindi selezionare Tutte le applicazioni.
- 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.
- Selezionare l'applicazione a cui assegnare un ruolo dell'app.
- Seleziona Autorizzazioni API>Aggiungi un'autorizzazione.
- Selezionare la scheda API personali e quindi selezionare l'app per cui sono stati definiti i ruoli dell'app.
- In Autorizzazione selezionare i ruoli da assegnare.
- Selezionare il pulsante Aggiungi autorizzazioni per completare l'aggiunta dei ruoli.
I ruoli appena aggiunti verranno visualizzati nel riquadro autorizzazioni API della registrazione dell'app.
Concedere il consenso amministratore
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.
- Nel riquadro autorizzazioni API della registrazione dell'app selezionare Concedi consenso amministratore per <nome tenant>.
- Selezionare Sì 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. A seconda dello scenario, questi ruoli dell'app assegnati sono inclusi in token diversi rilasciati per l'applicazione. Ad esempio, per un'app che accede agli utenti, le attestazioni dei ruoli vengono incluse nel token ID. Quando l'applicazione chiama un'API, le attestazioni dei ruoli vengono incluse nel token di accesso.
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.
Gli sviluppatori preferiscono usare i ruoli dell'app 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, le app SaaS spesso assegnano gruppi ai ruoli dell'app per gli stessi motivi, in quanto 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 ai ruoli di 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 token hanno i ruoli assegnati nell'attestazione roles
.
Per assegnare utenti e gruppi ai ruoli tramite l'interfaccia di amministrazione di Microsoft Entra:
- Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
- 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.
- Passare a Identità>Applicazioni>Applicazioni aziendali.
- 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.
- Selezionare l'applicazione in cui si vuole assegnare ruoli a utenti o gruppi di sicurezza.
- In Gestisciselezionare Utenti e gruppi.
- Selezionare Aggiungi utente per aprire il riquadro Aggiungi assegnazione.
- 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. Selezionare il pulsante Seleziona per continuare.
- Selezionare Seleziona un ruolo nel riquadro Aggiungi assegnazione. Vengono visualizzati tutti i ruoli definiti per l'applicazione.
- Scegliere un ruolo e selezionare il pulsante Seleziona.
- 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.
- Esempi di codice in GitHub
- Documentazione di riferimento
- Video: Implementare l'autorizzazione nelle applicazioni con Microsoft Identity Platform (1:01:15)