官方API

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

  1. 创建 ServiceNow API 连接器应用注册,记录 Application (client) ID,并在 Expose an API 中添加 user_impersonation 作用域。
  2. 创建 AI 代理应用注册,记录 client ID,并在同级应用注册上添加 user_impersonation 权限。
  3. 为代理应用生成客户端密钥(用于 Gateway 凭证)。

配置 ServiceNow

  • 导航至 System OAuth > Inbound Integrations,创建新集成,填入 ServiceNow API 连接器 client ID。
  • 添加 OIDC 提供商,使用 Entra 租户的 .well-known/openid-configuration URL,映射 preferred_username 到 ServiceNow 用户字段。
  • 创建作用域并限制为所需 Table API(如 incident 表)。

配置 AgentCore Gateway

  1. 在 AgentCore 控制台 Build > Identity > Add Outbound Auth 中,添加自定义 OAuth 客户端,使用代理应用的 client ID/secret 与 Entra 发现 URL。
  2. 选择 JWT authorization grant 模式。
  3. 创建 Gateway,启用 MCP 2025-11-25 版本,并将 ServiceNow API 连接器 client ID 添加到 JWT Authorization Configuration。
  4. 为目标添加 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 过滤有害输入。

延伸阅读

风险与边界

此配置依赖 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 倍率榜。信息仅供参考,不构成购买、投资或法律意见。