Condividi tramite


Configurare Gestore delle credenziali - API Microsoft Graph

SI APPLICA A: Tutti i livelli di Gestione API

Questo articolo illustra i passaggi necessari per creare una connessione gestita all'API Microsoft Graph da Gestione API di Azure. Usare il provider di identità Microsoft Entra per chiamare l'API Microsoft Graph. In questo esempio viene usato il tipo di concessione del codice di autorizzazione.

Annotazioni

In questo articolo è possibile configurare il provider di credenziali usando un tipo di concessione di codice di autorizzazione tradizionale con un segreto client o un tipo di concessione del codice di autorizzazione con credenziali di identità federate. Scegliere il percorso più adatto allo scenario. Le credenziali di identità federate eliminano la necessità di gestire e ruotare i segreti. Per altre informazioni, vedere Panoramica delle credenziali di identità federate in Microsoft Entra ID.

Scopri come:

  • Creare un'applicazione Microsoft Entra
  • Creare e configurare un provider di credenziali in Gestione API
  • Configurare una connessione
  • Creare un'API Microsoft Graph in API Management e configurare una politica
  • Testare l'API di Microsoft Graph in API Management

Prerequisiti

Passaggio 1: Creare un'applicazione Microsoft Entra

Creare un'applicazione Microsoft Entra per l'API e concedere le autorizzazioni appropriate per le richieste che si desidera chiamare.

  1. Accedere al portale di Azure con un account con autorizzazioni sufficienti nel tenant.

  2. Cerca e seleziona Microsoft Entra ID.

  3. In Gestisci nel menu della barra laterale selezionare Registrazioni app e quindi + Nuova registrazione.

  4. In Registra un'applicazione immettere le impostazioni di registrazione dell'applicazione:

    1. In Nome immettere un nome significativo per l'app, ad esempio MicrosoftGraphAuth.

    2. In Tipi di account supportati selezionare un'opzione adatta allo scenario, ad esempio Account in questa directory organizzativa (solo tenant singolo).

    3. Impostare URI di reindirizzamento su Web e immettere https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>, sostituendo il nome del servizio Gestione API in cui si configura il provider di credenziali.

    4. Selezionare Registrazione.

      Screenshot della creazione di una registrazione dell'app Microsoft Entra nel portale.

  5. Nel menu della barra laterale selezionare Gestisci>autorizzazioni API. Assicurarsi che l'autorizzazione User.Read con il tipo Delegato sia già stata aggiunta.

  6. Seleziona + Aggiungi un'autorizzazione. Screenshot dell'aggiunta di un'autorizzazione API nel portale.

    1. Selezionare Microsoft Graph e quindi autorizzazioni delegate.
    2. Digitare Team, espandere le opzioni Team e quindi selezionare Team.ReadBasic.All. Selezionare Aggiungi autorizzazioni.
    3. Selezionare quindi Concedi consenso amministratore per Directory predefinita. Lo stato delle autorizzazioni cambia in Concesso per la directory predefinita.
  7. Nel menu della barra laterale selezionare Panoramica. Nella sezione Panoramica, trova il valore ID applicazione (client) e registralo per l'uso nel passaggio 2. Se necessario, copiare anche il valore ID del tenant (directory).

Configurare il segreto client

  1. Nel menu della barra laterale selezionare Gestisci>certificati e segreti e quindi selezionare + Nuovo segreto client. Screenshot della creazione di un segreto dell'app nel portale.

    1. Immettere una descrizione.
    2. Selezionare un'opzione per Scadenza.
    3. Seleziona Aggiungi.
    4. Copiare il valore del segreto client prima di uscire dalla pagina. È necessario nel passaggio 2.

Passaggio 2: Configurare un provider di credenziali in Gestione API

  1. Passare all'istanza di Gestione API.

  2. In API nel menu della barra laterale selezionare Gestione credenziali e quindi + Crea. Screenshot della creazione di una credenziale API nel portale.

  3. In Crea provider di credenziali immettere le impostazioni seguenti e selezionare Crea:

    Settings Value
    Nome provider credenziali Nome scelto, ad esempio MicrosoftEntraID-01
    Provider di identità Selezionare Azure Active Directory v1
    Tipo di concessione Selezionare Codice di autorizzazione
    URL di autorizzazione Facoltativo per il provider di identità Microsoft Entra. Il valore predefinito è https://login.microsoftonline.com.
    Client ID Incollare il valore copiato in precedenza dalla registrazione dell'app
    Segreto del cliente Incolla il valore del segreto client creato nel passaggio 1
    URL risorsa https://graph.microsoft.com
    ID tenant Facoltativo per il provider di identità Microsoft Entra. Il valore predefinito è Common.
    Ambiti Opzionale per il provider di identità Microsoft Entra per questo tipo di concessione. Configurato automaticamente dalle autorizzazioni API dell'app Microsoft Entra.
  4. Nella finestra di dialogo visualizzata esaminare l'URL di reindirizzamento OAuth visualizzato e selezionare per confermare che corrisponde all'URL immesso nella registrazione dell'app.

Passaggio 2: Configurare un provider di credenziali in Gestione API

Gestione API può generare credenziali di identità federate. Quando vengono aggiunti alla registrazione dell'app Microsoft Entra, stabiliscono una relazione di trust tra Gestione API e Microsoft Entra. In questo modo si elimina la necessità di gestire i segreti per l'autenticazione.

  1. Passare all'istanza di Gestione API.

  2. In API nel menu della barra laterale selezionare Gestione credenziali e quindi + Crea. Screenshot della creazione di una credenziale API nel portale.

  3. In Crea provider di credenziali immettere le impostazioni seguenti e selezionare Crea:

    Settings Value
    Nome provider credenziali Nome scelto, ad esempio MicrosoftEntraID-federated-01
    Provider di identità Selezionare Azure Active Directory v1
    Tipo di concessione Selezionare Codice di autorizzazione con credenziali di identità federate
    URL di autorizzazione Facoltativo per il provider di identità Microsoft Entra. Il valore predefinito è https://login.microsoftonline.com.
    Client ID Incollare il valore copiato in precedenza dalla registrazione dell'app.
    URL risorsa https://graph.microsoft.com
    ID tenant Incollare il valore copiato in precedenza dalla registrazione dell'app.
    Ambiti Facoltativo per il provider di identità Microsoft Entra. Configurato automaticamente dalle autorizzazioni API dell'app Microsoft Entra.
  4. Nella finestra di dialogo visualizzata completare i passaggi seguenti:

    1. Esaminare l'URL di reindirizzamento OAuth visualizzato e verificare che corrisponda all'URL immesso nella registrazione dell'app.

    2. Selezionare il collegamento Entra application (Applicazione Entra ) per aggiungere le credenziali di identità federate visualizzate alla registrazione dell'app. Screenshot del completamento della configurazione di un provider federato di credenziali di identità nel portale.

    3. Nella finestra Aggiungi credenziali selezionare Altro emittente per lo scenario di credenziali federate.

    4. In Connetti l'account copiare e incollare i valori issuer e Subject identifier dalla finestra di dialogo nei campi corrispondenti.

    5. In Dettagli credenziali immettere un nome e una descrizione facoltativa per le credenziali. Verificare che il gruppo di destinatari corrisponda a quello visualizzato nella finestra di dialogo in Gestione API.

    6. Selezionare Aggiungi per creare le credenziali federate e completare la connessione tra Gestione API e la registrazione dell'app Microsoft Entra.

    Schermata della configurazione di una credenziale di identità federata nel portale.

  5. Nella finestra di dialogo Gestione API selezionare per confermare che si vuole continuare.

Passaggio 3: Configurare una connessione

Nella scheda Connessione completare i passaggi per la connessione al provider.

Annotazioni

Quando si configura una connessione, Gestione API configura per impostazione predefinita un criterio di accesso che consente l'accesso dall'identità gestita assegnata dai sistemi dell'istanza. Questo accesso è sufficiente per questo esempio. È possibile aggiungere altri criteri di accesso in base alle esigenze.

  1. Immettere un nome di connessione e quindi selezionare Salva.
  2. In Passaggio 2: Accedere alla connessione (per il tipo di concessione del codice di autorizzazione), selezionare il pulsante Login (Accedi ). Completare i passaggi con il provider di identità per autorizzare l'accesso e tornare a Gestione API. Al termine dell'accesso, lo stato della connessione viene modificato in Connesso.
  3. In Passaggio 3: Determinare chi avrà accesso a questa connessione (criteri di accesso) viene elencato il membro dell'identità gestita. L'aggiunta di altri membri è facoltativa, a seconda dello scenario.
  4. Selezionare Completa.

La nuova connessione viene visualizzata nell'elenco delle connessioni e mostra lo stato Connesso. Se si vuole creare un'altra connessione per il provider di credenziali, completare i passaggi precedenti.

Suggerimento

Usare il portale per aggiungere, aggiornare o eliminare connessioni a un provider di credenziali in qualsiasi momento. Per altre informazioni, vedere Configurare più connessioni.

Annotazioni

Se si aggiornano le autorizzazioni di Microsoft Graph dopo questo passaggio, è necessario ripetere i passaggi 2 e 3.

Passaggio 4: Creare un'API Microsoft Graph in Gestione delle API e configurare una politica

  1. In API nel menu della barra laterale selezionare API.

  2. Selezionare HTTP e immettere le impostazioni seguenti. Successivamente, seleziona Crea.

    Impostazione Value
    Nome visualizzato msgraph
    URL del servizio Web https://graph.microsoft.com/v1.0
    Suffisso URL API msgraph
  3. Passare all'API appena creata e selezionare + Aggiungi operazione. Immettere le impostazioni seguenti e selezionare Salva.

    Impostazione Value
    Nome visualizzato getprofile
    URL per richiesta GET /me
  4. Seguire i passaggi precedenti per aggiungere un'altra operazione con le impostazioni seguenti.

    Impostazione Value
    Nome visualizzato getJoinedTeams
    URL per richiesta GET /me/joinedTeams
  5. Selezionare Tutte le operazioni. Nella sezione Elaborazione in ingresso selezionare l'icona </> (editor di codice).

  6. Copiare e incollare il frammento di codice seguente. Aggiornare i get-authorization-context criteri con i nomi del provider di credenziali e della connessione configurati nei passaggi precedenti e selezionare Salva.

    • Sostituire il nome del provider di credenziali con il valore di provider-id.
    • Sostituire il nome della connessione con il valore di authorization-id.
    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="MicrosoftEntraID-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
           <set-header name="Authorization" exists-action="override">
               <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
           </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

La definizione di criteri precedente è costituita da due parti:

  • Il criterio get-authorization-context recupera un token di autorizzazione facendo riferimento al provider di credenziali e alla connessione creata in precedenza.
  • Il criterio set-header crea un'intestazione HTTP con il token di accesso recuperato.

Passaggio 5: Testare l'API

  1. Nella scheda Test selezionare un'operazione configurata.

  2. Seleziona Invia.

    Screenshot del test dell'API Graph nel portale.

    Una risposta con esito positivo restituisce i dati utente da Microsoft Graph.