Atlas App Connections 是MongoDB Atlas OAuth 2.1 平台,允许应用程序通过用户委托的访问权限代表Atlas用户进行操作。当用户授权应用时,该应用会收到令牌,它可以使用令牌来调用Atlas Administration API,其权限与用户在其Atlas组织中拥有的权限相同。
应用可以包括:
AI客户端,通过MongoDB MCP 服务器连接到Atlas
合作伙伴应用程序
MongoDB应用程序
本页解释了通过Atlas App Connections 进行用户委托访问权限的相关概念。有关如何使用AI客户端与MongoDB数据交互的具体信息,请参阅本页链接的MongoDB MCP Server 文档。
委派访问的工作原理
当用户授权某个应用时,该应用会代表该用户而不是作为单独的实体进行操作。该应用会收到令牌,从而使用用户在其Atlas组织和项目中拥有的相同权限调用Atlas Administration API 。如果用户无法执行动作,则应用也无法代表用户执行操作。该应用永远不会收到用户的密码或长期凭证。
特别是对于AI客户端,有效访问权限是两个因素中限制性更强的一个:授权用户的现有Atlas权限,以及组织所有者为组织配置的只读或读写访问权限模式。访问权限模式可以减少AI客户端可以执行的操作,但永远不会授予超过用户自身权限所允许的访问权限。
因为访问权限是从用户自己的权限继承的:
当用户角色更改时,应用的有效权限会自动更改。
仅当组织允许AI客户端连接并且授权用户持有操作所需的角色时,针对该组织的操作才会成功。
用户在授权客户端时始终会委托所有访问权限,这可能超过客户端完成给定任务所需的权限。要限制对其组织的委派,组织所有者可以执行以下操作:
默认下, Atlas会为现有组织和现有Atlas 用户创建的新组织禁用AI客户端访问权限。
组织所有者可以仅为需要的组织启用AI客户端访问权限。
组织所有者可以为AI客户端指定只读或读写访问权限模式。
授权和同意
应用程序通过带有代码交换证明密钥 (PKCE) 的 OAuth 2.1 授权代码流程获取委派访问权限。 PKCE 流程如下:
用户从应用启动连接,而不是从Atlas启动连接。
启动连接的确切步骤因应用而异。对于AI客户端,请参阅MongoDB MCP Server 文档以获取特定于客户端的设置指导。
应用控制如何将用户定向到授权页面,例如通过新的浏览器窗口、弹出窗口或现有窗口内的重定向。
Atlas会提示用户登录(如果尚未登录)。
尚无Atlas帐户的用户在创建 Atlas 帐户时必须从应用重新启动连接。 Atlas不会自动将新注册用户重定向回应用。
Atlas会显示一个同意屏幕,列出所请求的权限。
用户选择“授权”以授予访问权限,或选择“拒绝”以取消访问。
Atlas将用户重定向回应用。
连接现已激活。
组织级治理
默认下, Atlas会为现有组织和现有Atlas用户创建的新组织禁用AI客户端连接。组织所有者必须显式启用AI客户端访问权限,然后AI客户端才能对该组织使用委派访问权限。当新用户在注册期间创建的组织中没有Atlas帐户时, Atlas默认启用AI客户端访问权限默认。
组织所有者可以:
为组织启用或禁用AI客户端访问权限。
选择只读或读写访问权限模式。
设置授权连接的最长令牌生命周期。
您配置的访问权限模式和授权用户自己的Atlas权限共同决定了AI客户端可以执行的操作。 AI客户端的有效访问权限始终是两者中限制性更强的访问权限。
访问撤销和时机
当用户授权对应用进行委托访问权限时,该应用会收到访问权限令牌和刷新令牌。该应用在每次调用Atlas Administration API时都会显示其访问权限令牌。当访问权限令牌过期时,应用会使用其刷新令牌来获取新的访问权限令牌,而无需用户重新登录。
AI客户端访问权限撤销生效所需的时间因撤销访问权限而异:
组织所有者禁用组织的AI客户端访问权限:立即撤销每个连接到组织的AI客户端的控制平面访问权限。
用户撤销单个AI客户端的访问权限:更改可能需要 10分钟才能生效。
限制
在规划集成时,请考虑Atlas App Connections 的以下范围和边界:
组织所有者无法撤销用户授予客户端的个人访问权限。要删除组织中任何用户委托的访问权限,请禁用整个组织的AI客户端访问权限。为组织启用AI客户端访问权限后,当前和未来所有支持委派访问权限的AI客户端将被启用。
Atlas Administration API IP访问权限列表不适应用委托访问流量。无法根据AI客户端连接的IP解决来阻止AI客户端的委托访问调用。
撤销不会删除客户端在其授权访问权限期间创建的安全工件。无论客户端的撤销令牌如何,这些工件仍然有效: