Guida introduttiva: Configurare un'applicazione client per accedere a un'API Web

Questo argomento di avvio rapido illustra come fornire a un'app client registrata con Microsoft Identity Platform l'accesso con ambito basato su autorizzazioni all'API Web personalizzata. Viene spiegato anche come fornire l'accesso all'app client a Microsoft Graph.

Specificando gli ambiti di un'API Web nella registrazione dell'app client, l'app client può ottenere da Microsoft Identity Platform un token di accesso che contiene gli ambiti. All'interno del codice, l'API Web può quindi fornire accesso basato su autorizzazioni alle relative risorse in base agli ambiti trovati nel token di accesso.

Prerequisiti

Aggiungere autorizzazioni per accedere all'API Web

Suggerimento

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

L'accesso alle API richiede la configurazione di ruoli e ambiti di accesso. Per esporre le API Web dell'applicazione di risorse alle applicazioni client, configurare gli ambiti di accesso e i ruoli per l'API. Per consentire a un'applicazione client di accedere a un'API Web, configurare le autorizzazioni per accedere all'API nella registrazione dell'app.

Nel primo scenario si concede a un'app client l'accesso all'API Web personalizzata. Entrambi devono essere registrate come previsto nei prerequisiti. Se non si hanno ancora un'app client e un'API Web, completare la procedura descritta nei due articoli inclusi nei prerequisiti.

Questo diagramma mostra la correlazione tra le due registrazioni dell'app. In questa sezione vengono aggiunte le autorizzazioni per la registrazione dell'app client.

Line diagram showing a web API with exposed scopes on the right and a client app on the left with those scopes selected as permissions

Dopo aver registrato sia l'app client che l'API Web e aver esposto l'API creando gli ambiti, seguire questa procedura per configurare le autorizzazioni del client per l'API:

  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à>Registrazioni app e quindi selezionare l'applicazione client (non l'API Web).

  4. Selezionare Autorizzazioni API>Aggiungi un'autorizzazione>Le mie API.

  5. Selezionare l'API Web registrata come parte dei prerequisiti.

    L'opzione Autorizzazioni delegate è selezionata per impostazione predefinita. Le autorizzazioni delegate sono appropriate per le app client che accedono a un'API Web come utente connesso e il cui accesso deve essere limitato alle autorizzazioni selezionate nel passaggio successivo. Per questo esempio lasciare selezionata l'opzione Autorizzazioni delegate.

    Usare Autorizzazioni applicazione per applicazioni di tipo servizio o daemon che devono accedere a un'API Web automaticamente, senza richiedere l'intervento dell'utente per l'accesso o il consenso. A meno che non siano stati definiti ruoli applicazione per l'API Web, questa opzione è disabilitata.

  6. In Selezionare le autorizzazioni espandere la risorsa con gli ambiti definiti per l'API Web e selezionare le autorizzazioni che l'app client deve avere per conto dell'utente che ha eseguito l'accesso.

    Se sono stati usati i nomi di ambito di esempio specificati nell'argomento di avvio rapido precedente, i valori visualizzati dovrebbero essere Employees.Read.All e Employees.Write.All. Selezionare Employees.Read.All o un'altra autorizzazione eventualmente creata durante il completamento dei prerequisiti.

  7. Selezionare Aggiungi autorizzazioni per completare il processo.

Dopo aver aggiunto le autorizzazioni per l'API, le autorizzazioni selezionate dovrebbero essere visualizzate in Autorizzazioni configurate. L'immagine seguente illustra l'autorizzazione delegata di esempio Employees.Read.All aggiunta alla registrazione dell'app client.

Configured permissions pane in the Azure portal showing the newly added permission

Notare anche l'autorizzazione User.Read per l'API Microsoft Graph. Questa autorizzazione viene aggiunta automaticamente quando si registra un'app nel portale di Azure.

Aggiungere autorizzazioni per accedere a Microsoft Graph

Oltre ad accedere all'API Web personalizzata per conto dell'utente connesso, l'applicazione potrebbe anche dover accedere o modificare i dati dell'utente (o di altro tipo) archiviati in Microsoft Graph. Potrebbe anche essere presente un'app di servizio o daemon che deve accedere a Microsoft Graph automaticamente, eseguendo operazioni senza alcuna interazione utente.

Autorizzazione delegata per Microsoft Graph

Configurare l'autorizzazione delegata per Microsoft Graph per consentire all'applicazione client di eseguire operazioni per conto dell'utente connesso, ad esempio la lettura della posta elettronica o la modifica del profilo. Per impostazione predefinita, quando eseguono l'accesso, agli utenti dell'app client viene richiesto di fornire il consenso alle autorizzazioni delegate configurate.

  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 client.

  4. Selezionare Autorizzazioni API>Aggiungi un'autorizzazione>Microsoft Graph.

  5. Seleziona Autorizzazioni delegate. Microsoft Graph espone numerose autorizzazioni. Quella usata più di frequente è visualizzata all'inizio dell'elenco.

  6. In Selezionare le autorizzazioni selezionare le autorizzazioni seguenti:

    Autorizzazione Descrizione
    email Visualizzare l'indirizzo di posta elettronica degli utenti
    offline_access Conservazione dell'accesso ai dati per cui è stato autorizzato l'accesso
    openid Concedere l'accesso agli utenti
    profile Visualizzare il profilo di base degli utenti
  7. Selezionare Aggiungi autorizzazioni per completare il processo.

Quando si configurano le autorizzazioni, agli utenti dell'app che eseguono l'accesso viene richiesto di fornire il consenso per consentire all'app di accedere all'API di risorse per conto dell'utente.

Gli amministratori possono anche concedere il consenso per conto di tutti gli utenti in modo che non venga visualizzata alcuna richiesta di consenso. Il consenso amministratore è illustrato più avanti nella sezione Altre informazioni sulle autorizzazioni per le API e sul consenso amministratore di questo articolo.

Autorizzazione dell'applicazione per Microsoft Graph

Configurare le autorizzazioni dell'applicazione per un'applicazione che deve eseguire l'autenticazione automaticamente senza alcuna interazione o consenso dell'utente. Le autorizzazioni dell'applicazione vengono in genere usate da servizi in background o da app daemon che accedono a un'API in modalità "headless" e da API Web che accedono a un'altra API (downstream).

Nella procedura seguente viene concessa, ad esempio, l'autorizzazione Files.Read.All di Microsoft Graph.

  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 client.

  4. Selezionare Autorizzazioni API>Aggiungi un'autorizzazione>Microsoft Graph>Autorizzazioni applicazione.

  5. Tutte le autorizzazioni esposte da Microsoft Graph sono visualizzate in Selezionare le autorizzazioni.

  6. Selezionare l'autorizzazione o le autorizzazioni da concedere all'applicazione. È ad esempio possibile che sia presente un'app daemon che analizza i file dell'organizzazione, inviando avvisi relativi a un nome o un tipo di file specifico.

    In Selezionare le autorizzazioni espandere File e quindi selezionare l'autorizzazione Files.Read.All.

  7. Selezionare Aggiungi autorizzazioni.

Per alcune autorizzazioni, come quella Files.Read.All di Microsoft Graph, è richiesto il consenso amministratore. Per concedere il consenso dell'amministratore, selezionare il pulsante Fornisci il consenso amministratore, illustrato più avanti nella sezione Pulsante Consenso amministratore.

Configurare le credenziali del client

Le app che usano le autorizzazioni dell'applicazione eseguono l'autenticazione con le proprie credenziali, senza richiedere alcuna interazione utente. Prima che l'applicazione (o l'API) possa accedere a Microsoft Graph, all'API Web o a un'altra API usando le autorizzazioni dell'applicazione, è necessario configurare le credenziali dell'app client.

Per altre informazioni sulla configurazione delle credenziali di un'app, vedere la sezione Aggiungere credenziali di Avvio rapido: Registrare un'applicazione con Microsoft Identity Platform.

Il riquadro Autorizzazioni API di una registrazione dell'app contiene una tabella Autorizzazioni configurate e potrebbe includere anche una tabella Altre autorizzazioni concesse. Entrambe le tabelle e il pulsante Consenso amministratore sono descritti nelle sezioni seguenti.

Autorizzazioni configurate

La tabella Autorizzazioni configurate nel riquadro Autorizzazioni API mostra l'elenco delle autorizzazioni richieste dall'applicazione per le operazioni di base, ovvero l'elenco di accesso alle risorse necessarie. Gli utenti o i relativi amministratori dovranno fornire il consenso per queste autorizzazioni prima di usare l'app. In un secondo momento in fase di esecuzione è possibile richiedere altre autorizzazioni facoltative (usando il consenso dinamico).

Questo è l'elenco minimo di autorizzazioni per cui gli utenti dovranno fornire il consenso per usare l'app. Le autorizzazioni potrebbero essere più numerose, ma queste rimarranno obbligatorie. Per garantire una maggiore sicurezza e per facilitare l'uso dell'app per utenti e amministratori, è preferibile chiedere il consenso solo per le autorizzazioni realmente necessarie.

Per aggiungere o rimuovere le autorizzazioni visualizzate in questa tabella o in Altre autorizzazioni concesse (descritto nella sezione successiva), usare la procedura descritta in precedenza. Gli amministratori possono fornire il consenso amministratore per il set completo di autorizzazioni di un'API visualizzate nella tabella e revocarlo per singole autorizzazioni.

Altre autorizzazioni concesse

È anche possibile visualizzare una tabella denominata Altre autorizzazioni concesse per {tenant} nel riquadro Autorizzazioni API. La tabella Altre autorizzazioni concesse per {tenant} mostra le autorizzazioni concesse a livello di tenant per il tenant che non sono state configurate in modo esplicito nell'oggetto applicazione. Queste autorizzazioni sono state richieste dinamicamente e concesse da un amministratore per conto di tutti gli utenti. Questa sezione viene visualizzata solo se è presente almeno un'autorizzazione applicabile.

È possibile aggiungere nella tabella Autorizzazioni configurate il set completo di autorizzazioni o singole autorizzazioni di un'API visualizzate in questa tabella. Gli amministratori possono revocare il consenso amministratore per le API o per singole autorizzazioni in questa sezione.

Il pulsante Concedi consenso amministratore per {tenant} consente a un amministratore di fornire il consenso amministratore alle autorizzazioni configurate per l'applicazione. Quando si seleziona il pulsante, viene visualizzata una finestra di dialogo che chiede di confermare l'azione di consenso.

Grant admin consent button highlighted in the Configured permissions pane in the Azure portal

Dopo aver fornito il consenso, le autorizzazioni che richiedono il consenso amministratore vengono visualizzate come autorizzate:

Configure permissions table in Azure portal showing admin consent granted for the Files.Read.All permission

Se non si è un amministratore o se non sono state configurate autorizzazioni per l'applicazione, il pulsante Concedi consenso amministratore è disabilitato. In caso di autorizzazioni concesse ma non ancora configurate, verrà chiesto di decidere come gestirle quando si fa clic sul pulsante del consenso amministratore. È possibile aggiungerle alle autorizzazioni configurate o rimuoverle.

Passaggi successivi

Passare all'argomento di avvio rapido successivo della serie per informazioni su come configurare i tipi di account che possono accedere all'applicazione. Ad esempio, è possibile limitare l'accesso solo agli utenti dell'organizzazione (tenant singolo) o consentire agli utenti in altri tenant di Microsoft Entra (multi-tenant) e a quelli con account Microsoft personali (MSA).