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

Atlas 应用连接概述

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

应用程序可以包括:

  • 第一方应用程序,例如MongoDB Compass,通过Atlas登录以使用用户的现有Atlas权限

  • AI 客户端,通过 MongoDB MCP 服务器连接到 Atlas

本页解释了通过Atlas App Connections 进行用户委托访问权限的相关概念。它描述的管理和撤销控制应用于AI客户端。有关如何使用AI客户端与MongoDB数据交互的具体信息,请参阅本页链接的MongoDB MCP Server 文档。要学习;了解委托访问权限在MongoDB Compass中的工作原理(包括如何禁用它),请参阅应用程序类型。

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

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

身份验证令牌具有与Atlas 用户相同的权限。 Compass加密的刷新令牌存储在Atlas用户的磁盘上。默认刷新令牌设置为7 天的不活动窗口和30 天的最长生命周期。这些令牌会一直保留,直到过期或用户撤销,这在员工离开或移交设备时很重要。您还可以在组织设置中降低刷新令牌的最长生命周期。有关如何删除用户的说明,请参阅管理组织用户。

当用户授权应用时,应用代表该用户执行操作,而不是作为独立实体执行操作。应用接收令牌,可以使其以用户在 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 账户的用户在此步骤中创建账户后,必须从应用重新启动连接。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 用户访问权限, Atlas中的联合用户的权限仅在该用户登录时更新。这称为实时 (JIT) 预配。如果在用户失去访问权限时,您的组织没有通过Atlas Administration API取消配置该用户,则持有该用户的刷新令牌的AI客户端可以继续代表他们执行操作。

为了限制这种风险:

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

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

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

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

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

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

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

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

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