Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il controllo degli accessi in base al ruolo consente a determinati utenti o gruppi di avere autorizzazioni specifiche per accedere e gestire le risorse. Il controllo degli accessi in base al ruolo dell'applicazione differisce dal controllo degli accessi in base al ruolo di Azure e dal controllo degli accessi in base al ruolo di Microsoft Entra. I ruoli personalizzati di Azure e i ruoli predefiniti fanno entrambi parte del controllo degli accessi in base al ruolo (RBAC) di Azure, che viene utilizzato per gestire le risorse di Azure. Microsoft Entra RBAC viene usato per gestire le risorse di Microsoft Entra. Questo articolo illustra l'RBAC specifico dell'applicazione. Per informazioni sull'implementazione del RBAC specifico per l'applicazione, vedere Come aggiungere ruoli dell'app all'applicazione e riceverli nel token.
Definizioni dei ruoli
RBAC (controllo degli accessi in base al ruolo) è un meccanismo comune per l'applicazione delle autorizzazioni nelle applicazioni. Quando un'organizzazione usa il controllo degli accessi in base al ruolo, uno sviluppatore di applicazioni definisce i ruoli anziché autorizzare singoli utenti o gruppi. Un amministratore può quindi assegnare ruoli a utenti e gruppi diversi per controllare chi può accedere al contenuto e alle funzionalità.
RBAC consente agli sviluppatori di applicazioni di gestire le risorse e il relativo utilizzo. RBAC (controllo degli accessi in base al ruolo) consente anche a uno sviluppatore di applicazioni di controllare le aree di un'applicazione a cui gli utenti possono accedere. Gli amministratori possono controllare quali utenti hanno accesso a un'applicazione usando la proprietà Assegnazione utente obbligatoria . Gli sviluppatori devono tenere conto di utenti specifici all'interno dell'applicazione e delle operazioni che gli utenti possono eseguire all'interno dell'applicazione.
Uno sviluppatore di applicazioni crea innanzitutto una definizione di ruolo all'interno della sezione di registrazione dell'applicazione nell'interfaccia di amministrazione di Microsoft Entra. La definizione del ruolo include un valore restituito per gli utenti assegnati a tale ruolo. Uno sviluppatore può quindi usare questo valore per implementare la logica dell'applicazione per determinare le operazioni che gli utenti possono o non possono eseguire in un'applicazione.
Opzioni di controllo degli accessi in base al ruolo
Quando si valuta l'inclusione dell'autorizzazione del controllo degli accessi in base al ruolo in un'applicazione, è consigliabile applicare le indicazioni seguenti:
- Definire i ruoli necessari per le esigenze di autorizzazione dell'applicazione.
- Applicare, archiviare e recuperare i ruoli pertinenti per gli utenti autenticati.
- Determinare il comportamento dell'applicazione in base ai ruoli assegnati all'utente corrente.
Dopo aver definito i ruoli, Microsoft Identity Platform supporta diverse soluzioni che possono essere usate per applicare, archiviare e recuperare le informazioni sui ruoli per gli utenti autenticati. Queste soluzioni includono ruoli dell'app, gruppi di Microsoft Entra e l'uso di archivi dati personalizzati per le informazioni sui ruoli utente.
Gli sviluppatori hanno la flessibilità necessaria per fornire la propria implementazione per il modo in cui le assegnazioni di ruolo devono essere interpretate come autorizzazioni dell'applicazione. Questa interpretazione delle autorizzazioni può comportare l'uso di middleware o di altre opzioni fornite dalla piattaforma delle applicazioni o dalle librerie correlate. Le applicazioni in genere ricevono informazioni sul ruolo utente come attestazioni e quindi decidono le autorizzazioni utente in base a tali attestazioni.
Ruoli dell'app
Microsoft Entra ID consente di definire i ruoli dell'app per l'applicazione e di assegnare tali ruoli agli utenti e ad altre applicazioni. I ruoli assegnati a un utente o a un'applicazione definiscono il livello di accesso alle risorse e alle operazioni nell'applicazione.
Quando Microsoft Entra ID rilascia un token di accesso per un utente o un'applicazione autenticata, include i nomi dei ruoli assegnati all'entità (l'utente o l'applicazione) nell'attestazione del token di roles
accesso. Un'applicazione come un'API Web che riceve tale token di accesso in una richiesta può quindi prendere decisioni di autorizzazione in base ai valori nell'attestazione roles
.
Gruppi
Gli sviluppatori possono anche usare i gruppi di Microsoft Entra per implementare il controllo degli accessi in base al ruolo nelle proprie applicazioni, in cui le appartenenze dell'utente in gruppi specifici vengono interpretate come appartenenze ai ruoli. Quando un'organizzazione usa gruppi, il token include un'attestazione di gruppi. L'attestazione di gruppo specifica gli identificatori di tutti i gruppi assegnati all'utente all'interno del tenant.
Importante
Quando si lavora con i gruppi, gli sviluppatori devono essere consapevoli del concetto di attestazione di eccedenza. Per impostazione predefinita, se un utente è membro di più del limite di eccedenza (150 per i token SAML, 200 per i token JWT, 6 se si usa il flusso implicito), Microsoft Entra ID non genera un'attestazione di gruppi nel token. Invece, include un'attestazione di eccedenza nel token che indica che il client del token deve eseguire una query sull'API Microsoft Graph per recuperare le appartenenze ai gruppi dell'utente. Per altre informazioni sull'uso delle attestazioni di eccedenza, vedere Attestazioni nei token di accesso. È possibile generare solo gruppi assegnati a un'applicazione, anche se l'assegnazione basata su gruppo richiede Microsoft Entra ID P1 o P2 Edition.
Archivio dati personalizzato
I ruoli utente e i gruppi dell'app archiviano le informazioni sulle assegnazioni utente nella directory Microsoft Entra. Un'altra opzione per la gestione delle informazioni sui ruoli utente disponibili per gli sviluppatori consiste nel mantenere le informazioni all'esterno della directory in un archivio dati personalizzato. Ad esempio, in un database SQL, nell'archiviazione tabelle di Azure o in Azure Cosmos DB per l'archiviazione delle tabelle.
L'uso dell'archiviazione personalizzata consente agli sviluppatori di personalizzare e controllare come assegnare ruoli agli utenti e come rappresentarli. Tuttavia, la flessibilità aggiuntiva introduce anche una maggiore responsabilità. Ad esempio, non esiste alcun meccanismo attualmente disponibile per includere queste informazioni nei token restituiti dall'ID Microsoft Entra. Le applicazioni devono recuperare i ruoli se le informazioni sul ruolo vengono mantenute in un archivio dati personalizzato. Il recupero dei ruoli viene in genere eseguito usando i punti di estendibilità definiti nel middleware disponibile per la piattaforma usata per sviluppare l'applicazione. Gli sviluppatori sono responsabili della protezione corretta dell'archivio dati personalizzato.
Usando i criteri personalizzati di Azure AD B2C , è possibile interagire con archivi dati personalizzati e includere attestazioni personalizzate all'interno di un token.
Scegliere un approccio
In generale, i ruoli dell'app sono la soluzione consigliata. I ruoli dell'app forniscono il modello di programmazione più semplice e sono destinati alle implementazioni del controllo degli accessi in base al ruolo. Tuttavia, requisiti specifici dell'applicazione possono indicare che un approccio diverso sarebbe una soluzione migliore.
Gli sviluppatori possono usare i ruoli dell'app per controllare se un utente può accedere a un'applicazione o un'applicazione può ottenere un token di accesso per un'API Web. I ruoli dell'app sono preferiti rispetto ai gruppi di Microsoft Entra da parte degli sviluppatori quando vogliono descrivere e controllare i parametri di autorizzazione nelle applicazioni. Ad esempio, un'applicazione che utilizza i gruppi per l'autorizzazione può non funzionare nel tenant successivo, poiché l'identificatore del gruppo e il nome potrebbero essere diversi. Un'applicazione che usa i ruoli dell'app rimane sicura.
Anche se i ruoli o i gruppi dell'app possono essere usati per l'autorizzazione, le differenze principali tra di esse possono influenzare qual è la soluzione migliore per uno scenario specifico.
Ruoli dell'app | Gruppi di Microsoft Entra | Archivio dati personalizzato | |
---|---|---|---|
Modello di programmazione | Più semplice. Sono specifici di un'applicazione e sono definiti nella registrazione dell'applicazione. Si spostano con l'applicazione. | Più complesso. Gli identificatori di gruppo variano tra gli inquilini e le attestazioni di eccedenza possono essere considerate. I gruppi non sono specifici di un'applicazione, ma di un tenant di Microsoft Entra. | Più complesso. Gli sviluppatori devono implementare mezzi con cui le informazioni sul ruolo vengono archiviate e recuperate. |
I valori dei ruoli sono statici tra i tenant di Microsoft Entra | Sì | NO | Dipende dall'implementazione. |
I valori dei ruoli possono essere usati in più applicazioni | No (a meno che la configurazione del ruolo non sia duplicata in ogni registrazione dell'applicazione). | Sì | Sì |
Informazioni archiviate all'interno della directory | Sì | Sì | NO |
Le informazioni vengono recapitate tramite token | Sì (attestazione dei ruoli) | Sì (in caso di eccedenza, potrebbe essere necessario recuperare le dichiarazioni di gruppi in fase di esecuzione) | No (recuperato in fase di esecuzione tramite codice personalizzato). |
durata | Risiede nella registrazione dell'applicazione nella directory. Rimosso quando la registrazione dell'applicazione viene rimossa. | Risiede nella directory. Rimanere intatti anche se la registrazione dell'applicazione viene rimossa. | Risiede nell'archivio dati personalizzato. Non associato alla registrazione dell'applicazione. |
Passaggi successivi
- Migliori pratiche per la gestione delle identità Azure e la sicurezza del controllo di accesso
- Per informazioni sull'autorizzazione corretta tramite attestazioni di token, vedere Api e applicazioni sicure convalidando le attestazioni