Usando interceptores com o Gateway
A configuração de interceptores em seu gateway permite que você execute um código personalizado durante cada invocação do seu gateway. Esta seção fornece orientação sobre como implementar e configurar interceptores para seu Gateway.
Tópicos
Visão geral do
A configuração de interceptores em seu gateway permite que você execute um código personalizado durante cada invocação do seu gateway. Isso é útil para os seguintes casos de uso:
-
Implementando controle de acesso refinado sobre ferramentas ou operações de MCP
-
Transformando a solicitação de destino e a resposta do gateway
-
Implementando a lógica de autorização personalizada
Há dois tipos de interceptores que podem ser configurados em seu gateway:
-
Interceptores REQUEST — Execute antes que o gateway faça uma chamada para o alvo. Eles são úteis para validação, transformação ou autorização personalizada de solicitações.
-
Interceptores de RESPOSTA — Execute depois que o alvo responder, mas antes que o gateway envie a resposta de volta ao chamador. Eles são úteis para transformar respostas, filtrar ou adicionar cabeçalhos personalizados.
Um gateway pode ter no máximo um interceptor REQUEST e no máximo um interceptor RESPONSE configurado. Você pode configurar os dois tipos no mesmo gateway, mas não pode ter vários interceptores do mesmo tipo.
Atualmente, os interceptores só podem ser configurados com funções Lambda.
Práticas recomendadas de segurança
Ao implementar interceptores, é importante seguir as melhores práticas de segurança para proteger informações confidenciais e manter o controle de acesso adequado.
-
Por padrão, os cabeçalhos da solicitação não serão passados para um interceptor, a menos que o
passRequestHeaderscampo seja definido como verdadeiro. Tenha cuidado ao usar esse campo, pois os cabeçalhos da solicitação podem conter informações confidenciais, como tokens de autenticação e credenciais. Certifique-se de verificar se seu interceptor não está registrando essas informações confidenciais. -
Certifique-se de restringir sua função de execução do gateway para ter permissões apenas para invocar as funções lambda específicas que você está usando como interceptores e não para conceder permissões lambda curinga à sua função de execução.
-
Implemente funções Lambda idempotentes para seus interceptores. O gateway pode repetir as solicitações para interceptar as funções Lambda em caso de falhas ou tempos limite. Garanta que sua lógica de interceptor possa lidar com invocações duplicadas com segurança implementando chaves de idempotência, rastreando solicitações processadas ou projetando operações sem estado que produzam resultados consistentes quando executadas várias vezes com a mesma entrada.