在 Amazon ECS 上使用 Amazon Bedrock AgentCore Identity 保护 AI 代理

生产中的 AI 代理需要安全访问外部服务。 Amazon Bedrock AgentCore Identity 作为独立服务提供,可保护您的 AI 代理访问外部服务的方式,无论它们是在 Amazon ECS、Amazon EKS、AWS Lambda 等计算平台上还是在本地运行。本文使用安全会话绑定和范围令牌在 Amazon ECS 上实现授权代码授予(三足 OAuth)。

来源:亚马逊云科技 _机器学习

生产中的 AI 代理需要安全访问外部服务。 Amazon Bedrock AgentCore Identity 作为独立服务提供,可保护您的 AI 代理访问外部服务的方式,无论它们是在 Amazon ECS、Amazon EKS、AWS Lambda 等计算平台上运行,还是在本地运行。

之前的一篇文章介绍了 AI 代理的 AgentCore Identity 凭证管理。在 ECS 等计算环境上运行代理会引发两个问题:如何构建应用程序拥有的会话绑定端点,以及如何管理工作负载访问令牌生命周期?

本文使用安全会话绑定和范围令牌在 Amazon ECS 上实现授权代码授予(3 足 OAuth)。这篇文章提供了一个有效的实现:

  • 安全会话绑定,防止 CSRF 和浏览器交换攻击
  • 身份验证令牌的范围仅限于每个用户会话,遵循最小权限原则
  • 代理工作负载和会话绑定服务之间的关注点分离
  • 使用 OAuth 2.0 和 OIDC 进行身份验证和授权

    此解决方案使用 OAuth 2.0 (RFC 6749) 和 OpenID Connect (OIDC)。 OIDC 对用户进行身份验证(他们是谁),OAuth 2.0 授权他们的操作(他们可以做什么)。

    我们重点关注用户委派访问的授权代码授予。用户向身份提供商进行身份验证并授予同意。然后,应用程序将授权代码交换为访问令牌,从而创建审核跟踪。在此流程中,用户向身份提供者进行身份验证,并同意代理代表他们访问特定资源。应用程序将生成的授权代码交换为范围访问令牌,Amazon Bedrock AgentCore Identity 在其令牌库中保护该令牌。由于每个令牌都在明确同意的情况下绑定到特定的用户身份,因此该解决方案维护了从用户身份验证到代理操作的可审核链。

    回调 URL 与会话绑定 URL

    在此上下文中,授权代码授予流程使用两个经常混淆的 URL:

    清理