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 di 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 più semplice di sicurezza basata su app che puoi configurare per un'API. 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 utilizzano i criteri per verificare l'autenticità delle chiavi API.
Per supportare questa semplicità, dovrai eseguire un po' di configurazione. Per supportare le chiavi API, devi:
- 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 per sviluppatori, specifica i prodotti API a cui avrà accesso l'app dello sviluppatore e per i quali dovrà fornire una chiave API.
- Aggiungere ai proxy (quelli inclusi nel prodotto API) regole 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 è indicata come chiave consumer. Quando registri le app per sviluppatori, Apigee genera una chiave e un segreto dell'utente. Apigee memorizza la chiave consumer per la convalida futura. Ogni chiave consumer è univoca nell'organizzazione. Lo sviluppatore dell'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 consumer 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 in combinazione con le chiavi API.
- Crea un prodotto API che includa i proxy API da proteggere con la chiave API.
- Registri un'app per sviluppatori nella tua organizzazione. In questo caso, Apigee genera una chiave consumer e un secret consumer.
- 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.
- 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 una policy VerifyAPIKey, l'app client deve passare la chiave consumer esplicitamente.
- 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.
- 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ò invocare correttamente le tue API. Per ulteriori informazioni, consulta le norme relative alla verifica della chiave API.
Verifica delle credenziali di richiesta
Questa è una panoramica. Per informazioni dettagliate ed esempi di codice, consulta Configurazione della convalida delle chiavi API.
- 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.
- Se utilizzi una chiave API, hai implementato un criterio VerifyAPIKey e l'app client
ha trasmesso la sua chiave consumer:
- Apigee controlla l'elenco dei prodotti API a cui è stata associata la chiave consumer.
- 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.
- 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.
- 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.