Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Una chiave API (nota in Apigee Edge 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 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 Edge verifica che la chiave API sia in uno stato approvato per la risorsa richiesta. Internamente, i proxy utilizzano i criteri per verificare l'autenticità della chiave API.
Per supportare questa semplicità, dovrai eseguire una piccola configurazione. Per supportare le chiavi API, devi a:
- Crea un prodotto API Apigee Edge che raggruppi i proxy API che vuoi proteggere utilizzando la chiave API.
-
Crea un'app sviluppatore Apigee Edge che rappresenti lo sviluppatore di app client di cui autenticherai l'app.
Quando crei l'app sviluppatore, devi specificare i prodotti API a cui l'app dello sviluppatore avrà accesso e per i quali dovrà fornire una chiave API.
- Ai proxy (quelli inclusi nel prodotto API), aggiungi criteri per verificare che una chiave API in entrata sia valida.
Il tutorial Proteggi un'API richiedendo le 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 Edge, una chiave API viene chiamata chiave utente. Quando registri le app sviluppatore, Apigee Edge genera una chiave utente e un secret. Apigee Edge memorizza la chiave utente per la convalida futura. Ogni chiave utente è univoca nell'organizzazione. Lo sviluppatore di app incorpora la 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.
Passaggi di livello avanzato
I passaggi seguenti descrivono come le chiavi API vengono utilizzate da Apigee Edge. 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.
- Registra un'app sviluppatore nella tua organizzazione. Quando lo fai, Apigee Edge genera una chiave utente e un secret utente.
- 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.
- In fase di runtime, quando l'app client effettua una richiesta alla tua API, l'app client invia
la chiave utente quando effettua la richiesta. In pratica, la chiave utente potrebbe essere
passata in modo esplicito o potrebbe essere 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 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 da la chiave utente
- 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 il criterio Verify API Key.
Verifica delle credenziali della richiesta
Di seguito puoi trovare una panoramica. Assicurati di consultare Configurare la convalida della chiave API per dettagli ed esempi di codice.
- Se utilizzi la verifica del token OAuth, hai implementato un criterio OAuth per la verifica
e l'app client ha passato un token OAuth:
- Apigee Edge verifica che il token non sia scaduto, quindi cerca la chiave utente utilizzata per generare il token.
- Se utilizzi una chiave API, hai implementato un criterio VerifyAPIKey e l'app client
ha passato la sua chiave utente:
- Apigee Edge controlla l'elenco dei prodotti API a cui è stata associata la chiave utente.
- Edge 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.
- Edge verifica anche che la chiave utente non sia scaduta o revocata, che l'app non sia revocata e che lo sviluppatore non sia inattivo.
- 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.