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 trasmesso da un'app client ai tuoi proxy API. La chiave identifica in modo univoco l'app client.

La convalida delle chiavi 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 supportare 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 di app client di cui autentichi l'app.

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

  • Ai tuoi 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 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 come chiave utente. Quando registri le app per sviluppatori, Apigee genera una chiave e un secret utente. Apigee archivia la chiave utente per la convalida futura. Ogni chiave utente è univoca nell'organizzazione. Lo sviluppatore di app incorpora la chiave utente nell'app client. Quest'ultima deve presentare la chiave utente per ogni richiesta. I servizi API verificano la chiave utente prima di consentire la richiesta dell'app.

Passaggi di alto livello

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

  1. Crea un prodotto API che includa i proxy API che devono essere protetti con la chiave API.
  2. Devi registrare un'app per sviluppatori nella tua organizzazione. Al momento dell'esecuzione, 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 invia una richiesta all'API, l'app client invia la chiave utente quando esegue la richiesta. In pratica, la chiave utente potrebbe essere passata esplicitamente o implicitamente a cui viene fatto riferimento tramite un token OAuth:
    • Quando l'API utilizza la verifica della chiave API, ad esempio implementando un criterio VerificationAPIKey, l'app client deve passare esplicitamente la chiave utente.
    • 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 utente.
  5. Il proxy API convalida le credenziali della richiesta tramite un criterio di VerificationAPIKey o un criterio OAuthV2 con un'operazione di VerificationAccessToken. Se non includi un criterio di applicazione delle credenziali nel proxy API, qualsiasi chiamante può richiamare correttamente le tue API. Per maggiori informazioni, consulta la sezione Verificare il criterio delle chiavi API.

Verifica delle credenziali della richiesta in corso...

Questa è una panoramica. Assicurati di consultare la pagina Configurare la 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 consumer utilizzata per generare il token.
  2. Se utilizzi una chiave API, hai implementato un criterio VerificationAPIKey e l'app client ha trasmesso la relativa chiave utente:
    1. Apigee controlla l'elenco dei prodotti API a cui è stata associata la chiave consumer.
    2. Apigee controlla ogni prodotto API per verificare se l'attuale proxy API è incluso nel prodotto API e se il percorso attuale della risorsa (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 stata revocata e 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.