Chiavi API

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Una chiave API (nota in Apigee come chiave utente) è un valore stringa trasmesso da un'app client ai proxy API. La chiave identifica in modo univoco l'app client.

La convalida della chiave API è la forma più semplice di sicurezza basata su app che puoi configurare per un'API. Un'app client presenta semplicemente una chiave API con la sua richiesta, poi Apigee controlla che la chiave API sia in stato approvato per la risorsa richiesta. Internamente, i proxy utilizzano i criteri per verificare l'autenticità delle chiavi API.

Per favorire questa semplicità, dovrai effettuare una piccola configurazione. Per supportare le chiavi API, devi:

  • Crea un prodotto API Apigee che raggruppa i proxy API che vuoi proteggere utilizzando la chiave API.
  • Crea un'app sviluppatore Apigee che rappresenti lo sviluppatore dell'app client di cui eseguirai l'autenticazione.

    Durante la creazione dell'app per sviluppatori, specifichi i prodotti API a cui l'app avrà accesso e per i quali dovrà fornire una chiave API.

  • Per i proxy (quelli inclusi nel tuo prodotto API), aggiungi criteri per verificare che una chiave API in entrata sia valida.

Il tutorial Proteggi un'API richiedendo le chiavi API è un modo rapido per imparare a controllare l'accesso a un proxy API con una chiave API.

Come funzionano le chiavi API

In Apigee, una chiave API è definita chiave utente. Quando registri le app degli sviluppatori, Apigee genera una chiave utente e un secret. Apigee archivia la chiave utente per la convalida futura. Ogni chiave utente è univoca nell'organizzazione. Lo sviluppatore dell'app incorpora la chiave utente nell'app client. L'app client deve presentare la chiave utente per ogni richiesta. I servizi API verificano la chiave utente prima di consentire la richiesta dell'app.

Passaggi generali

I passaggi seguenti descrivono le modalità di utilizzo delle chiavi API da parte di Apigee. Questi passaggi includono la possibile presenza della sicurezza OAuth, poiché viene spesso utilizzata insieme alle chiavi API.

  1. Crea un prodotto API che includa proxy API che devono essere protetti con la chiave API.
  2. Devi registrare un'app per sviluppatori nella tua organizzazione. Quando esegui queste operazioni, Apigee genera una chiave e un consumer secret.
  3. Associa l'app dello sviluppatore ad almeno un prodotto API. È il prodotto che associa i percorsi delle risorse e i proxy API all'approvazione delle chiavi.
  4. In fase di esecuzione, quando l'app client effettua una richiesta alla tua API, l'app client invia la chiave utente quando effettua la richiesta. In pratica, la chiave utente potrebbe essere trasmessa esplicitamente o potrebbe essere indicata implicitamente tramite un token OAuth:
    • Quando l'API utilizza la verifica della chiave API, ad esempio implementando un criterio di VerificationAPIKey, l'app client deve passare esplicitamente la chiave utente.
    • Quando l'API utilizza la verifica del token OAuth, ad esempio mediante l'implementazione di un criterio OAuthV2, l'app client deve passare un token derivato dalla chiave utente.
  5. Il proxy API convalida le credenziali della richiesta tramite un criterio VerificationAPIKey o un criterio OAuthV2 con un'operazione VerificationAccessToken. Se non includi un criterio di applicazione delle credenziali nel proxy API, qualsiasi chiamante può richiamare le tue API. Per maggiori informazioni, consulta la pagina Verificare il criterio della chiave API.

Verifica delle credenziali della richiesta in corso...

Questa è una panoramica. Assicurati di consultare la configurazione della convalida delle chiavi API per dettagli ed esempi di codice.

  1. Se utilizzi la verifica del token OAuth, hai implementato un criterio OAuth per la verifica e l'app client ha trasmesso un token OAuth:
    • Apigee verifica che il token non sia scaduto, quindi cerca la chiave utente utilizzata per generare il token.
  2. Se utilizzi una chiave API, hai implementato un criterio VerificationAPIKey e l'app client ha superato la propria chiave consumer:
    1. Apigee controlla l'elenco dei prodotti API a cui è stata associata la chiave utente.
    2. Apigee controlla ogni prodotto API per verificare se il proxy API attuale è incluso nel prodotto API e se il percorso della risorsa attuale (percorso dell'URL) è abilitato nel prodotto API.
    3. Apigee verifica inoltre che la chiave utente non sia scaduta o revocata, controlla che l'app non sia revocata e verifica che lo sviluppatore non sia inattivo.
    4. Se tutte queste condizioni sono vere: il token non è scaduto (se applicabile), la chiave utente è valida e approvata, l'app è approvata, lo sviluppatore è attivo, il proxy è disponibile nel prodotto e la risorsa è disponibile nel prodotto, la verifica delle credenziali ha esito positivo.