Chiavi API

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza documentazione di Apigee Edge.

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

La convalida delle chiavi API è la forma di sicurezza basata su app più semplice che puoi configurare per un tramite Google Cloud CLI o tramite l'API Compute Engine. Un'app client presenta semplicemente una chiave API con la relativa richiesta, quindi Apigee controlla che la chiave API sia in uno stato approvato per la risorsa richiesta. Internamente, i proxy usano criteri per verificare l'autenticità delle chiavi API.

Per supportare questa semplicità, dovrai effettuare alcune operazioni di configurazione. Per supportare le chiavi API, è necessario a:

  • Crea un prodotto API Apigee che raggruppa i proxy API che vuoi difendere utilizzando la chiave API.
  • Crea un'app per sviluppatori Apigee che rappresenti lo sviluppatore dell'app client di cui dovrai autenticare l'app.

    Durante la creazione dell'app sviluppatore, specifichi i prodotti API a sua disposizione. e per il quale dovrà fornire una chiave API.

  • Aggiungi i criteri ai proxy inclusi nel prodotto API. per verificare che una chiave API in entrata sia valida.

Il tutorial Proteggere un'API richiedendo chiavi API è un modo rapido per scoprire come controllare l'accesso a un proxy API con una chiave API.

Come funzionano le chiavi API

In Apigee, una chiave API è detta chiave utente. Quando registri le app sviluppatore, 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 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.

Passi di alto livello

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

  1. Crea un prodotto API che includa i proxy API che devono essere protetti con la chiave API.
  2. Registra un'app sviluppatore nella tua organizzazione. Con Apigee genera una chiave utente e un segreto utente.
  3. Associa l'app per sviluppatori ad almeno un prodotto API. È la prodotto che associa i percorsi delle risorse e i proxy API all'approvazione della chiave.
  4. Durante l'esecuzione, quando l'app client invia una richiesta alla tua API, l'app client invia la chiave consumer quando effettua la richiesta. In pratica, la chiave utente può essere passata esplicitamente o può essere richiamata implicitamente tramite un token OAuth:
    • Quando l'API utilizza la verifica della chiave API, ad esempio implementando un criterio VerifyAPIKey -- l'app client deve trasmettere la chiave utente in modo esplicito.
    • Quando l'API utilizza la verifica del token OAuth, ad esempio implementando un criterio OAuthV2, l'app client deve passare un token derivato dalla chiave consumer.
  5. Il proxy API convalida le credenziali della richiesta tramite una Il criterio VerificationAPIKey o un criterio OAuthV2 con un'operazione VerifyAccessToken. In caso contrario includi un criterio di applicazione delle credenziali nel proxy API, qualsiasi chiamante può richiamare le tue API. Per ulteriori informazioni, vedi Verifica chiave API .

Verifica delle credenziali della richiesta in corso...

Questa è una panoramica. Per dettagli ed esempi di codice, consulta la sezione Configurazione della convalida delle chiavi API.

  1. Se utilizzi la verifica del token OAuth, hai implementato un criterio OAuth per la verifica. e che l'app client abbia passato 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 VerifyAPIKey e l'app client ha trasmesso la sua chiave consumer:
    1. Apigee controlla l'elenco dei prodotti API con cui è stata utilizzata la chiave consumer associati.
    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 stata revocata e che lo sviluppatore non sia inattivo.
    4. Se tutte queste condizioni sono vere, ovvero il token non è scaduto (se applicabile), la chiave consumer è valida e approvata, l'app è approvata, lo sviluppatore è attivo, il proxy è disponibile nel prodotto e la risorsa è disponibile nel prodotto, la verifica delle credenziali riesce.