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