AWS 在 Bedrock AgentCore Gateway 里配置代表用户的令牌交换,让智能体以登录用户的身份调用 ServiceNow
一套可照做的模式:智能体调用企业接口时,保住用户身份、审计记录和权限。
// 要点
- 没有身份传递时,智能体的调用到了下游是以应用而不是用户的身份出现,审计记录断掉,用户级权限也被绕过
- 智能体用限定在自身 Microsoft Entra ID 应用注册的 JWT 向网关认证;网关通过 OBO 流程把它换成限定在 ServiceNow 连接器的令牌,并保留原用户身份
- ServiceNow 把令牌里的 preferred_username 映射到已有用户并套用其权限;令牌交换配置在网关目标上,每次请求都会执行
- AWS 表示这个模式适用于其他受 OAuth 保护的 REST 接口
开发者视角凡是碰业务系统的智能体,都应该默认这样做:智能体以用户身份行事,而不是拿一个超级账号。AI 云盘的智能体功能我也会这么做:在工具网关换成用户的令牌,由存储层自己执行权限,而不是在智能体里过滤结果。