View a markdown version of this page

Fine-grained 亚马逊 Bedrock AgentCore Gateway 的访问控制 - 亚马逊基岩 AgentCore

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

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 声明将用户上下文和授权信息传送给您的拦截器。

  • 实现防故障默认设置 -设计拦截器,在无法确定授权时默认拒绝访问。

  • 日志授权决策 -确保您的拦截器记录访问决策以用于审计目的。