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 客户端指定只读或读写访问模式。
授权和同意
应用程序通过 OAuth 2.1 获取授权代码流的委托访问,并附加代码交换的证明密钥 (PKCE)。授权代码流附加代码交换的证明密钥 (PKCE)。PKCE 流程如下:
用户从应用程序而非 Atlas 启动连接。
启动连接的具体步骤因应用而异。对于 AI 客户端,请参阅 MongoDB MCP 服务器 Docs 以获取客户端特定的设置指导。
应用程序控制如何将用户引导到授权页面,例如通过新的浏览器窗口、弹出窗口或现有窗口内的重定向。
Atlas 会提示用户登录,如果他们尚未登录。
尚未拥有 Atlas 账户的用户在此步骤中创建账户后,必须从应用重新启动连接。Atlas 不会自动将新注册用户重定向回应用。
Atlas 显示同意屏幕,列出正在请求的权限。
用户选择“授权”授予访问或“拒绝”取消。
Atlas 将用户重定向回应用。
连接现在已处于活动状态。
组织级治理
Atlas 默认对现有组织和现有 Atlas 用户创建的新组织禁用 AI 客户端连接。Organization Owner 必须在 AI 客户端可以对该组织使用委托访问之前明确启用 AI 客户端访问。Atlas 默认对全新用户在注册期间创建的组织启用 AI 客户端访问,前提是该用户没有现有 Atlas 账户。
Organization Owner 可以:
为组织启用或禁用 AI 客户端访问。
选择只读或读写入访问模式。
设置经授权连接的最长标记生命周期。
您配置的访问模式以及授权用户自己的 Atlas 权限共同决定 AI 客户端可以执行的操作。AI 客户端的有效访问始终是两者中限制更多的一个。
访问撤销和时间
当用户授权应用程序委托访问时,应用程序会收到访问令牌和刷新令牌。该应用会在每次 Atlas Administration API 调用中出示其访问令牌。当访问令牌过期时,应用程序会使用其刷新令牌获取新的访问令牌,而无需用户再次登录。
AI 客户端访问撤销生效所需的时间因撤销访问的人而异:
Organization Owner 禁用组织的 AI 客户端访问:连接到组织的每个 AI 客户端的控制平面访问都会立即被撤销。
用户撤销单个 AI 客户端的访问权限:更改可能需要 10 分钟才能生效。
限制
在规划集成时,请考虑 Atlas 应用连接的以下范围和界限:
Organization Owner 无法撤销由用户授予客户端的单个访问权限。要删除由组织中的任何用户授权的访问权限,请禁用整个组织的 AI 客户端访问。为组织启用 AI 客户端访问可以启用所有当前和将来支持授权访问的 AI 客户端。
Atlas Administration API IP 访问列表不应用于委托访问流量。AI 客户端的委托访问调用无法根据 AI 客户端连接的 IP 地址进行阻止。