Aggiungere ruoli app alla propria applicazione e riceverli come token
Articolo
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à.
Utilizzando il controllo degli accessi in base al ruolo con i ruoli delle applicazioni e le attestazioni di ruolo, gli sviluppatori possono applicare in modo sicuro l'autorizzazione nelle proprie app con meno sforzo.
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 su 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.
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 sono definiti utilizzando la UI dei ruoli dell'app nel centro di amministrazione di Microsoft Entra.
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 delle app.
In Gestisci selezionare Ruoli appe quindi selezionare Crea ruolo app.
Nel riquadro Crea ruolo app, inserisci le impostazioni per il ruolo. La tabella che segue l'immagine descrive ogni impostazione e i relativi parametri.
Campo
Descrizione
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 > Le mie API > Scegliere un'API > Autorizzazioni dell'applicazione.
Users/Groups
valore
Specifica il valore della richiesta di ruoli che l'applicazione si aspetta 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 assegnazione e consenso dell'app da parte dell'amministratore.
Writers can create surveys.
Vuoi abilitare questo ruolo per l'applicazione?
Specifica se il ruolo dell'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 token ID quando un utente accede all'app.
Quando il ruolo dell'app è impostato su Disabilitato, diventa inattivo e non può più essere assegnato. Tuttavia, le assegnazioni di ruolo dell'app correnti agli utenti, ai gruppi e alle applicazioni rimarranno, e il ruolo dell'app continuerà a passare attraverso il/i token. Rimuovere il ruolo dell'app dall'utente, dal gruppo o dall'applicazione per assicurarsi che il ruolo dell'app venga rimosso anche dai token.
Assegnare il proprietario dell'applicazione
Prima di poter assegnare ruoli app alle applicazioni, è necessario assegnarsi come proprietario dell'applicazione.
Nella registrazione dell'app, sotto Gestisci, 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 applicativi 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:
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 per l'app.
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 dell'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 del tenant>.
Scenario di utilizzo dei ruoli dell'app
Se stai implementando la logica di business per i ruoli dell'app che gestisce l'accesso degli utenti nel tuo scenario applicativo, definisci 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 in cui gli utenti effettuano l'accesso, 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 stai implementando la logica di ruolo dell'app in uno scenario di app-chiamata-API, hai 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 dell'applicazione e assegnarli all'utente o al gruppo nella registrazione dell'applicazione 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.
Anche se è possibile utilizzare i ruoli o i gruppi dell'app per l'autorizzazione, le differenze principali tra questi due elementi possono influenzare quale usare nel tuo 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 per un'app, ma per un tenant di Microsoft Entra.
I ruoli app vengono rimossi quando viene rimossa la registrazione dell'app.
I gruppi rimangono intatti anche se l'app viene rimossa.
Fornito nella 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:
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
Scopri di più sui ruoli delle app con le risorse seguenti.
Le soluzioni line-of-business sviluppate internamente richiedono la registrazione in Microsoft Entra ID e vengono assegnate agli utenti per un utilizzo sicuro di Azure. Esplorare come implementare la registrazione delle app.
Illustrare le funzionalità di Microsoft Entra ID per modernizzare le soluzioni di identità, implementare soluzioni ibride e implementare la governance delle identità.
Informazioni su come definire i ruoli applicazione per le applicazioni dei clienti consumer e aziendali e assegnare tali ruoli a utenti e gruppi in tenant esterni.
Scopri come configurare le definizioni dei ruoli delle app e i gruppi di sicurezza per migliorare la flessibilità e il controllo, aumentando la sicurezza delle applicazioni a zero attendibilità con privilegi minimi.
Informazioni su come configurare attestazioni e attributi facoltativi nei token di accesso rilasciati da Microsoft Identity Platform; le attestazioni facoltative possono aggiungere informazioni utili sull'utente per l'app.