本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
架构约束
亚马逊 Bedrock AgentCore Gateway 的政策必须根据特定 Cedar 架构进行验证,该架构是根据网关的 MCP 工具清单自动生成的架构。此架构定义了您的策略中可能存在的内容。
主要类型
主体类型取决于为您的 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_refundInput)
-
参数类型自动从操作架构映射到 Cedar 类型。
下表显示了 7 种基本 JSON 架构类型和 Cedar 类型之间的对应关系:
| JSON 架构 | 雪松 | 注意 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
十进制是 Cedar 中的一种扩展类型,它与 IEEE 的浮点数不完全匹配,因此数字将被截断为 Cedar 表示形式 |
|
|
|
类型对应关系以递归方式应用于属性, |
|
|
|
Cedar |
|
|
|
由于 Cedar 对单独的类型没有 1:1 的匹配 |
将此表视为高级概述。有关详细和细致入微的用例的更多信息,请参阅上的开源 MCP 架构生成器。 GitHub
你不能做什么
-
无法引用 AgentCore 命名空间之外的实体类型
-
无法访问除外的其他上下文字段
context.input(context.output只能与护栏一起使用) -
无法在上使用自定义属性 OAuthUser (改用标签)
-
无法在策略中定义新的实体类型