本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
架构约束
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)
-
参数类型会自动从操作架构映射到 Cedar 类型。
下表显示了 7 种基本 JSON 架构类型和 Cedar 类型之间的对应关系:
| JSON 架构 | 雪松 | 注意 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Decimal 是 Cedar 中的一种扩展类型,它与 IEEE 浮点数不完全匹配,因此数字将被截断为 Cedar 表示形式 |
|
|
|
类型对应关系以递归方式应用于属性, |
|
|
|
Cedar |
|
|
|
由于 Cedar 对单独的类型没有 1:1 的匹配 |
将此表视为高级概述。有关详细和细致入微的用例的更多信息,请参阅上的开源 MCP 架构生成器
你不能做什么
-
无法引用 AgentCore 命名空间之外的实体类型
-
无法访问除之外的上下文字段
context.input(context.output只能与护栏一起使用) -
无法在上使用自定义属性 OAuthUser (改用标签)
-
无法在策略中定义新的实体类型
-
不能使用浮点数。Cedar 没有浮点类型,因此将分数值表示为
decimal("…"),它支持不超过 4 位小数 -
不能使用正则表达式。模式匹配仅限于使用
*通配like符的运算符。有关更多信息,请参阅通配符的工作原理