top of page

Amazon Bedrock AgentCore OAuth 同意将关键身份步骤交由 AWS 托管

9月16日
讀畢需時 15 分鐘

Amazon 以托管式 Amazon Bedrock AgentCore OAuth 同意机制取代了一部分脆弱的自定义基础设施,将会话绑定和浏览器重定向迁入 AWS。

新的 Consent 门户为 AgentCore Gateway 用户提供了一个托管页面,用于连接 GitHub 和 Slack 等外部服务。它通过企业身份提供商验证每位员工的身份,展示提供商权限,并将最终授权与该员工关联。

这改变的不只是授权界面的外观。AWS 正在承担开发者过去必须自行构建、保护、托管、审计,并保持与多个提供商兼容的底层工作。自定义 OAuth 基础设施虽然更灵活,却也意味着每个团队都必须负责将授权结果正确绑定至发起请求的用户。

直接受益的是通过 Kiro、Claude Code、Cursor、Visual Studio Code 或其他 Model Context Protocol 客户端暴露智能体能力的团队。这些环境可以调用远程工具,但并不总能提供适合完成 OAuth 授权的浏览器界面。

因此,核心矛盾在于托管身份与应用自有控制权之间。AWS 为客户减少了实施工作,但管理员仍控制范围、身份提供商、执行角色、目标配置和撤销策略。该门户简化了一道安全边界,却没有消除围绕它的决策。

Amazon Bedrock AgentCore OAuth 同意取代自定义回调层

Consent 门户将客户自行构建的 OAuth 检查点,转变为 AgentCore Gateway 中由 AWS 托管的一部分。

AWS 于 2026 年 9 月 1 日宣布推出该托管门户,并于 9 月 14 日发布了详细的实施指南。该功能已在 AgentCore Identity 运营所在的所有商业 AWS 区域提供。

此前,使用三方 OAuth 流程的团队必须维护一个公开的 HTTPS 回调端点。三方 OAuth(3LO)允许用户授权应用代表自己访问另一项服务。

生成授权 URL 后,客户应用还需承担多项责任:展示该 URL、接收浏览器返回请求、验证用户身份、恢复原始浏览器会话,并完成会话绑定。

会话绑定用于确认批准访问的人,正是发起授权请求的人。如果没有这项检查,其他人可能打开一个共享的授权 URL,将其授权错误绑定到不属于自己的智能体身份上。

如今,该门户提供了浏览器体验和托管式会话绑定端点。AWS 将其描述为一个专用授权界面,面向通过无法直接处理 OAuth 重定向的客户端访问的智能体。

每个门户只关联一个 AgentCore Gateway。管理员会为各个网关目标配置企业 OpenID Connect 身份提供商、执行角色以及出站 OAuth 提供商。

OpenID Connect(OIDC)为 OAuth 增加了一层身份能力,使应用能够验证完成流程的用户身份。该门户要求 OIDC 提供商签发 JSON Web Token 访问令牌。

GitHub、Slack、Salesforce、Atlassian 和 LinkedIn 无法作为门户的主要身份提供商,因为它们不满足这些特定的 OIDC 要求。不过,它们仍可充当智能体访问的出站提供商。

预配完成后,AWS 会根据网关名称和部署区域分配一个托管 URL。管理员需要先在企业身份提供商中注册其回调地址,再向用户分发门户 URL。

托管同意门户会分别展示每个已配置的出站连接。开发者可以授权 GitHub,同时保持 Slack 未连接。

这种分离很重要,因为智能体很少会立即需要所有可用集成。独立连接让用户可以推迟授权,直到相关任务确实需要时再进行。

门户还会显示每个连接是否处于活动状态。员工因此可以自助查看,而无需让管理员检查后端令牌状态。

AWS 会将生成的凭据存储在 AgentCore Identity 令牌保险库中。浏览器负责认证与批准,但 AWS 表示,它不会以浏览器可见数据的形式接收最终访问令牌。

这一变化调整的是部署边界,而非 OAuth 标准本身。GitHub 和 Slack 仍会展示各自的同意界面、签发各自的授权,并执行各自的权限范围。

发生迁移的是企业身份、用户浏览器、出站提供商与 AgentCore Gateway 之间的协调层。许多智能体项目过去正是在这一层累积了大量自定义代码。

为什么编码智能体让 OAuth 会话绑定面临压力

智能体客户端扩大了工具调用与基于浏览器的同意之间的鸿沟,使自定义回调成为持续出现的平台问题。

传统 Web 应用本身已有浏览器、已认证会话和明确的重定向端点。IDE 智能体则运行在截然不同的环境中。

开发者可能在编辑器中工作时,请智能体检查一个代码仓库。智能体会访问 AgentCore Gateway 目标,但 GitHub 在返回受保护数据前,需要获得开发者的授权。

尽管最初的请求来自 IDE,授权步骤仍必须在浏览器中打开。随后,系统必须将浏览器中的结果重新关联到发起请求的开发者。

这就是会话绑定问题。OAuth 提供商知道是哪个 GitHub 或 Slack 账户批准了访问,但智能体平台必须验证发起请求的企业用户身份。

AWS 此前已为这一流程提供 AgentCore Identity API。当缺少有效用户授权时,GetResourceOauth2Token 可以返回授权 URL 和会话 URI。

缺失的一环是应用自有端点。提供商将浏览器重定向回来后,客户代码必须验证返回用户的身份,并调用 CompleteResourceTokenAuth

现在,AWS 通过门户运行该端点。其会话绑定流程会在完成令牌获取前,将授权会话与已认证的企业身份关联。

这一模型很重要,因为授权 URL 可以被转发。用户可以将其复制到消息中、在另一台设备上打开,或意外发送给同事。

仅凭 URL 无法证明是谁发起了智能体请求。当浏览器返回时,安全实现需要进行独立的身份检查。

OAuth 安全指南同样将重定向处理视为敏感边界。当前的 OAuth 安全指南建议进行精确的重定向匹配、采用交易专属保护措施,并防范授权码注入。

AgentCore 门户并未消除这些提供商层面的要求。它只是将 AgentCore 客户在交换过程应用侧的处理方式标准化。

这一举措恰逢其时,因为使用工具的智能体正在扩大企业内部的授权路径数量。一个助手可通过统一网关公开代码仓库、消息、工单、客户和文档工具。

每个工具可能采用不同的范围、令牌有效期、刷新行为和撤销控制。以应用专属回调支持每一种组合,会同时增加工程工作量和审查复杂度。

压力主要落在企业平台团队身上。他们必须赋予智能体足够的委托访问权限以完成有用工作,同时避免将智能体凭据变成共享服务账户。

按用户授权有助于维持可追责性。通过智能体创建的 GitHub issue 可以使用发起开发者所连接的授权,而不是广泛共享的令牌。

这种隔离也支持不同的访问级别。两名员工可以使用同一个智能体,同时保留各自下游账户所执行的权限限制。

这一模型尤其适用于 Model Context Protocol(MCP)。MCP 为 AI 客户端发现和调用工具提供了通用方式,但它并不能取代各提供商自身的授权控制。

网关可以规范化工具访问,而身份仍然是提供商特定的。Consent 门户试图在这些层之间架起桥梁,而不要求每个 IDE 客户端都实现完整的浏览器流程。

这让竞争中的智能体平台承受了明确压力。它们需要针对常规 Web 应用之外可用的、按用户委托的工具访问提供解决方案。

一些平台会继续将回调和会话层保留在应用代码中。另一些则会使用托管身份代理或网关服务。AWS 正押注于客户更偏好集成式托管路径。

托管会话绑定是机制,而非安全结果

AWS 移除了回调代码,但客户仍决定智能体是否获得范围受限且可审查的访问权限。

预配始于两种不同的身份关系。第一种是通过企业 OIDC 提供商向门户验证员工身份。

第二种则将智能体连接至各个下游服务。因此,即使同一名员工同时授权 GitHub 和 Slack,两者仍需要独立的出站 OAuth 凭据提供商。

门户的主要提供商必须与网关入站 JSON Web Token 授权器所信任的 OIDC 签发者一致。这种对齐可防止门户和网关采用彼此无关的身份用户群。

管理员还会向门户分配 IAM 执行角色。该角色使其能够检查关联的网关、发现符合条件的目标、启动授权并完成会话绑定。

AWS 可以通过控制台创建默认服务角色。控制更严格的组织则可提供其他角色,并通过 IAM 限制权限。

创建后,门户会先处于创建状态,随后才变为活动状态。最终 URL 在预配完成前不可用,这形成了一个有意设计的两阶段配置流程。

管理员首先使用临时回调创建 OIDC 应用。AWS 返回门户 URL 后,管理员再向企业提供商注册 <portal-url>/callback

该路径处理员工登录后的返回。它不同于 <portal-url>/connect/callback,后者接收出站连接流程结束后返回的浏览器。

第三个回调则属于 AgentCore Identity 本身。GitHub 或 Slack 会将授权码发送至为其出站凭据提供商生成的回调地址。

这三个目标服务于不同的信任关系。混淆它们可能导致认证失败、重定向被拒绝,或授权结果始终无法到达正确的会话。

AWS 建议精确配置回调地址,且不要添加末尾斜杠。这一细节与 OAuth 对精确重定向匹配的更广泛要求一致。

门户配置还要求只能有一个 AgentCore Gateway 来源。这在门户与其工具目录之间建立了直接边界。

从用户角度看,这一流程更短。员工打开门户 URL,通过公司身份提供商登录,并查看可用服务。

选择 GitHub 会启动 GitHub 的授权页面。员工审查权限范围和组织访问权限,批准应用后返回门户。

AgentCore Identity 接收提供商的授权码并获取令牌。随后,门户对返回的员工进行身份验证,并使用已存储的会话 URI 完成绑定。

门户将 GitHub 标记为已连接。Slack 则会保持未连接状态,直到员工启动并批准其独立流程。

开发者随后可以返回 IDE,并重试相关工具调用。当网关调用该目标时,AgentCore Identity 可以提供已存储的用户令牌。

这正是 Amazon Bedrock AgentCore OAuth 同意机制的核心。它将预先授权与 IDE 代理尝试执行操作的时刻分离开来。

因此,门户可以充当准备界面。企业可在员工开始使用代理前,通过获批准的内部渠道发送其 URL。

这种设计避免 IDE 扩展捕获敏感的浏览器状态。它还提供了一个统一位置,让用户查看连接状态并断开某个提供商。

刷新令牌决定连接能否持续发挥作用。提供商签发刷新令牌时,AgentCore Identity 会将其存储,并在访问令牌过期后使用它。

提供商政策仍决定是否可以刷新。GitHub 支持带有相应刷新令牌的会过期用户访问令牌,而 Slack 提供可配置的令牌轮换

如果提供商未签发有效刷新令牌,门户无法自行生成。访问令牌过期或授权被撤销后,员工必须重新连接。

这是 AWS 托管承诺中的一项重要边界。门户负责协调授权,但令牌生命周期和撤销仍分布在 AWS、提供商和企业应用之间。

权衡从回调所有权转向配置控制

托管门户减少了代码所有权,但也将更多运营信任集中在 AgentCore 控制平面内。

自定义基础设施让团队能够完全控制浏览器会话、回调行为、界面设计、遥测和异常处理。与此同时,它也要求团队对每一项安全决策负责。

托管门户缩小了这一负担。AWS 托管公共端点、维护浏览器体验、完成会话绑定,并存储提供商令牌。

这可以从客户架构中移除一个暴露的应用组件。它也能减少多个内部代理项目中重复的 OAuth 代码。

但代码变少并不意味着治理变少。即使 AWS 管理回调,范围过宽的 GitHub 权限仍然过宽。

在 AWS 示例中,GitHub 目标可以列出仓库并创建议题。Slack 目标可以列出公共频道并发布消息。

这些操作带来的后果不同。仓库可见性可能暴露专有工作,而消息发布则允许代理通过与用户关联的授权对外沟通。

管理员必须决定这两种能力是否应归属同一个网关。该管理员还必须将请求的权限范围限制在代理确实需要的操作之内。

用户会看到提供商的同意页面,但同意的实际质量取决于清晰度。一个宽泛的权限标签,可能授权的行为多于眼前代理任务所暗示的范围。

预先同意还带来另一项考量。在工具调用前授权提供商可减少中断,但它会将批准与代理稍后执行的确切操作分离开来。

这对高频工作流很有帮助。但它也可能削弱用户意图与某项具体且具有后果的操作之间的联系。

门户处理的是提供商级别的同意,而不是交易级别的确认。批准 Slack 访问并不必然意味着批准代理未来拟发布的每一条消息。

应用设计者仍需围绕敏感操作设置防护措施。这些措施可以包括预览、明确确认、受限的工具定义、策略检查和服务器端授权。

这一区分对企业买家很重要。OAuth 回答的是代理是否拥有委派凭据,而产品策略决定代理应在何时使用该凭据。

门户依赖能够签发 JWT 的 OIDC 提供商,这也构成另一项限制。使用不受支持或不透明访问令牌安排的组织,必须在采用前调整其身份配置。

每个门户也只映射到一个网关。这简化了信任边界,但拥有多个网关的企业可能需要多个门户及相应的回调注册。

区域设计同样值得关注。门户 URL 包含 AWS 区域,而令牌和网关资源位于关联的 AgentCore 环境中。

安全团队必须评估这一部署位置是否符合其数据驻留、日志记录、事件响应和服务可用性要求。

供应商集中化是更大的战略权衡。团队向 AgentCore 委托的身份工作越多,其代理架构对 AWS 特定 API 和门户行为的依赖就越强。

只要投入足够的工程工作,自定义实现可以在不同网关间迁移。托管的 AgentCore 工作流更适合已在 AWS 身份、IAM、CloudTrail 和 Bedrock 服务上实现标准化的团队。

这并不意味着托管路线天然更弱或更强。它改变了专业知识、故障恢复和证据收集的归属位置。

AWS 控制门户软件和服务可用性。客户仍需负责身份提供商配置、IAM 角色、客户端密钥、请求的权限范围、提供商应用和网关策略。

GitHub 和 Slack 仍负责各自的授权页面、令牌签发、过期和撤销行为。一次生产事故可能跨越这三个管理域。

这种分布式责任是 Amazon Bedrock AgentCore OAuth 同意机制背后的主要不确定性。工作流是托管的,但安全结果仍由多方共同决定。

团队应测试的不仅是连接成功。还应验证已撤销的授权、过期的刷新令牌、离职员工、变更后的权限范围、被禁用的提供商应用和错误的回调值。

他们还应测试断开提供商后,后续工具调用是否会被迅速阻止。状态标签只有在反映有效的下游访问时才有价值。

CloudTrail 让同意过程可审计,但存在重要限制

CloudTrail 会记录 AgentCore 授权序列,使调查人员能够获得有关流程执行的证据,同时不会暴露令牌本身。

Amazon Bedrock AgentCore 会将与同意相关的管理事件发送至 AWS CloudTrail。管理员可以按 bedrock-agentcore.amazonaws.com 事件源筛选事件历史记录。

三项操作构成主要审计线索。GetResourceOauth2Token 显示门户何时为与用户关联的工作流启动提供商授权。

CompleteResourceTokenAuth 记录会话绑定的完成。门户为已认证员工获取网关访问权限时,会出现 GetWorkloadAccessTokenForJWT

GetResourceOauth2Token 事件可以包含凭据提供商名称、请求的权限范围、OAuth 流程、执行角色、区域和关联资源 ARN。

AWS 会对敏感令牌和状态字段进行脱敏处理。这可防止凭据出现在通用审计日志中。

这些记录还会标识门户所使用的已承担 IAM 角色。这有助于调查人员将授权尝试与门户的执行上下文关联起来。

对于失败请求,CloudTrail 可以显示错误代码、错误消息、时间戳、区域、提供商、请求的权限范围和已承担角色。这些字段有助于区分身份失败与目标配置错误。

事件链支持多种实际调查。安全团队可以询问 GitHub 授权是否已启动、会话绑定是否完成,以及请求了哪些权限范围。

运维团队也可以识别缺失的完成事件。这一模式可能指向回调不匹配、企业身份验证失败、浏览器中断或提供商拒绝。

CloudTrail 并不能提供完整的下游故事。它记录 AgentCore 操作,但不能替代 GitHub 审计日志或 Slack 工作区记录。

完成令牌授权证明某项授权已被绑定,但并不能证明代理后来访问了哪个仓库,或发布了什么消息。

因此,完整监督需要关联记录。团队需要 AgentCore 事件、网关调用遥测、应用跟踪、企业身份日志和提供商侧审计数据。

如果这些系统使用不同的用户标识符,关联就可能变得困难。企业 OIDC 主体、AWS 工作负载身份、GitHub 账户和 Slack 成员可能并不共享一个可读名称。

组织应在事件发生前定义这种映射。否则,他们可能拥有多份准确日志,却无法迅速建立某个用户的完整活动轨迹。

令牌脱敏还形成另一项有意设置的限制。调查人员可以看到授权元数据,但无法从 CloudTrail 恢复或比对秘密值。

这是保护凭据的正确默认做法。这意味着在诊断提供商侧令牌拒绝或轮换失败时,团队需要其他证据。

权限范围历史同样值得关注。已记录的授权事件显示该流程请求的权限范围,但治理团队需要一个基准来判断这些范围是否恰当。

变更管理流程可以将每个网关目标与获批准的权限范围集合关联起来。这样,CloudTrail 就成为用于比对的证据,而非孤立的技术事件流。

保留策略同样重要。CloudTrail 事件历史提供了便捷的起点,但组织通常需要跟踪或事件数据存储来支持更长期的调查。

告警可聚焦于绑定失败、意外区域、不熟悉的执行角色或新请求的权限范围。这些信号比单纯统计成功连接更有价值。

这种可审计性是 AWS 托管路线最强的优势之一。它将授权控制平面置于许多 AWS 安全团队已在监控的工具旁边。

不过,不应将 CloudTrail 可见性误认为完整的代理问责能力。同意只是代理操作的一个阶段,而不是操作本身。

一套可辩护的部署会将授权、网关会话、工具请求、下游响应和由此产生的任何外部变更连接起来。门户在这一更广泛链条中提供了一个重要的身份事件。

三个信号将表明同意门户是否改变代理部署

下一项检验在于,企业是否将该门户视为生产级身份基础设施,而非便捷的演示功能。

第一个信号是是否超越 GitHub 和 Slack 示例而获得采用。AWS 已将该门户定位为适用于 Salesforce 等服务,但其生产价值取决于它能否在多样化提供商之间稳定运行。

不同服务具有不同的权限体系、回调规则、刷新策略、管理审批和撤销模型。更广泛且经过验证的集成将强化托管平台的论点。

第二个信号是生命周期控制的质量。企业需要在员工离职、群组分配变化、应用失去批准或提供商令牌过期时获得可预测的行为。

仅有一个精心打磨的初始连接还不够。生产级身份基础设施必须让撤销授权、重新授权和访问审查,像首次同意流程一样清晰易懂。

集中式资产清单和自动化审查的证据将增强 AWS 的优势。反复在多个门户和提供商之间进行手动核对,则会削弱这一优势。

第三个信号是端到端可观测性。CloudTrail 会记录授权序列,但客户需要能够轻松关联同意授权与后续工具活动。

AWS 可以通过一致的标识符和已文档化的查询方式,将工作负载身份、网关会话、提供商凭证和工具调用连接起来,从而强化这一设计。

竞争对手的回应也将提供参考背景。其他代理网关和企业 AI 平台同样面临对话式客户端与基于浏览器的授权之间的鸿沟。

竞争方案可能倾向于在每次敏感操作发生时进行授权。另一种方案则可能将同意授权直接嵌入代理客户端,而不是提供独立门户。

这些路径会在便利性、用户意图、可移植性和集中式管理之间形成不同的平衡。AWS 选择了一个与网关关联、并由其身份控制平面支持的 Web 界面。

对开发者而言,眼下的问题很实际:这条托管路径是否消除了足够多的安全敏感代码,从而值得与 AgentCore 建立更紧密的耦合?

对企业采购方而言,问题更为广泛:一个团队能否在每一条代理连接中统一治理权限范围、授权撤销、审计证据和提供商生命周期?

知识工作者也应关注这一点,因为委托访问决定了工作场所代理能够查看和更改什么。一张同意授权页面,可能成为通往源代码、对话记录、工单和客户资料的入口。

已经在构建工程知识库的团队,应将代理授权记录视为同一运营上下文的一部分。访问决策需要持久化文档记录。

Amazon Bedrock AgentCore OAuth consent 为真实的部署障碍提供了可信的解决方案。它以一个托管、可审计的授权界面,替代了自定义会话绑定基础设施。

更艰巨的工作如今转向治理。在广泛采用之前,请梳理每一个目标、所请求的权限范围、令牌生命周期、确认规则和审计来源。

然后检验一个令人不安的问题:如果代理明天采取了错误操作,你的团队能否识别是谁授予了访问权限、代理使用了什么,以及应如何撤销该权限?

 
 

免费开始使用

一款本地优先的AI助手

为了获得更好的人工智能体验,

remio 目前仅支持Windows 10+ (x64)M-Chip Mac

你的 AI 工作伙伴

remio 一起高效工作

规划、创作、交付

一站式完成

bottom of page