对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

Atlas 应用连接概述

Atlas App Connections 是 MongoDB Atlas OAuth 2.1 平台,可以通过用户委托的访问权限让应用代表 Atlas 用户执行操作。当用户授权应用时,应用会收到可用于调用 Atlas Administration API 的令牌,其权限与用户在 Atlas 组织中拥有的权限相同。

本页面介绍了通过 Atlas 应用 Connections 进行用户委托访问的基本概念。这些概念适用于所有类型的应用。本页面描述的治理和撤销控制(例如组织级访问模式和令牌生命周期)是 AI 客户端特有的。合作应用程序、MongoDB Compass 和 Atlas 代理引擎各自拥有自己的治理控制。要连接或托管特定类型的应用,请参阅该应用类型的文档。

AI 客户端通过 MongoDB MCP 服务器连接到 Atlas,并利用 MCP 服务器提供的工具代表用户执行操作。Organization Owner 可以控制 AI 客户端是否可以连接到组织以及它们使用哪种访问模式。

要比较 AI 客户端的连接方式,请参阅 MongoDB Atlas 的 MCP 访问模型。要为您的组织启用或限制 AI 客户端访问,请参阅 管理对您组织的 AI 客户端访问。

合作应用程序是直接通过 OAuth 2.1 与 Atlas 集成的第三方应用程序带有代码交换证明密钥 (PKCE) 的授权代码流。合作应用程序获取自己的访问令牌和刷新令牌,并以授权用户的权限调用 Atlas Administration API,而无需 MCP 服务器 作为中介。

要以合作身份将您的应用程序与 Atlas 集成,请参阅 将您的应用与 Atlas App Connections 集成。如果您的集成需要自动接收轮换的数据库凭证,请参阅 实现凭证轮换 Webhook。

Compass 中的 Atlas 应用连接允许用户使用 Atlas 登录,并安全地允许 Compass 使用现有的 Atlas 权限,以提供更流畅的 Atlas 连接体验。

Compass 委托访问默认处于启用状态。您无法在 Atlas 中禁用此功能。要在 Compass 中禁用 Atlas 应用 Connections,请打开您的 Compass 配置文件并将 enableAtlasSignIn 切换为 off。

身份验证令牌具有与 Atlas user 相同的权限。Compass 存储加密的刷新令牌在 Atlas user 的磁盘上。默认刷新令牌设置是 7 天的不活动窗口和 30 天的最长有效期。这些令牌将会一直有效,直到它们过期或用户撤销。这在员工离职或交接设备时很关键。您还可以缩短组织设置中刷新令牌的最长生存期。有关如何删除用户的说明,请参阅 管理组织用户。

Atlas 代理引擎是 MongoDB 托管的平台,用于构建、部署和治理 AI 代理。首次使用 Atlas 代理引擎时,您可以通过应用连接将 Atlas 访问权限委托给该服务。

MongoDB 平台服务使用您的委托访问权限代表您向 Atlas Administration API 发出服务器端调用。

当用户授权应用时,应用代表该用户执行操作,而不是作为独立实体执行操作。应用接收令牌,可以使其以用户在 Atlas 组织和项目中所持有的相同权限调用 Atlas Administration API。如果用户无法执行操作,应用也无法代表用户执行操作。应用从不接收用户的密码或长期凭证。

对于 AI 客户端,有效访问是两个因素中限制性较强的一个:授权用户现有的 Atlas 权限,以及 Organization Owner 为组织配置的只读或读写访问模式。访问模式可以限制 AI 客户端的操作,但不会授予超出用户自身权限的访问权限。

因为访问权限是从用户自身的权限继承的:

  • 当用户角色变更时,应用的有效权限会自动变更。

  • 对组织的操作仅在该组织允许 AI 客户端连接和授权用户持有操作所需角色时才会成功。

用户在授权客户端时始终委托其所有访问,这可能超出客户端完成给定任务所需的访问权限。为了将委托限制在其组织内,Organization Owner 可以采取以下操作:

  • Atlas 默认对现有组织和 Atlas user 创建的新组织禁用 AI 客户端访问。

  • Organization Owner 可以仅为需要 AI 客户端访问的组织启用 AI 客户端访问。

  • Organization Owner 可以为 AI 客户端指定只读或读写访问模式。

要了解更多信息,请参阅 MongoDB Atlas 的 MCP 访问模型。

应用程序通过 OAuth 2.1 获取授权代码流的委托访问,并附加代码交换的证明密钥 (PKCE)。授权代码流附加代码交换的证明密钥 (PKCE)。PKCE 流程如下:

1

用户从应用程序而非 Atlas 启动连接。

启动连接的具体步骤因应用而异。对于 AI 客户端,请参阅 MongoDB MCP 服务器 Docs 以获取客户端特定的设置指导。

应用程序控制如何将用户引导到授权页面,例如通过新的浏览器窗口、弹出窗口或现有窗口内的重定向。

2

Atlas 会提示用户登录,如果他们尚未登录。

尚未拥有 Atlas 账户的用户可以在此步骤中创建一个账户,然后继续连接流程。

3

Atlas 显示同意屏幕,列出正在请求的权限。

用户选择“授权”授予访问或“拒绝”取消。

4

Atlas 将用户重定向回应用。

连接现在已处于活动状态。

要了解更多信息,请参阅 安全、治理和可审计性。

Atlas 默认对现有组织和现有 Atlas 用户创建的新组织禁用 AI 客户端连接。Organization Owner 必须在 AI 客户端可以对该组织使用委托访问之前明确启用 AI 客户端访问。Atlas 默认对全新用户在注册期间创建的组织启用 AI 客户端访问,前提是该用户没有现有 Atlas 账户。

Organization Owner 可以:

  • 为组织启用或禁用 AI 客户端访问。

  • 选择只读或读写入访问模式。

  • 设置经授权连接的最长标记生命周期。

您配置的访问模式以及授权用户自己的 Atlas 权限共同决定 AI 客户端可以执行的操作。AI 客户端的有效访问始终是两者中限制更多的一个。

有关设置和配置步骤,请参阅 管理 AI 客户端对组织的访问。

当用户授权应用程序委托访问时,应用程序会收到访问令牌和刷新令牌。该应用会在每次 Atlas Administration API 调用中出示其访问令牌。当访问令牌过期时,应用程序会使用其刷新令牌获取新的访问令牌,而无需用户再次登录。

AI 客户端访问撤销生效所需的时间因撤销访问的人而异:

  • Organization Owner 禁用组织的 AI 客户端访问:连接到组织的每个 AI 客户端的控制平面访问都会立即被撤销。

  • 用户撤销单个 AI 客户端的访问权限:更改可能需要 10 分钟才能生效。

警告

及时取消联合用户的授权

当组织使用角色映射通过身份提供程序组管理 Atlas user 访问时,联合用户在 Atlas 中的权限仅在该用户登录时更新。这称为即时 (JIT) 预配。如果组织在该用户丧失访问权限时未通过 Atlas Administration API 取消该用户的预配,则持有该用户刷新令牌的 AI 客户端可以继续代表该用户行事。

为了限制这种风险:

  • 一旦用户失去访问权限,即可通过 Atlas Administration API 取消其授权。

  • 设置组织的最大刷新令牌生命周期,以减少客户端在用户取消授权后可以保留访问的时间。

要了解更多信息,请参阅AI 客户端访问生命周期。

以下指导应用于通过 Atlas 应用 Connections 连接的每种类型的应用,无论您的角色如何。

Organization Owner 控制应用是否可以连接到其组织。在 Organization Settings > App Connections 中,Organization Owner 可以启用或禁用第三方应用连接,设置授权应用的最长刷新令牌有效期,并查看组织中的用户已授权哪些应用。

个人用户授权代表他们行事的应用。当您连接应用时,Atlas 会向您显示一个同意屏幕,列出该应用请求的访问权限。您可以随时查看已连接的应用并撤销其中任何一个,这将阻止该应用代表您行事。

在规划集成时,请考虑 Atlas 应用连接的以下范围和界限:

  • Organization Owner 无法撤销由用户授予客户端的单个访问权限。要删除由组织中的任何用户授权的访问权限,请禁用整个组织的 AI 客户端访问。为组织启用 AI 客户端访问可以启用所有当前和将来支持授权访问的 AI 客户端。

  • Atlas Administration API IP 访问列表不应用于委托访问流量。AI 客户端的委托访问调用无法根据 AI 客户端连接的 IP 地址进行阻止。

  • 撤销不会删除客户端在授权访问期间创建的安全文件。这些文件依然有效,与客户端已撤销的令牌无关:

    • 服务帐户和 API 密钥是控制平面文物。对其进行 Atlas 审核,然后删除或轮换它们,以结束客户端对控制平面的访问。要了解更多信息,请参阅轮换服务帐户密钥。

    • 数据库用户是数据平面文物。与您项目中的其他数据库身份一起查看。要了解更多信息,请参阅 配置数据库用户。