Utilizzo degli intercettori con Gateway
La configurazione degli intercettori sul gateway consente di eseguire codice personalizzato durante ogni chiamata del gateway. Questa sezione fornisce indicazioni sull'implementazione e la configurazione degli intercettori per il gateway.
Argomenti
Panoramica di
La configurazione degli intercettori sul gateway consente di eseguire codice personalizzato durante ogni chiamata del gateway. Ciò è utile per i seguenti casi d'uso:
-
Implementazione di un controllo granulare degli accessi sugli strumenti o sulle operazioni MCP
-
Trasformazione della richiesta di destinazione e della risposta del gateway
-
Implementazione della logica di autorizzazione personalizzata
Esistono due tipi di intercettori che possono essere configurati sul gateway:
-
REQUEST Interceptors: esegui prima che il gateway effettui una chiamata alla destinazione. Sono utili per richiedere la convalida, la trasformazione o l'autorizzazione personalizzata.
-
Intercettori RESPONSE: vengono eseguiti dopo che il target ha risposto ma prima che il gateway invii la risposta al chiamante. Sono utili per la trasformazione della risposta, il filtraggio o l'aggiunta di intestazioni personalizzate.
Un gateway può avere al massimo un intercettore REQUEST e al massimo un intercettore RESPONSE configurato. È possibile configurare entrambi i tipi sullo stesso gateway, ma non è possibile avere più intercettori dello stesso tipo.
Attualmente, gli intercettori possono essere configurati solo con funzioni Lambda.
Best practice di sicurezza
Quando si implementano gli intercettori, è importante seguire le migliori pratiche di sicurezza per proteggere le informazioni sensibili e mantenere un controllo adeguato degli accessi.
-
Per impostazione predefinita, le intestazioni delle richieste non vengono passate a un intercettore a meno che il campo non sia impostato su true.
passRequestHeadersFai attenzione quando usi questo campo poiché le intestazioni delle richieste possono contenere informazioni sensibili come token di autenticazione e credenziali. Assicurati di verificare che l'intercettore non stia registrando queste informazioni sensibili. -
Assicurati di limitare il ruolo di esecuzione del gateway in modo da avere le autorizzazioni solo per richiamare le funzioni lambda specifiche che stai usando come intercettori e non per concedere autorizzazioni lambda wild card al tuo ruolo di esecuzione.
-
Implementa funzioni Lambda idempotenti per i tuoi intercettori. Il gateway può ritentare le richieste alle funzioni Lambda di intercettazione in caso di guasti o timeout. Assicurati che la tua logica di intercettazione sia in grado di gestire le chiamate duplicate in modo sicuro implementando chiavi di idempotenza, tracciando le richieste elaborate o progettando operazioni stateless che producono risultati coerenti se eseguite più volte con lo stesso input.