View a markdown version of this page

在网关中使用拦截器 - Amazon Bedrock AgentCore
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在网关中使用拦截器

在网关上配置拦截器允许您在每次调用网关期间运行自定义代码。本节提供有关为您的网关实施和配置拦截器的指导。

概述

在网关上配置拦截器允许您在每次调用网关期间运行自定义代码。这对于以下用例很有用:

  • 对工具或 MCP 操作实施精细的访问控制

  • 转换目标请求和网关响应

  • 实现自定义授权逻辑

可以在网关上配置两种类型的拦截器:

  • 请求拦截器 -在网关调用目标之前执行。这些对于请求验证、转换或自定义授权很有用。

  • RESPONSE 拦截器 -在目标响应之后但在网关将响应发回给调用者之前执行。这些对于响应转换、筛选或添加自定义标头很有用。

一个网关最多可以配置一个请求拦截器和最多一个响应拦截器。您可以在同一个网关上配置这两种类型,但不能有多个相同类型的拦截器。

目前,只能使用 Lambda 函数配置拦截器。

安全最佳实践

在实施拦截器时,必须遵循安全最佳实践,以保护敏感信息并保持适当的访问控制。

  1. 默认情况下,除非将该passRequestHeaders字段设置为 true,否则不会将请求标头传递给拦截器。使用此字段时要小心,因为请求标头可能包含身份验证令牌和凭据等敏感信息。一定要验证你的拦截器没有记录这些敏感信息。

  2. 请务必将您的网关执行角色限制为仅具有调用您用作拦截器的特定 lambda 函数的权限,而不是向您的执行角色授予通配符 lambda 权限。

  3. 为您的拦截器实现等导数 Lambda 函数。如果出现故障或超时,网关可能会重试对拦截器 Lambda 函数的请求。确保您的拦截器逻辑能够安全地处理重复调用,具体方法是实现递增密钥、跟踪已处理的请求或设计无状态操作,这些操作在使用相同的输入多次执行时会产生一致的结果。