Sicurezza dell'ultimo miglio

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza la documentazione di Apigee Edge.

La sicurezza dell'ultimo miglio protegge i servizi di backend proxy di API Services. Il principale l'obiettivo della sicurezza dell'ultimo miglio è prevenire i cosiddetti "end-run" in cui uno sviluppatore di app rileva l'URL di un servizio di backend e ignora eventuali proxy API per raggiungere direttamente il backend URL.

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 è il protocollo TLS/SSL del client, noto anche come "autenticazione reciproca".

Vedi Opzioni per la configurazione di TLS.

Autenticazione in uscita

La sicurezza dell’ultimo miglio può essere rafforzata anche richiedendo al proxy API di presentare una credenziale a il servizio di backend.

Ad esempio, potresti volere che un proxy API presenti una chiave API al tuo servizio di backend. Tu puoi anche chiedere a un proxy API di ottenere e presentare un token di accesso alle credenziali del client OAuth.

Chiave API

Le chiavi API possono essere applicate alle richieste in uscita dai proxy API ai servizi di backend. Ciò assume che il servizio di backend sia un'API in grado di emettere e convalidare le chiavi API.

Se configuri un proxy API per presentare una chiave API nelle richieste in uscita, devi memorizzare la chiave API in un luogo in cui possa essere recuperata dal proxy API in fase di esecuzione. Un luogo 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 criterioAssignMessage per aggiungere la chiave API come intestazione HTTP, query parametro o elemento payload alla richiesta in uscita. Vedi Assegna criteri per i 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 per presentare un token di accesso alle credenziali client per ogni richiesta.

Il proxy API deve essere configurato in modo da eseguire un callout per ottenere il token di accesso dal tuo dell'endpoint del token. Il proxy API è inoltre necessario per memorizzare nella cache il token di accesso, in modo da impedire di ottenere un nuovo token di accesso per ogni chiamata.

È possibile adottare diversi approcci per implementare le credenziali client in uscita.

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. Tu puoi anche utilizzare Assegna Criteri relativi ai messaggi.

SAML

Il tipo di criterio GenerateSAMLAssertion può essere utilizzato per allegare un'affermazione 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 sulle richieste ricevute dai proxy API.

Vedi Asserzione SAML .