Procedura: Aggiungere ruoli dell'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. Quando si usa il controllo degli accessi in base al ruolo, l'amministratore concede le autorizzazioni ai ruoli e non a singoli utenti o gruppi. 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 i ruoli applicazione e le attestazioni del ruolo, gli sviluppatori possono applicare in modo sicuro l'autorizzazione nelle app con meno sforzo.

Un altro approccio consiste nell'usare Azure AD e attestazioni di gruppo come illustrato nell'esempio di codice active-directory-aspnetcore-webapp-openidconnect-v2 in GitHub. Azure AD e i ruoli applicazione non si escludono a vicenda. possono essere usati in tandem per fornire un controllo di accesso ancora più granulare.

Dichiarare i ruoli per un'applicazione

Per definire i ruoli dell'app, usare portale di Azure. I ruoli dell'app vengono in genere definiti in una registrazione dell'applicazione che rappresenta un servizio, un'app o un'API. Quando un utente accede all'applicazione, Azure AD genera un'attestazione per ogni ruolo a cui l'utente o l'entità servizio è stata concessa singolarmente all'utente e dall'appartenenza roles al gruppo. 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.

Importante

Attualmente, se si aggiunge un'entità servizio a un gruppo e quindi si assegna un ruolo dell'app a tale gruppo, Azure AD non aggiunge l'attestazione roles ai token che elava.

Esistono due modi per dichiarare i ruoli dell'app usando il portale di Azure:

Il numero di ruoli aggiunti viene conteggiato per i limiti del manifesto dell'applicazione applicati Azure Active Directory. Per informazioni su questi limiti, vedere la sezione Limiti del manifesto di Azure Active Directory informazioni di riferimento sul manifesto dell'app.

Interfaccia utente dei ruoli dell'app

Per creare un ruolo dell'app usando portale di Azure'interfaccia utente del ruolo:

  1. Accedere al portale di Azure.

  2. Selezionare il filtro Directory e sottoscrizione nel menu superiore e quindi scegliere il tenant Azure Active Directory che contiene la registrazione dell'app a cui si vuole aggiungere un ruolo app.

  3. Cercare e selezionare Azure Active Directory.

  4. In Gestisci selezionare Registrazioni app e quindi selezionare l'applicazione in cui si vogliono definire i ruoli dell'app.

  5. Selezionare Ruoli app e quindi Crea ruolo app.

    Riquadro Dei ruoli dell'app di registrazione dell'app nel portale di Azure

  6. Nel riquadro Crea ruolo app immettere le impostazioni per il ruolo. Nella tabella seguente l'immagine descrive ogni impostazione e i relativi parametri.

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

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

    Se disponibili per , i ruoli app vengono visualizzati come autorizzazioni dell'applicazione nella sezione Gestione della registrazione di un'app > autorizzazioni api > Aggiungi un'autorizzazione > Api > applications Scegliere un'API > Autorizzazioni applicazione .
    Users/Groups
    Valore Specifica il valore dell'attestazione dei ruoli che l'applicazione deve prevedere nel token. Il valore deve corrispondere esattamente alla stringa a cui viene fatto riferimento nel codice dell'applicazione. Il valore non può contenere spazi. Survey.Create
    Descrizione Descrizione più dettagliata del ruolo dell'app visualizzato durante le esperienze di assegnazione e consenso dell'app amministratore. Writers can create surveys.
    Si vuole 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. Controllato
  7. Fare clic su Applica per salvare le modifiche.

Editor del manifesto dell'app

Per aggiungere ruoli modificando direttamente il manifesto:

  1. Accedere al portale di Azure.
  2. Selezionare il filtro Directory e sottoscrizione nel menu in alto e quindi scegliere il tenant di Azure Active Directory che contiene la registrazione dell'app a cui si vuole aggiungere un ruolo app.
  3. Cercare e selezionare Azure Active Directory.
  4. In Gestisci selezionare Registrazioni app e quindi selezionare l'applicazione in cui si vogliono definire i ruoli dell'app.
  5. Di nuovo in Gestisci selezionare Manifesto.
  6. Modificare il manifesto dell'app individuando appRoles l'impostazione e aggiungendo i ruoli applicazione. È possibile definire ruoli dell'app che hanno users come destinazione , o applications entrambi. I frammenti di codice JSON seguenti mostrano esempi di entrambi.
  7. Salvare il manifesto.

Ogni definizione di ruolo app nel manifesto deve avere un GUID univoco per il id relativo valore.

La proprietà value di ogni definizione del ruolo dell'app deve corrispondere esattamente alle stringhe usate nel codice dell'applicazione. La proprietà value non può contenere spazi. In caso contrario, si riceverà un errore quando si salva il manifesto.

Esempio: Ruolo dell'app utente

Questo esempio definisce un ruolo dell'app denominato Writer che è possibile assegnare a User :

"appId": "8763f1c4-0000-0000-0000-158e9ef97d6a",
"appRoles": [
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Writer",
      "id": "d1c2ade8-0000-0000-0000-6d06b947c66f",
      "isEnabled": true,
      "description": "Writers Have the ability to create tasks.",
      "value": "Writer"
    }
  ],
"availableToOtherTenants": false,

Esempio: Ruolo dell'app dell'applicazione

Se disponibili per , i ruoli app vengono visualizzati come autorizzazioni dell'applicazione nella sezione Gestione della registrazione di un'app > Autorizzazioni API > Aggiungi un'autorizzazione > API > applications Scegliere un'API > Autorizzazioni dell'applicazione .

Questo esempio mostra un ruolo dell'app destinato a Application :

"appId": "8763f1c4-0000-0000-0000-158e9ef97d6a",
"appRoles": [
    {
      "allowedMemberTypes": [
        "Application"
      ],
      "displayName": "ConsumerApps",
      "id": "47fbb575-0000-0000-0000-0f7a6c30beac",
      "isEnabled": true,
      "description": "Consumer apps have access to the consumer data.",
      "value": "Consumer"
    }
  ],
"availableToOtherTenants": false,

Assegnare i ruoli a utenti e gruppi

Dopo aver aggiunto i ruoli dell'app nell'applicazione, è possibile assegnare utenti e gruppi ai ruoli. 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 dell'app a ogni accesso all'applicazione, i token avranno i ruoli assegnati roles nell'attestazione.

Per assegnare utenti e gruppi ai ruoli usando il portale di Azure:

  1. Accedere al portale di Azure.
  2. In Azure Active Directory selezionare Applicazioni aziendali nel menu di spostamento a sinistra.
  3. Selezionare Tutte le applicazioni per visualizzare un elenco di tutte le applicazioni. Se l'applicazione non viene visualizzata nell'elenco, usare i filtri nella parte superiore dell'elenco Tutte le applicazioni per limitare l'elenco oppure scorrere l'elenco verso il basso per individuare l'applicazione.
  4. Selezionare l'applicazione in cui si vuole assegnare ruoli a utenti o gruppi di sicurezza.
  5. In Gestisci selezionare Utenti e gruppi.
  6. Selezionare Aggiungi utente per aprire il riquadro Aggiungi assegnazione.
  7. Fare clic sul selettore Utenti e gruppi nel riquadro Aggiungi assegnazione. Viene visualizzato un elenco di utenti e gruppi di sicurezza. È possibile cercare un determinato utente o gruppo, nonché selezionare più utenti e gruppi visualizzati nell'elenco.
  8. Dopo aver selezionato utenti e gruppi, selezionare il pulsante Seleziona per continuare.
  9. Selezionare Seleziona un ruolo nel riquadro Aggiungi assegnazione. Vengono visualizzati tutti i ruoli definiti per l'applicazione.
  10. Scegliere un ruolo e selezionare il pulsante Seleziona.
  11. Selezionare il pulsante Assegna per completare l'assegnazione di utenti e gruppi all'app.

Verificare che gli utenti e i gruppi aggiunti vengano visualizzati nell'elenco Utenti e gruppi.

Assegnare ruoli app alle applicazioni

Dopo aver aggiunto i ruoli dell'app nell'applicazione, è possibile assegnare un ruolo app a un'app client usando il portale di Azure o a livello di codice usandoMicrosoft Graph .

Quando si assegnano ruoli dell'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 autenticare ed effettuare chiamate API autorizzate come se stesse, senza l'interazione di un utente.

Per assegnare ruoli dell'app a un'applicazione usando il portale di Azure:

  1. Accedere al portale di Azure.
  2. In Azure Active Directory selezionare Registrazioni app nel menu di spostamento a sinistra.
  3. Selezionare Tutte le applicazioni per visualizzare un elenco di tutte le applicazioni. Se l'applicazione non viene visualizzata nell'elenco, usare i filtri nella parte superiore dell'elenco Tutte le applicazioni per limitare l'elenco oppure scorrere l'elenco verso il basso per individuare l'applicazione.
  4. Selezionare l'applicazione a cui si vuole assegnare un ruolo app.
  5. Selezionare Autorizzazioni API > Aggiungi un'autorizzazione.
  6. Selezionare la scheda Le mie API e quindi selezionare l'app per cui sono stati definiti i ruoli dell'app.
  7. Selezionare Autorizzazioni applicazione.
  8. Selezionare i ruoli da assegnare.
  9. 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, non autorizzazioni delegate, un amministratore deve concedere il consenso per l'uso dei ruoli dell'app assegnati all'applicazione.

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

La colonna Stato deve riflettere il consenso concesso per <tenant name>.

Usare i ruoli dell'app nell'API Web

Dopo aver definito i ruoli dell'app e averli assegnati a un utente, un gruppo o un'applicazione, il passaggio successivo consiste nell'aggiungere codice all'API Web che controlli tali ruoli quando viene chiamata l'API. Ciò significa che quando un'app client richiede un'operazione API che si è deciso richiede l'autorizzazione, il codice dell'API deve verificare che gli ambiti siano nel token di accesso presentato nella chiamata dell'app client.

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 essi possono influenzare le opzioni che si decide di usare 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 Azure AD app.
I ruoli dell'app vengono rimossi quando viene rimossa la registrazione dell'app. I gruppi rimangono intatti anche se l'app viene rimossa.
Fornito roles nell'attestazione. Fornito groups nell'attestazione.

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

I ruoli app sono preferiti dagli sviluppatori quando vogliono descrivere e controllare i parametri di autorizzazione nella propria app. Ad esempio, un'app che usa gruppi per l'autorizzazione interromperà nel tenant successivo perché l'ID e il nome del gruppo potrebbero essere diversi. Un'app che usa i ruoli dell'app rimane sicura. In realtà, l'assegnazione di gruppi ai ruoli dell'app è molto diffusa nelle app SaaS per gli stessi motivi.

Passaggi successivi

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