Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
La sicurezza dell'ultimo miglio protegge i servizi di backend sottoposti a proxy da API Services. L'obiettivo principale della sicurezza dell'ultimo miglio è prevenire i cosiddetti attacchi "end-run", in cui uno sviluppatore di app scopre l'URL di un servizio di backend e aggira i proxy API per accedere direttamente all'URL del backend.
Di seguito sono riportate le opzioni principali per configurare la sicurezza dell'ultimo miglio:
- TLS/SSL client
- Autenticazione in uscita
TLS/SSL client
Il meccanismo principale per proteggere l'ultimo miglio è TLS/SSL client, noto anche come "autenticazione reciproca".
Consulta la sezione Opzioni per la configurazione di TLS.
Autenticazione in uscita
La sicurezza dell'ultimo miglio può essere applicata anche richiedendo al proxy API di presentare una credenziale al servizio di backend.
Ad esempio, potresti voler che un proxy API presenti una chiave API al tuo servizio di backend. Puoi anche fare in modo che un proxy API ottenga e presenti un token di accesso con credenziali client OAuth.
Chiave API
Le chiavi API possono essere applicate alle richieste in uscita dai proxy API ai servizi di backend. Ciò presuppone che il servizio di backend sia un'API in grado di emettere e convalidare chiavi API.
Se configuri un proxy API per presentare una chiave API nelle richieste in uscita, devi archiviare la chiave API in un luogo in cui possa essere recuperata dal proxy API in fase di runtime. Una posizione disponibile per l'archiviazione delle chiavi API è una mappa chiave/valore. Consulta le norme relative alle operazioni sulle mappe chiave-valore.
Puoi utilizzare il tipo di criterio AssignMessage per aggiungere la chiave API come intestazione HTTP, parametro di query o elemento payload alla richiesta in uscita. Consulta Assegnare la policy Messaggi.
Credenziali client OAuth
Le credenziali client OAuth possono essere utilizzate per aggiungere un livello di revocabilità alle chiavi API. Se i tuoi servizi di backend supportano le credenziali client OAuth, puoi configurare un proxy API in modo che presenti un token di accesso con credenziali client per ogni richiesta.
Il proxy API deve essere configurato per eseguire una chiamata per ottenere il token di accesso dall'endpoint token. Il proxy API è necessario anche per memorizzare nella cache il token di accesso, per evitare di ottenere un nuovo token di accesso per ogni chiamata.
Per implementare le credenziali client in uscita è possibile utilizzare diversi approcci.
Puoi modificare questo esempio per chiamare l'endpoint del token e ottenere un token di accesso. Questo esempio utilizza JavaScript per allegare il token alla richiesta in uscita come intestazione di autorizzazione HTTP. A questo scopo, puoi anche utilizzare il criterio Assegna messaggio.
SAML
Il tipo di criterio GenerateSAMLAssertion può essere utilizzato per allegare un'asserzione SAML a un messaggio di richiesta XML in uscita, dal proxy API a un servizio di backend. In questo modo, il servizio di backend può eseguire l'autenticazione e l'autorizzazione delle richieste ricevute dai proxy API.
Consulta le norme relative all'asserzione SAML.