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 consumer) è un valore stringa passato da un'app client ai tuoi 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, quindi Apigee verifica che la chiave API sia in uno stato approvato per la risorsa richiesta. A livello interno, i proxy utilizzano criteri per verificare l'autenticità della chiave API.

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

  • Crea un prodotto API Apigee che raggruppi i proxy API che vuoi proteggere utilizzando la chiave API.
  • Crea un'app per sviluppatori Apigee che rappresenti lo sviluppatore dell'app client la cui app autenticherai.

    Quando crei l'app per sviluppatori, specifichi i prodotti API a cui l'app dello sviluppatore avrà accesso e per i quali dovrà fornire una chiave API.

  • Ai tuoi proxy (quelli inclusi nel tuo prodotto API), aggiungi policy per verificare che una chiave API in entrata sia valida.

Il tutorial Proteggere un'API richiedendo 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 è chiamata chiave consumer. Quando registri le app per sviluppatori, Apigee genera una chiave utente e un secret. Apigee memorizza la chiave consumer per la convalida futura. Ogni chiave consumer è univoca nell'organizzazione. Lo sviluppatore dell'app incorpora la consumer key nell'app client. L'app client deve presentare la consumer key per ogni richiesta. API Services verifica la chiave consumer prima di consentire la richiesta dell'app.

Passaggi di alto livello

I seguenti passaggi descrivono come vengono utilizzate le chiavi API da Apigee. Questi passaggi includono anche la possibile presenza della sicurezza OAuth, poiché viene spesso utilizzata in combinazione con le chiavi API.

  1. Crea un prodotto API che includa i proxy API da proteggere con la chiave API.
  2. Registri un'app per sviluppatori nella tua organizzazione. Quando lo fai, Apigee genera una chiave utente e un secret consumer.
  3. Associa l'app per sviluppatori 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 runtime, quando l'app client effettua una richiesta alla tua API, l'app client invia la chiave consumer quando effettua la richiesta. In pratica, la chiave utente può essere trasmessa in modo esplicito o a cui si può fare riferimento in modo implicito tramite un token OAuth:
    • Quando l'API utilizza la verifica della chiave API, ad esempio implementando un criterio VerifyAPIKey, l'app client deve passare la chiave consumer in modo esplicito.
    • Quando l'API utilizza la verifica del token OAuth, ad esempio implementando un criterio OAuthV2, l'app client deve trasmettere un token derivato dalla chiave consumer.
  5. Il proxy API convalida le credenziali della richiesta tramite un criterio VerifyAPIKey o un criterio OAuthV2 con un'operazione VerifyAccessToken. Se non includi un criterio di applicazione delle credenziali nel proxy API, qualsiasi chiamante può richiamare correttamente le tue API. Per ulteriori informazioni, consulta le norme di verifica della chiave API.

Verifica delle credenziali della richiesta

Questa è una panoramica. Per informazioni dettagliate ed esempi di codice, consulta Configurazione della convalida delle chiavi API.

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