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 minore impegno.

Un altro approccio consiste nell'usare i gruppi di Microsoft Entra e le attestazioni di gruppo, 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 controllo di accesso più granulare.

Dichiarare i ruoli per un'applicazione

I ruoli dell'app vengono definiti usando l'interfaccia di amministrazione di Microsoft Entra durante il processo di registrazione dell'app. I ruoli dell'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. Può essere usato per implementare l'autorizzazione basata su attestazioni. I ruoli dell'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:

Numero di ruoli aggiunti per i limiti del manifesto dell'applicazione applicati dall'ID Microsoft Entra. Per informazioni su questi limiti, vedere la sezione Limiti del manifesto di Microsoft Entra app manifest reference (Informazioni di riferimento sul manifesto dell'app Microsoft Entra).

Interfaccia utente dei ruoli dell'app

Suggerimento

I passaggi descritti in questo articolo possono variare leggermente in base al portale da cui si inizia.

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 come almeno un'applicazione cloud Amministrazione istrator.

  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 Identity>Applications> Registrazioni app e quindi selezionare l'applicazione in cui si vogliono definire i ruoli dell'app.

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

    An app registration's app roles pane in the Azure portal

  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.

    An app registration's app roles create context pane in the Azure portal

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

    Quando disponibile per applications, i ruoli dell'app vengono visualizzati come autorizzazioni dell'applicazione nelle autorizzazioni > API gestisci di una registrazione> dell'app Aggiungere un'autorizzazione > Le API > personali Scegliere un'applicazione API > autorizzazioni.
    Users/Groups
    valore Specifica il valore dell'attestazione dei ruoli che l'applicazione deve aspettarsi 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 l'assegnazione dell'app amministratore e le esperienze di consenso. Writers can create surveys.
    Abilitare questo ruolo dell'app? Specifica se il ruolo dell'app è abilitato. Per eliminare un ruolo dell'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. Seleziona Applica per salvare le modifiche.

Quando il ruolo dell'app è impostato su abilitato, tutti gli utenti, le applicazioni o i gruppi a cui è assegnato lo hanno incluso nei token. Questi possono essere token di accesso quando l'app è l'API chiamata da un'app o da token ID quando l'app accede a 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 non ha alcun effetto perché non è più assegnabile attivamente.

Assegnare il proprietario dell'applicazione

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

  1. Nella registrazione dell'app, in Gestisci selezionare Proprietari e Aggiungi proprietari.
  2. Nella nuova finestra trovare e selezionare i 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 che l'applicazione che si vuole aggiungere autorizzazioni a entrambi dispongono di 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. Questo non deve essere confuso 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 come almeno un'applicazione cloud Amministrazione istrator.
  2. Passare a Applicazioni> di identità>Registrazioni app e 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 Autorizzazione selezionare i ruoli da assegnare.
  8. Selezionare il pulsante Aggiungi autorizzazioni per completare l'aggiunta dei ruoli.

I ruoli appena aggiunti dovrebbero essere 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 di registrazione dell'app selezionare Concedi consenso amministratore per <il nome> del tenant.
  2. Selezionare quando viene richiesto di concedere il consenso per le autorizzazioni richieste.

La colonna Stato deve riflettere che il consenso è stato concesso per <il nome> del 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 le assegna a utenti e gruppi nel riquadro Applicazioni aziendali . 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 dell'app e gruppi

Anche se è possibile usare i ruoli o i gruppi dell'app per l'autorizzazione, le differenze principali tra di esse 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 di Microsoft Entra.
I ruoli dell'app vengono rimossi quando la registrazione dell'app viene rimossa. 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 in 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 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 avranno i ruoli 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 come almeno un'applicazione cloud Amministrazione istrator.
  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 Applicazioni di identità>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.