View a markdown version of this page

核心概念 - 亚马逊基岩 AgentCore

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

核心概念

在 Amazon Bedrock 中使用策略之前 AgentCore,重要的是要了解关键概念和组件,这些概念和组件共同为您的 AI 代理提供基于策略的治理。

网关

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 委托人的id属性包含 IAM ARN(格式:arn:aws:sts::<account>:assumed-role/<role-name>用于假定角色),可以实现稳定的principal ==匹配。有关详细信息,请参阅政策条件。

雪松

Cedar 是一种开源策略语言,由开发 AWS 用于编写和执行授权策略。Cedar 策略是人类可读的、可分析的,并且可以根据架构进行验证。中的策略 AgentCore 使用 Cedar 为网关工具提供精确、可验证的访问控制。

雪松政策

Cedar 政策是允许或禁止访问网关工具的声明性声明。每个策略都指定谁(主体)可以在什么条件下对哪个资源(网关)执行什么操作(工具调用)。我们会针对每个工具调用请求评估策略。

Dogwood

Dogwood 是 Dogwood Policy 网站上的一种开源政策语言,与 Cedar 兼容:每份有效的雪松政策也是有效的山茶树政策,因此您现有的雪松政策保持不变。除了您已经可以表达的时间点条件外,Dogwood 还支持会话感知型时间条件和信息提供商,例如向策略提供计算信号的 Guardrails。Dogwood 策略是根据对相关请求进行分组的策略会议进行评估的。

临时策略

大多数 Cedar 政策都是无状态的:每个请求都会单独评估。临时策略增加了取决于同一会话中早些时候发生的事情的条件,例如要求事先批准、限制操作的运行频率或将运行总数保持在阈值以下。临时策略以 Dogwood 编写,与 Cedar 兼容,并根据对相关请求进行分组的策略会话进行评估。有关更多信息,请参阅临时策略。

护栏

护栏是Dogwood政策可以在线咨询的信息提供者。在评估时,护栏会计算请求的内容安全信号,例如内容过滤器、即时攻击或敏感信息分数,策略根据该结果允许或禁止该操作。有关更多信息,请参阅政策中的护栏。

政策会议

策略会话是分组在一个会话 ID 下的一系列相关网关调用,您在标头中的请求中提供该会话 ID。x-amzn-bedrock-agentcore-policy-session-id临时策略根据策略会话进行评估:临时条件仅考虑请求获得授权时在同一会话中记录的事件。有关更多信息,请参阅策略会话和身份传播。

策略引擎

策略引擎是策略的核心组成部分 AgentCore ,用于存储和评估 Cedar 政策。创建策略时,只要策略范围与请求相匹配,它们就会应用于与引擎关联的每个网关。对于每次工具调用,策略引擎都会根据请求评估所有适用的策略,以确定是允许还是拒绝访问。引擎会自动强制执行 “默认拒绝” 和 “禁止获胜” 语义。

雪松架构

Cedar 架构定义了用于策略验证的实体、操作和上下文的结构。策略引擎根据网关的工具定义自动生成架构,将每个工具映射到一个操作并定义预期的输入参数。该架构确保策略在创建时得到验证,在部署之前发现错误。

雪松验证

Cedar 验证会检查策略在语法上是否正确并符合架构。当您将策略关联到网关时,策略引擎会根据自动生成的架构对其进行验证,以确保它们引用有效的操作、使用正确的数据类型以及仅访问已定义的上下文字段。验证会在部署策略之前捕获错误,从而防止运行时授权失败。

雪松分析

Cedar 分析使用自动推理来检查政策并发现潜在问题。Policy in AgentCore 使用自动推理来识别始终允许(无条件限制访问)或始终拒绝(无例外地禁止策略)的策略,这有助于确保策略实施预期的访问控制,而不是过于宽松或不必要的限制。

策略制定服务

策略创作服务会自动将自然语言授权要求转换为 Cedar 策略。当您提交自然语言政策时,该服务会生成语法正确的 Cedar 代码,根据网关架构对其进行验证,并运行自动分析以检测潜在问题。这样可以确保所有生成的策略都有效,并有助于在部署之前识别过于宽松或限制性的规则。