Informazioni sulle credenziali API e sulla gestione delle credenziali

SI APPLICA A: Tutti i livelli di Gestione API

Per gestire l'accesso alle API back-end, l'istanza di Gestione API include un gestore delle credenziali. Usare Gestione credenziali per gestire, archiviare e controllare l'accesso alle credenziali API dall'istanza di Gestione API.

Nota

  • Attualmente, è possibile usare Gestione credenziali per configurare e gestire le connessioni (in precedenza denominate autorizzazioni) per le API OAuth 2.0 back-end.
  • Non vengono introdotte modifiche di rilievo con Gestione credenziali. I provider e le connessioni di credenziali OAuth 2.0 usano le API di autorizzazione e il provider di risorse Gestione API esistenti.

Connessioni gestite per le API OAuth 2.0

Usando gestione credenziali, è possibile semplificare notevolmente il processo di autenticazione e autorizzazione di utenti, gruppi ed entità servizio in uno o più servizi back-end o SaaS che usano OAuth 2.0. Usando il gestore delle credenziali di Gestione API, configurare facilmente OAuth 2.0, fornire il consenso, acquisire token, memorizzare nella cache i token in un archivio credenziali e aggiornare i token senza scrivere una singola riga di codice. Usare i criteri di accesso per delegare l'autenticazione all'istanza di Gestione API, alle entità servizio, agli utenti o ai gruppi. Per informazioni generali sul flusso del codice di autorizzazione OAuth 2.0, vedere Microsoft Identity Platform e il flusso del codice di autorizzazione OAuth 2.0.

Questa funzionalità consente di esporre le API con o senza una chiave di sottoscrizione, usare le autorizzazioni OAuth 2.0 per i servizi back-end e ridurre i costi di sviluppo in aumento, implementazione e gestione delle funzionalità di sicurezza con le integrazioni dei servizi.

Diagramma di Gestione API gestione delle credenziali e dei provider di identità SaaS supportati.

Caso d'uso di esempio

Usando le connessioni OAuth gestite in Gestione API, i clienti possono connettersi facilmente ai provider SaaS o ai servizi back-end che usano OAuth 2.0. Di seguito sono riportati alcuni esempi.

  • Connettersi facilmente a un back-end SaaS collegando il token di autorizzazione archiviato e le richieste di proxying

  • Richieste proxy a un'app Web del servizio app di Azure o back-end di Funzioni di Azure collegando il token di autorizzazione, che in un secondo momento può inviare richieste a un back-end SaaS applicando la logica di trasformazione

  • Richieste proxy ai back-end di federazione GraphQL collegando più token di accesso per eseguire facilmente la federazione

  • Esporre un endpoint del token di recupero, acquisire un token memorizzato nella cache e chiamare un back-end SaaS per conto dell'utente da qualsiasi ambiente di calcolo, ad esempio un'app console o un daemon Kubernetes. Combinare l'SDK SaaS preferito in un linguaggio supportato.

  • Scenari automatici di Funzioni di Azure durante la connessione a più back-end SaaS.

  • Durable Functions si avvicina alle App per la logica con connettività SaaS.

  • Con le connessioni OAuth 2.0, ogni API in Gestione API può fungere da connettore personalizzato di App per la logica.

Come funziona gestione credenziali?

Le credenziali del token in Gestione credenziali sono costituite da due parti: gestione e runtime.

  • La parte di gestione in Gestione credenziali si occupa della configurazione e della configurazione di un provider di credenziali per i token OAuth 2.0, l'abilitazione del flusso di consenso per il provider di identità e la configurazione di una o più connessioni al provider di credenziali per l'accesso alle credenziali. Per informazioni dettagliate, vedere Gestione delle connessioni.

  • La parte di runtime usa i get-authorization-context criteri per recuperare e archiviare i token di accesso e aggiornamento della connessione. 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 identità. Il token di accesso viene quindi usato per autorizzare l'accesso al servizio back-end. Per informazioni dettagliate, vedere Runtime delle connessioni.

Quando usare Gestione credenziali?

Di seguito sono riportati tre scenari per l'uso di Gestione credenziali.

Scenario di configurazione

Dopo aver configurato il provider di credenziali e una connessione, gestione API può testare la connessione. Gestione API configura un'API OAuth back-end di test per l'uso dei get-authorization-context criteri usando l'identità gestita dell'istanza. Gestione API può quindi testare la connessione chiamando l'API di test.

Diagramma dello scenario di configurazione iniziale per gestione credenziali.

Scenario automatico

Per impostazione predefinita, quando viene creata una connessione, i criteri di accesso e la connessione vengono preconfigurati per l'identità gestita dell'istanza di Gestione API. Per usare tale connessione, utenti diversi possono accedere a un'applicazione client, ad esempio un'app Web statica, che chiama quindi un'API back-end esposta tramite Gestione API. Per effettuare questa chiamata, le connessioni vengono applicate usando i get-authorization-context criteri. Poiché la chiamata API usa una connessione preconfigurata non correlata al contesto utente, gli stessi dati vengono restituiti a tutti gli utenti.

Diagramma dello scenario di gestione delle identità gestite per gestione delle credenziali.

Scenario attended (user-delegated)

Per abilitare un'esperienza di autenticazione semplificata per gli utenti di applicazioni client, ad esempio app Web statiche, che chiamano API SaaS back-end che richiedono un contesto utente, è possibile abilitare l'accesso a una connessione per conto di un utente o di un'identità di gruppo Microsoft Entra. In questo caso, un utente configurato deve accedere e fornire il consenso una sola volta e l'istanza di Gestione API creerà e gestirà la connessione successivamente. Quando Gestione API ottiene una chiamata in ingresso da inoltrare a un servizio esterno, associa il token di accesso dalla connessione alla richiesta. Questo è ideale per quando le richieste e le risposte api sono orientate verso un individuo (ad esempio, recuperando informazioni sul profilo specifiche dell'utente).

Diagramma dello scenario delegato dall'utente per gestione credenziali.

Come configurare Gestione credenziali?

Requisiti

  • L'identità assegnata dal sistema gestito deve essere abilitata per l'istanza di Gestione API.

  • L'istanza di Gestione API deve avere connettività in uscita a Internet sulla porta 443 (HTTPS).

Disponibilità

  • Tutti i livelli di servizio di Gestione API

  • Non supportato nel gateway self-hosted

  • Non supportato nei cloud sovrani o nelle aree seguenti: australiacentral, australiacentral2, indiacentral

Esempi dettagliati

Considerazioni sulla sicurezza

Il token di accesso e altri segreti (ad esempio, i segreti client) vengono crittografati con una crittografia envelope e archiviati in una risorsa di archiviazione interna multi-tenant. I dati vengono crittografati con AES-128 usando una chiave univoca per dati. Queste chiavi vengono crittografate in modo asimmetrico con un certificato master archiviato in Azure Key Vault e ruotate ogni mese.

Limiti

Conto risorse Limite
Numero massimo di provider di credenziali per istanza del servizio 1.000
Numero massimo di connessioni per provider di credenziali 10,000
Numero massimo di criteri di accesso per connessione 100
Numero massimo di richieste di autorizzazione al minuto per connessione 250

Domande frequenti

Quando vengono aggiornati i token di accesso?

Per una connessione di codice di autorizzazione di tipo, i token di accesso vengono aggiornati come segue: quando i get-authorization-context criteri vengono eseguiti in fase di esecuzione, Gestione API controlla se il token di accesso archiviato è valido. Se il token è scaduto o è quasi scaduto, Gestione API usa il token di aggiornamento per recuperare un nuovo token di accesso e un nuovo token di aggiornamento dal provider di identità configurato. Se il token di aggiornamento è scaduto, viene generato un errore e la connessione deve essere nuovamente autorizzata prima che funzioni.

Cosa accade se il segreto client scade nel provider di identità?

In Fase di esecuzione Gestione API non riesce a recuperare nuovi token e si verifica un errore.

  • Se la connessione è di tipo codice di autorizzazione, il segreto client deve essere aggiornato a livello di provider di credenziali.

  • Se la connessione è di tipo credenziali client, il segreto client deve essere aggiornato a livello di connessione.

Questa funzionalità è supportata usando Gestione API in esecuzione all'interno di una rete virtuale?

Sì, purché la connettività in uscita sulla porta 443 sia abilitata per il tag del servizio AzureConnectors. Per altre informazioni, vedere Informazioni di riferimento sulla configurazione della rete virtuale.

Cosa accade quando viene eliminato un provider di credenziali?

Vengono eliminate anche tutte le connessioni e i criteri di accesso sottostanti.

I token di accesso vengono memorizzati nella cache da Gestione API?

Nei livelli di servizio classici e v2 il token di accesso viene memorizzato nella cache dall'istanza di Gestione API fino a 3 minuti prima della scadenza del token. Se il token di accesso è inferiore a 3 minuti dalla scadenza, il tempo memorizzato nella cache sarà fino alla scadenza del token di accesso.

I token di accesso non vengono memorizzati nella cache nel livello Consumo.