核心概念
在 Amazon Bedrock 中使用策略之前 AgentCore,请务必了解共同为人工智能代理提供基于策略的监管的关键概念和组件。
网关
Amazon Bedrock AgentCore Gateway 提供了一个终端节点,用于连接 MCP 服务器,并将 API 和 lambda 转换为 MCP 兼容工具,从而为代理提供与其工具交互的单一访问点。一个网关可以有多个目标,每个目标代表一个或一组不同的工具。
网关目标
目标定义网关将作为工具提供给代理的 API 或 Lambda 函数。目标可以是 Lambda 函数、OpenAPI 规范、Smithy 模型或其他工具定义。
主要类型
Cedar 策略使用委托人来代表提出授权请求的实体。中的策略 AgentCore 支持两种主体类型,具体取决于您的 AgentCore 网关的身份验证配置方式:
-
AgentCore:: OAuthUser-代表 OAuth-authenticated 用户。当 AgentCore 网关使用 OAuth 授权时,将根据 JWT 令牌的声明创建委托人。
subOAuth 主体支持包含 JWT 声明的标签,例如用户名、范围、角色等。 -
AgentCore:: IamEntity-代表 IAM-authenticated 来电者。当 AgentCore 网关使用 AWS_IAM 授权时,会根据调用者的 IAM 身份创建委托人。IAM 委托人有一个包含 IAM ARN 的
id属性(格式arn:aws:sts::<account>:assumed-role/<role-name>:用于代入的角色),可实现principal ==稳定匹配。详情请参阅保单条款。
雪松
Cedar
雪松政策
Cedar 策略是一种声明性声明,允许或禁止访问网关工具。每项策略都指定了谁(委托人)可以在什么条件下对哪个资源(网关)执行什么操作(工具调用)。每个工具调用请求都会评估策略。
策略引擎
策略引擎是政策的核心组成部分 AgentCore ,用于存储和评估 Cedar 政策。创建策略时,只要策略范围与请求相匹配,它们就会应用于与引擎关联的每个网关。对于每次工具调用,策略引擎都会根据请求评估所有适用的策略,以确定是允许还是拒绝访问。引擎会自动强制执行默认拒绝和禁胜语义。
雪松架构
Cedar 架构定义了用于策略验证的实体、操作和上下文的结构。策略引擎根据网关的工具定义自动生成架构,将每个工具映射到一个操作并定义预期的输入参数。该架构可确保策略在创建时得到验证,从而在部署之前捕获错误。
雪松验证
Cedar 验证会检查策略在语法上是否正确且符合架构。当您将策略与网关关联时,策略引擎会根据自动生成的架构对其进行验证,以确保它们引用有效的操作、使用正确的数据类型以及仅访问已定义的上下文字段。验证会在部署策略之前捕获错误,从而防止运行时授权失败。
雪松分析
Cedar 分析使用自动推理来检查策略并发现潜在问题。Policy in AgentCore 使用自动推理来识别始终允许(没有条件限制访问)或始终拒绝(禁止策略无例外)的策略,这有助于确保策略实现预期的访问控制,而不是过于宽松或不必要的限制。
策略创作服务
策略制定服务会自动将自然语言授权要求转换为 Cedar 政策。当您提交自然语言策略时,该服务会生成语法正确的 Cedar 代码,根据网关架构对其进行验证,并运行自动分析以检测潜在问题。这样可以确保所有生成的策略都是有效的,并有助于在部署之前识别过于宽松或限制性的规则。