ServiceNow OBO令牌集成Bedrock AgentCore Gateway
Learn how to configure Amazon Bedrock AgentCore Gateway for an on-behalf-of (OBO) token exchange with Microsoft Entra ID, so an AI agent can call the ServiceNow REST API while pres
본문은 SEO 깊이를 위해 주로 중국어입니다. 위는 현지화 요점입니다. 언어 전환·딥링크로 글로벌 탐색하세요.

ServiceNow OBO令牌集成Bedrock AgentCore Gateway
Amazon Bedrock AgentCore Gateway 允许 AI 代理在 Microsoft Entra ID 后端使用 on-behalf-of (OBO) 令牌与 ServiceNow REST API 交互,无需额外的 Lambda 函数或复杂路由逻辑。用户在 AWS 控制台中配置 OAuth 客户端后,AgentCore Gateway 会自动完成令牌交换,让代理以最终用户身份调用 ServiceNow API,同时保留身份和权限。
此方案适用于企业内部工具代理、自动化工作流或需要严格审计追踪的场景。决策时,请优先考虑是否有 Entra ID 与 ServiceNow 的 OAuth 集成计划,以及 AgentCore Gateway 是否已支持 MCP 2025-11-25 版本(旧版不支持原生 OBO)。
为什么需要 OBO 令牌交换
传统 API 调用中,代理通常以自身身份访问 ServiceNow,导致用户身份丢失、审计失效和权限绕过。OBO 模式通过 RFC 8693 或 RFC 7523 标准,将上游用户 JWT 转换为下游 scoped 令牌,AgentCore Gateway 在每次请求时自动处理交换。
核心优势在于零信任架构:ServiceNow 可根据 preferred_username 声明验证最终用户,而代理无需处理敏感凭证。AWS 官方博客(2026-11-03)展示了此配置如何将 AgentCore Gateway 与 Entra ID 直接对接。
预备条件
- AWS 账户启用 AgentCore Gateway 功能。
- Microsoft Entra ID 租户(至少 Application Developer 角色)。
- ServiceNow 实例(推荐 Personal Developer Instance,可在 developer.servicenow.com 免费创建)。
- 两个 Entra 应用注册:一个代表 AI 代理,另一个代表 ServiceNow API 连接器。
配置 Microsoft Entra ID
- 创建 ServiceNow API 连接器应用注册,记录 Application (client) ID,并在 Expose an API 中添加
user_impersonation作用域。 - 创建 AI 代理应用注册,记录 client ID,并在同级应用注册上添加
user_impersonation权限。 - 为代理应用生成客户端密钥(用于 Gateway 凭证)。
配置 ServiceNow
- 导航至 System OAuth > Inbound Integrations,创建新集成,填入 ServiceNow API 连接器 client ID。
- 添加 OIDC 提供商,使用 Entra 租户的
.well-known/openid-configurationURL,映射preferred_username到 ServiceNow 用户字段。 - 创建作用域并限制为所需 Table API(如
incident表)。
配置 AgentCore Gateway
- 在 AgentCore 控制台 Build > Identity > Add Outbound Auth 中,添加自定义 OAuth 客户端,使用代理应用的 client ID/secret 与 Entra 发现 URL。
- 选择 JWT authorization grant 模式。
- 创建 Gateway,启用 MCP 2025-11-25 版本,并将 ServiceNow API 连接器 client ID 添加到 JWT Authorization Configuration。
- 为目标添加 ServiceNow REST 端点(支持 OpenAPI 模式),启用原生 OBO 令牌交换。
完整架构示意图见 AWS 官方博客:https://aws.amazon.com/blogs/machine-learning/servicenow-on-behalf-of-token-exchange-with-bedrock-agentcore-gateway/
架构对比表
下表对比传统调用与 OBO 配置的差异(数据基于 2026-11-03 AWS 官方文档):
| 方面 | 传统方式 | OBO 令牌交换方式 |
|---|---|---|
| 身份传递 | 代理自身身份 | 用户 + 代理双身份 |
| 令牌来源 | 手动拼接或 Lambda 路由 | AgentCore Gateway 自动交换 |
| 审计与权限 | 容易失效 | 保留用户 preferred_username |
| 配置复杂度 | 高(需自定义路由) | 直接在 Gateway 目标中启用 |
| 适用场景 | 简单查询API | 企业级 REST API(如 ServiceNow) |
常见问题与误区
- 旧版 Gateway(MCP < 2025-11-25)不支持原生 OBO,必须升级。
- Entra 中未正确添加
user_impersonation作用域会导致交换失败。 - ServiceNow OIDC 配置中若未映射
uti(JTI 等效),可能影响令牌重放保护。 - 生产环境建议结合 Bedrock Guardrails 过滤有害输入。
延伸阅读
- GrokCode API 中转:了解更多官方 API 集成案例。
- GrokCode 模型天梯:对比 Bedrock 与开源模型在代理场景的性能。
- GrokCode 官方 API 指南:ServiceNow 相关 REST API 最佳实践。
- GrokCode 工具箱:本地部署与算力账相关资源。
- GrokCode 开源模型:AgentCore 兼容的开源代理框架。
风险与边界
此配置依赖 AWS 与 Microsoft 官方服务端点,需确保 Entra ID 应用有适当的 consent 流程,否则交换可能被拒绝。配置错误可能导致权限过宽或令牌泄露风险。非法律意见:本文仅供参考,不构成法律或安全建议,请咨询专业安全团队审核部署。
English summary
Amazon Bedrock AgentCore Gateway enables seamless on-behalf-of (OBO) token exchange with Microsoft Entra ID for ServiceNow REST API calls. AI agents can now invoke ServiceNow on behalf of authenticated users while preserving identity and audit trails—no custom Lambda or routing required. Configure Entra ID application registrations for the ServiceNow connector and AI agent, set up inbound OAuth in ServiceNow, then add an OAuth client in AgentCore Gateway using JWT authorization grant. Use MCP 2025-11-25 version for native support. The solution follows AWS architecture with OBO flow bridging different audiences. Ideal for enterprise agents needing zero-trust access. See official AWS blog for screenshots and full details. (180 characters)
适用于 GrokCode 倍率榜。信息仅供参考,不构成购买、投资或法律意见。