Chiavi API

Questa pagina si applica a Apigee e Apigee ibrido.

Visualizza la 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'API. Un'app client presenta semplicemente una richiesta API con la sua richiesta, quindi Apigee controlla che la chiave API sia in stato approvato per la risorsa richiesta. Internamente, i proxy utilizzano criteri per verificare l'autenticità delle chiavi API.

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

  • Crea un prodotto API Apigee che raggruppa i proxy API da proteggere mediante la chiave API.
  • Crea un'app sviluppatore Apigee che rappresenti lo sviluppatore di app client di cui autenticherai l'app.

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

  • Per i tuoi proxy (quelli che hai incluso nel 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 è detta chiave utente. Quando registri le app sviluppatore, Apigee genera una chiave utente e un segreto. Apigee archivia la chiave consumer per la convalida futura. Ogni chiave utente è univoca nell'organizzazione. Lo sviluppatore di app incorpora la chiave consumer nell'app client. L'app client deve presentare la chiave consumer 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 chiavi API.

  1. Crea un prodotto API che includa proxy API che devono essere protetti con la chiave API.
  2. Registra un'app sviluppatore nella tua organizzazione. In questo caso, Apigee genera una chiave utente e un segreto utente.
  3. Associa l'app sviluppatore ad almeno un prodotto API. È il prodotto che associa i percorsi delle risorse e i proxy API all'approvazione della chiave.
  4. In fase di esecuzione, quando l'app client effettua una richiesta all'API, l'app client invia la chiave consumer quando effettua la richiesta. In pratica, la chiave utente può essere passata esplicitamente o indicata implicitamente tramite un token OAuth:
    • Quando l'API utilizza la verifica della chiave API, ad esempio implementando un criterio VerifyAPIKey, l'app client deve passare esplicitamente la chiave consumer.
    • Quando l'API utilizza la verifica del token OAuth, ad esempio implementando un criterio OAuthV2, l'app client deve trasmettere un token derivante dalla chiave utente.
  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 le tue API. Per maggiori informazioni, consulta le norme relative alla verifica delle chiavi API.

Verifica delle credenziali della richiesta in corso...

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

  1. Se utilizzi la verifica dei token OAuth, hai implementato un criterio OAuth per la verifica e l'app client ha passato un token OAuth:
    • Apigee verifica che il token non sia scaduto e 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 propria chiave utente:
    1. Apigee controlla l'elenco di 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 attuale (percorso URL) è abilitato nel prodotto API.
    3. Apigee verifica inoltre che la chiave consumer non sia scaduta o revocata, controlla 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 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.