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.
SI APPLICA A: Tutti i livelli di Gestione API
Questo articolo illustra i passaggi generali per configurare l'istanza di Gestione API di Azure per proteggere un'API usando il protocollo OAuth 2.0 con Microsoft Entra ID.
Per una panoramica concettuale dell'autorizzazione api, vedere Autenticazione e autorizzazione per le API in Gestione API.
Prerequisiti
Prima di seguire i passaggi descritti in questo articolo, è necessario disporre di:
- Un'istanza di Gestione API
- Un'API pubblicata usando l'istanza di Gestione API
- Un tenant di Microsoft Entra
Panoramica
Seguire questa procedura per proteggere un'API in Gestione API usando l'autorizzazione OAuth 2.0 con Microsoft Entra ID.
Registrare un'applicazione (denominata back-end-app in questo articolo) in Microsoft Entra ID.
Per accedere all'API, gli utenti o le applicazioni devono acquisire e presentare un token OAuth valido che concede l'accesso a questa applicazione con ogni richiesta API.
Configurare la policy validate-jwt in Gestione API. Questo criterio convalida il token OAuth presentato in ogni richiesta API in ingresso. Le richieste valide possono essere passate all'API.
I dettagli sui flussi di autorizzazione OAuth e su come generare i token OAuth necessari non rientrano nell'ambito di questo articolo. In genere, un'app client separata viene usata per acquisire token da Microsoft Entra ID che autorizzano l'accesso all'API. Per i collegamenti ad altre informazioni, vedere la sezione relativa al contenuto .
Registrare un'applicazione in Microsoft Entra ID per rappresentare l'API
Usando il portale di Azure, proteggere un'API con l'ID Microsoft Entra registrando prima un'applicazione che rappresenta l'API.
Per informazioni dettagliate sulla registrazione delle app, vedere Guida introduttiva: Configurare un'applicazione per esporre un'API Web.
Nel portale di Azure, cerca e seleziona Registrazioni app.
Seleziona Nuova registrazione.
Quando viene visualizzata la pagina Registra un'applicazione, inserire le informazioni di registrazione dell'applicazione:
- Nella sezione Nome immettere un nome di applicazione significativo, ad esempio back-end-app. Questo nome viene visualizzato agli utenti dell'app.
- Nella sezione Tipi di account supportati selezionare un'opzione adatta allo scenario.
Lasciare vuota la sezione URI di reindirizzamento.
Selezionare Registra per creare l'applicazione.
Nella pagina Panoramica dell'app trovare il valore del campo ID applicazione (client) e prenderne nota.
Nella sezione Gestisci del menu laterale selezionare Esporre un’API e impostare l’URI ID applicazione con il valore predefinito. Se si sviluppa un'app client separata per ottenere token OAuth 2.0 per l'accesso all'app back-end, registrare questo valore per un secondo momento.
Selezionare il pulsante Aggiungi un ambito per visualizzare la pagina Aggiungi un ambito:
- Immettere un nuovo nome di ambito, il nome visualizzato del consenso amministratore e la descrizione del consenso amministratore.
- Assicurarsi che lo stato dell'ambito Abilitato sia selezionato.
Selezionare il pulsante Aggiungi ambito per creare l'ambito.
Ripetere i due passaggi precedenti per aggiungere tutti gli ambiti supportati dall'API.
Dopo aver creato gli ambiti, prendere nota di tali ambiti per usarli in un secondo momento.
Configurare criteri di convalida JWT per preautorizzare le richieste
I criteri di esempio seguenti, quando vengono aggiunti alla sezione dei criteri di <inbound>, controllano il valore dell'attestazione del gruppo di destinatari in un token di accesso ottenuto dall'ID Microsoft Entra visualizzato nell'intestazione Authorization. Restituisce un messaggio di errore se il token non è valido. Configurare questo criterio in un ambito di criteri appropriato per lo scenario in uso.
- Nell'URL
openid-config,aad-tenantè l'ID tenant in Microsoft Entra ID. Trovare questo valore nel portale di Azure, ad esempio, nella pagina Panoramica della risorsa Microsoft Entra. L'esempio illustrato presuppone un'app Microsoft Entra a tenant singolo e un endpoint di configurazione v2. - Il valore di
claimè l'ID client dell'app back-end registrata in Microsoft Entra ID.
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://login.microsoftonline.com/{aad-tenant}/v2.0/.well-known/openid-configuration" />
<audiences>
<audience>{audience-value - (ex:api://guid)}</audience>
</audiences>
<issuers>
<issuer>{issuer-value - (ex: https://sts.windows.net/{tenant id}/)}</issuer>
</issuers>
<required-claims>
<claim name="aud">
<value>{backend-app-client-id}</value>
</claim>
</required-claims>
</validate-jwt>
Nota
L'URL openid-config precedente corrisponde all'endpoint v2. Per l'endpoint v1 openid-config, usare https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration.
Per informazioni su come configurare i criteri, vedere Impostare o modificare criteri. Per altre personalizzazioni sulle convalide di token JWT, vedere le informazioni di riferimento su validate-jwt. Per convalidare un token JWT fornito dal servizio Microsoft Entra, Gestione API fornisce anche i criteri di validate-azure-ad-token.
Flusso di lavoro di autorizzazione
Un utente o un'applicazione acquisisce un token da Microsoft Entra ID con autorizzazioni che concedono l'accesso all'app back-end. Se si usa l'endpoint v2, assicurarsi che la
accessTokenAcceptedVersionproprietà sia impostata su2nel manifesto dell'app back-end e di ogni app client configurata.Il token viene aggiunto nell'intestazione Autorizzazione delle richieste API a Gestione API.
Gestione API convalida il token usando il criterio di
validate-jwt.Se una richiesta non ha un token valido, Gestione API lo blocca.
Se una richiesta ha un token valido, il gateway può inoltrare la richiesta all'API.
Contenuti correlati
Per altre informazioni su come creare un'applicazione e implementare OAuth 2.0, vedere esempi di codice di Microsoft Entra.
Per un esempio end-to-end di configurazione dell'autorizzazione utente OAuth 2.0 nel portale per sviluppatori di Gestione API, vedere Come autorizzare la console di test del portale per sviluppatori configurando l'autorizzazione utente OAuth 2.0.
Altre informazioni su Microsoft Entra ID e OAuth2.0.
Per altri metodi di protezione del servizio back-end, vedere Autenticazione reciproca dei certificati.