Condividi tramite


Connessioni OAuth 2.0 in Gestione credenziali - Dettagli e flussi del processo

SI APPLICA A: Tutti i livelli di Gestione API

Questo articolo fornisce informazioni dettagliate sui flussi di processo per la gestione delle connessioni OAuth 2.0 tramite Gestione credenziali in Gestione API di Azure. I flussi di processo sono suddivisi in due parti: gestione e runtime.

Per informazioni generali su Gestione credenziali in Gestione API, vedere Informazioni su Gestione credenziali e credenziali API in Gestione API.

Gestione delle connessioni

La parte di gestione delle connessioni in Gestione credenziali si occupa dell’impostazione e della configurazione di un provider di credenziali per i token OAuth 2.0, dell'abilitazione del flusso di consenso per il provider e della configurazione di una o più connessioni al provider di credenziali per l'accesso alle credenziali.

L'immagine seguente riepiloga il flusso di processo per la creazione di una connessione in Gestione API che usa il tipo di concessione del codice di autorizzazione.

Diagramma che mostra il flusso di processo per la creazione di credenziali.

Procedi Description
1 Il client invia una richiesta per creare un provider di credenziali
2 Viene creato il provider di credenziali e viene inviata una risposta
3 Il client invia una richiesta per creare una connessione
4 Viene creata la connessione e viene inviata una risposta con l’informazione che l'autorizzazione non è "connessa"
5 Il client invia una richiesta per recuperare un URL di accesso per avviare il consenso OAuth 2.0 nel provider di credenziali. La richiesta include un URL di post-reindirizzamento da usare nell'ultimo passaggio
6 La risposta viene restituita con un URL di accesso che deve essere usato per avviare il flusso di consenso.
7 Il client apre un browser con l'URL di accesso fornito nel passaggio precedente. Il browser viene reindirizzato al flusso di consenso OAuth 2.0 del provider di credenziali
8 Dopo l'approvazione del consenso, il browser viene reindirizzato con un codice di autorizzazione all'URL di reindirizzamento configurato nel provider di credenziali
9 Gestione API usa il codice di autorizzazione per recuperare i token di accesso e di aggiornamento
10 Gestione API riceve i token e li crittografa
11 Gestione API reindirizza all'URL fornito dal passaggio 5

Provider credenziali

Quando viene configurato il provider di credenziali, è possibile scegliere tra diversi provider OAuth e tipi di concessione (codice di autorizzazione o credenziali client). Ogni provider richiede configurazioni specifiche. Aspetti importanti da tenere presenti:

  • Una configurazione del provider di credenziali può avere un solo tipo di concessione.
  • Una configurazione del provider di credenziali può avere più connessioni.

Nota

Con il provider OAuth 2.0 generico, è possibile usare altri provider di identità che supportano gli standard del flusso OAuth 2.0.

Quando si configura un provider di credenziali, in background Gestione credenziali crea un archivio credenziali usato per memorizzare nella cache i token di accesso OAuth 2.0 del provider e i token di aggiornamento.

Connessione a un provider di credenziali

Per accedere e usare i token per un provider, le app client necessitano di una connessione al provider di credenziali. Una determinata connessione è consentita dai criteri di accesso basati sulle identità Microsoft Entra ID. È possibile configurare più connessioni per un provider.

Il processo di configurazione di una connessione è diverso in base alla concessione configurata ed è specifico per la configurazione del provider di credenziali. Ad esempio, se si vuole configurare l'ID Microsoft Entra per l'uso di entrambi i tipi di concessione, sono necessarie due configurazioni del provider di credenziali. Nella tabella seguente vengono riepilogati i due tipi di concessione.

Tipo di concessione Descrizione
Codice di autorizzazione Associato a un contesto utente, ovvero un utente deve fornire il consenso alla connessione. Se il token di aggiornamento è valido, Gestione API può recuperare nuovi token di accesso e aggiornamento. Se il token di aggiornamento non è valido, l'utente deve riautorizzare. Tutti i provider di credenziali supportano il codice di autorizzazione. Ulteriori informazioni
Credenziali del client Non è associato a un utente e viene spesso usato negli scenari da applicazione a applicazione. Non è necessario alcun consenso per il tipo di concessione delle credenziali client e la connessione non diventa non valida. Ulteriori informazioni

Per le connessioni basate sul tipo di concessione del codice di autorizzazione, è necessario eseguire l'autenticazione al provider e fornire il consenso per l'autorizzazione. Al termine dell'accesso e dell'autorizzazione da parte del provider di credenziali, il provider restituisce token di accesso e aggiornamento validi, crittografati e salvati da Gestione API.

Criteri di accesso

Configurare uno o più criteri di accesso per ogni connessione. I criteri di accesso determinano quali identità di Microsoft Entra ID possono ottenere l'accesso alle credenziali in fase di esecuzione. Le connessioni supportano attualmente l'accesso tramite entità servizio, l’identità dell’istanza di Gestione API, utenti e gruppi.

Identità Descrizione Vantaggi Considerazioni
Entità servizio Identità i cui token possono essere usati per autenticare e concedere l'accesso a risorse di Azure specifiche quando un'organizzazione usa l'ID Microsoft Entra. Usando un'entità servizio, le organizzazioni evitano di creare utenti fittizi per gestire l'autenticazione quando devono accedere a una risorsa. Un'entità servizio è un'identità Microsoft Entra che rappresenta un'applicazione Microsoft Entra registrata. Consente l'accesso con ambito più ristretto agli scenari di connessione e delega utente. Non è associato a un'istanza specifica di Gestione API. Si basa sull'ID Microsoft Entra per l'imposizione delle autorizzazioni. Per ottenere il contesto di autorizzazione è necessario un token Microsoft Entra ID.
Identità gestita <Your API Management instance name> Questa opzione corrisponde a un'identità gestita associata all'istanza di Gestione API. Per impostazione predefinita, l’accesso viene fornito all'identità gestita assegnata dal sistema per l'istanza di Gestione API corrispondente. L'identità è associata all'istanza di Gestione API. Chiunque disponga dell'accesso collaboratore all'istanza di Gestione API può accedere a qualsiasi connessione che concede autorizzazioni di identità gestite.
Utenti o gruppi Utenti o gruppi nel tenant di Microsoft Entra ID. Consente di limitare l'accesso a utenti o gruppi di utenti specifici. Richiede che gli utenti dispongano di un account Microsoft Entra ID.

Runtime delle connessioni

La parte di runtime richiede che un'API OAuth 2.0 back-end sia configurata con i criteri get-authorization-context. In fase di esecuzione, i criteri recuperano e archiviano i token di accesso e aggiornamento dall'archivio credenziali configurato da Gestione API per il provider. Quando viene eseguita una chiamata a Gestione API e vengono eseguiti i criteri get-authorization-context, viene prima convalidato se il token di autorizzazione esistente è valido. Se il token di autorizzazione è scaduto, Gestione API usa un flusso OAuth 2.0 per aggiornare i token archiviati dal provider di credenziali. Il token di accesso viene quindi usato per autorizzare l'accesso al servizio back-end.

Durante l'esecuzione dei criteri, l'accesso ai token viene convalidato anche usando i criteri di accesso.

L'immagine seguente mostra un esempio di processo di flusso per recuperare e archiviare i token di autorizzazione e aggiornamento in base a una connessione che usa il tipo di concessione del codice di autorizzazione. Dopo aver recuperato i token, viene effettuata una chiamata all'API back-end.

Diagramma che mostra il flusso del processo per il recupero del token in fase di esecuzione.

Procedi Description
1 Il client invia una richiesta all'istanza di Gestione API
2 I criteri get-authorization-context controllano se il token di accesso è valido per la connessione corrente
3 Se il token di accesso è scaduto ma il token di aggiornamento è valido, Gestione API tenta di recuperare nuovi token di accesso e di aggiornamento dal provider di credenziali configurato
4 Il provider di identità restituisce sia un token di accesso che un token di aggiornamento, che vengono crittografati e salvati in Gestione API
5 Dopo aver recuperato i token, il token di accesso viene associato usando il criterio set-header come intestazione di autorizzazione per la richiesta in uscita all'API back-end
6 La risposta viene restituita a Gestione API
7 La risposta viene restituita al client