架构约束
Amazon Bedrock AgentCore Gateway 的策略必须根据网关的 MCP 工具清单自动生成的特定 Cedar 架构进行验证。此架构定义了您的策略中可能包含的内容。
主要类型
主体类型取决于为 AgentCore 网关配置的身份验证方法:
-
AgentCore::OAuthUser -
-
用于 OAuth-authenticated 网关
-
有
id属性(来自 JWT 订阅声明) -
支持 OAuth 声明的标签(用户名、范围、角色等)
-
-
AgentCore::IamEntity -
-
用于 IAM-authenticated 网关(AWS_IAM 授权机构)
-
具有包含来电者的 IAM ARN 的
id属性 -
不支持标签;使用模式匹配
principal.id进行访问控制
-
资源类型
-
必须是
AgentCore::Gateway -
代表 MCP 网关实例
-
可以按类型 (
is) 或特定的 ARN () 进行匹配== -
必须使用特定的 ARN 来指代特定的操作
操作
-
每个 MCP 工具都变成一个动作:
AgentCore::Action::"ToolName" -
所有工具操作都继承自 CallTool → Mcp 层次结构
-
示例:
Action::"RefundTool___process_refund"是一个 CallTool
上下文
-
只有可用的上下文是
context.input -
包含 MCP 清单中定义的工具输入参数
-
每个工具都有一个键入的输入结构(例如 RefundTool ___process_refunInput)
-
参数类型会自动从 JSON 架构映射到 Cedar 类型:
-
字符串 → 字符串
-
整数 → 长整数
-
布尔值 → 布尔
-
数字 → 十进制
-
你不能做什么
-
无法引用 AgentCore 命名空间之外的实体类型
-
无法访问除之外的上下文字段
context.input(context.output只能与护栏一起使用) -
无法在上使用自定义属性 OAuthUser (改用标签)
-
无法在策略中定义新的实体类型