本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Fine-grained 亚马逊 Bedrock AgentCore Gateway 的访问控制
Amazon Bedrock G AgentCore ateway 提供细粒度的访问控制功能,允许您控制哪些用户和代理可以访问特定的工具和资源。您可以通过网关拦截器实现自定义逻辑的访问控制,或使用基于资源的策略进行标准 AWS式访问控制。有关基于资源的政策的信息,请参阅 Amazon Bedro AgentCore ck 的Resource-based 政策。
使用拦截器进行访问控制
网关拦截器为实现细粒度访问控制提供了最灵活的方式。REQUEST 拦截器在网关调用目标之前执行,从而使您能够:
-
根据 JWT 声明或自定义逻辑验证用户权限
-
控制对特定工具或 MCP 操作的访问权限
-
实施基于角色或基于属性的访问控制
-
根据用户上下文筛选或修改请求
-
针对未经授权的请求返回授权错误
有关实现和配置拦截器的详细信息,包括授权逻辑示例,请参阅在网关中使用拦截器。
访问控制级别
Fine-grained Gateway 中的访问控制可以在多个级别上实现:
- Gateway-level access
-
控制哪些用户或代理可以通过 OAuth 授权服务器或 AWS IAM 身份验证连接到网关并进行身份验证。
- Tool-level access
-
使用拦截器逻辑控制对网关内特定工具的访问权限,在工具执行之前验证权限。
- Operation-level access
-
使用拦截器来验证操作权限,控制对特定 MCP 操作(例如
tools/list或tools/call)的访问。 - Parameter-level access
-
使用拦截器过滤或验证请求参数,控制对操作中特定参数或数据的访问。
实施方法
您可以使用以下方法实现精细的访问控制:
- JWT 索赔验证
-
使用拦截器检查 JWT 声明,例如用户角色、部门或自定义属性,以做出授权决策。
- IAM 主体配对
-
对于 IAM-authenticated 网关,通过匹配调用方的 IAM ARN 来实现访问控制。在 Cedar 策略
principal.id中使用模式匹配来限制基于 AWS 帐户、角色或用户的访问权限。 - 外部授权服务
-
将拦截器配置为调用外部授权服务或数据库以验证用户权限。
- 请求上下文过滤
-
使用拦截器根据用户上下文修改请求,例如添加用户特定的过滤器或限制数据范围。
最佳实践
-
最小权限原则 -仅授予用户执行任务所需的最低访问权限。
-
使用结构化声明 -利用 JWT 声明将用户上下文和授权信息传送给您的拦截器。
-
实现防故障默认设置 -设计拦截器,在无法确定授权时默认拒绝访问。
-
日志授权决策 -确保您的拦截器记录访问决策以用于审计目的。