英文原标题:Govern AI agent access with Okta Cross App Access and Amazon Bedrock AgentCore – Part 1

本文为英文原文的机器翻译摘要,原文见:AWS Machine Learning Blog ↗

  • 文章介绍如何用 Okta Cross App Access (XAA) 和 Amazon Bedrock AgentCore 治理 AI agent 的访问权限,解决 per-app OAuth 和共享服务账号无法回答“哪个 agent 可能代表哪个用户在哪个应用行动”的问题。
  • Okta 作为治理平面:在 IdP 中注册 agent、管理员批准其可访问的应用,并在 agent 每次请求代表用户行动时评估策略;AgentCore Identity 作为执行平面:持有 agent 凭证,将 Okta 决策兑换为短期访问令牌,并保存在 token vault 中。
  • 每个请求携带三个令牌:ID token 标识用户身份,ID-JAG 是 Okta 的决策(单次使用、5 分钟过期),access token 是资源接受的令牌;AgentCore runtime 的 JWT authorizer 只接受 Okta 发给该 agent 的 ID-JAG。
  • 测试中,管理员移除用户对 agent 的分配后,Okta 在约 1 秒内拒绝该用户的新请求,已发放令牌在 5 分钟内过期;AgentCore Identity 为端到端约 30 秒的请求增加约 0.6 秒。
  • 文章提供在 Okta 中注册 agent 的步骤,包括创建自定义授权服务器、添加 groups claim、注册 AI agent、连接资源、添加访问策略规则并分配用户;这是两部分中的第一部分,第二部分将把相同治理扩展到 AgentCore Gateway 并使用 Cedar 策略。

关键数据

  • Okta 在管理员移除用户分配后约 1 秒内拒绝新请求,已发放令牌在 5 分钟内过期。
  • AgentCore Identity 为约 30 秒的端到端请求增加约 0.6 秒。
  • ID-JAG 单次使用且 5 分钟过期;访问令牌有效期为 5 分钟。
  • 自定义授权服务器 audience 为 api://task-manager,自定义 scope 为 xaa:read 和 xaa:write。
  • groups claim 过滤以 xaa- 开头的组。
  • 演练约需 1 小时;使用 Python 3.11、AWS CLI 2、boto3 1.43、AgentCore CLI 0.31.1、AgentCore Python SDK 1.24.1。

引语

  • Okta 在约 1 秒内拒绝该用户的新请求
  • 令牌在 5 分钟内过期
  • AgentCore Identity 增加约 0.6 秒

为什么值得看:它展示了如何用 Okta 策略和 AgentCore Identity 为 AI agent 建立可审计、可快速撤销的细粒度访问控制,并给出了实测的撤销延迟与性能开销。

站内导航