对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs 菜单

管理第三方应用程序对Atlas的访问

MongoDB Atlas App Connections 允许第三方应用程序通过用户委托访问权限代表Atlas用户进行操作。作为组织所有者,您可以控制应用程序是否可以连接到您的组织。

本页介绍如何:

  • 为您的组织启用或禁用第三方应用连接。

  • 设置授权应用程序的最长刷新令牌生命周期。

  • 查看用户已授权的应用程序。

  • 了解当您禁用应用程序的访问权限时,哪些清理工作是您的责任。

当用户授权应用程序时,该应用程序将代表该用户执行操作。应用程序接收令牌,使其能够使用用户在Atlas组织和项目中拥有的相同权限调用Atlas Administration API 。如果用户无法执行某项动作,则应用程序也无法代表用户执行该操作。

因为访问权限是从用户自己的权限委托而来的:

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

  • 仅当您的组织允许第三方应用连接并且授权用户持有操作所需的角色时,针对您的组织的操作才会成功。

应用程序使用 OAuth 2.1 授权代码流和代码交换证明密钥 (PKCE) 来获取委派访问权限。要学习;了解应用程序如何与此流程集成,请参阅将您的应用程序与Atlas App Connections 集成。

默认下是否启用第三方应用连接取决于组织的创建时间:

  • 现有组织以及在Atlas App Connections 启动之前创建的组织默认禁用第三方应用连接。组织所有者必须启用它们。

  • 在Atlas App Connections 启动后,用户在注册Atlas时创建的新组织默认启用第三方应用连接。这不适应用加入现有组织的用户。

禁用第三方应用连接后,应用程序获得的任何委托访问权限令牌在调用组织的Atlas Administration API时都会收到 403 Forbidden 响应。

当您为之前允许第三方应用程序连接的组织禁用第三方应用连接时,更改会立即生效:通过用户委托针对您的组织的Atlas Administration API调用开始返回 403 Forbidden。

禁用第三方应用连接会阻止应用程序通过用户委托访问控制平面。它不会撤销应用程序可能已经拥有的其他访问权限:

  • 数据平面访问权限继续。应用程序创建的数据库用户和连接字符串保持有效,因此现有的MongoDB驾驶员或连接池会话保持活动状态。

  • 其他控制平面凭证继续。如果应用程序创建了服务帐户或API密钥,它们将保留控制平面访问权限,直到您将其删除。

要完全删除应用程序的访问权限,您必须自行清理这些资源。请参阅限制和责任。

要允许或限制第三方应用连接,请完成以下步骤:

1

在Atlas用户界面中,打开组织设置,然后选择 App Connections标签页。

2

在 Third-Party Apps 部分中,打开或关闭 Allow users to connect third-party apps。

3

Atlas会提示您确认。要允许连接,请单击 Allow。要限制它们,请单击 Restrict。

Third-Party Apps 部分列出了可以连接到您的组织的应用程序。每个应用程序都会显示一个反映当前设置的 ALLOWED 或 RESTRICTED 标记。允许连接后,您可以通过 View connections 按钮前往用户已授权的应用程序。

此设置控制第三方应用程序的访问权限。要学习;了解通过远程 MCP 服务器控制访问权限的单独设置,请参阅管理AI客户端对组织的访问。

授权应用程序使用刷新令牌获取新的访问权限令牌,而不会提示用户重新授权。作为组织所有者,您可以为组织中授权的应用程序设立刷新令牌的最长生命周期。

管理刷新令牌的限制有两个:

  • 最长生命周期是刷新令牌保持有效的最长期限。当令牌达到此限制时,无论是否进行活动,用户都必须重新授权应用程序。默认为 30 天。

  • 空闲生命周期是指刷新令牌在不使用的情况下保持有效的时间。在此期限内未使用的令牌将过期。默认为 7 天。空闲寿命永远不能超过最大寿命。

在Atlas用户界面中,组织所有者可以调整最长生命周期。您只能通过Atlas Administration API自定义空闲生命周期,而不能通过Atlas用户界面。

注意

默认生命周期是按 OAuth客户端配置的,因此适用的默认取决于连接的客户端。

要设立刷新令牌的最长生存期,请完成以下步骤:

1

在Atlas用户界面中,打开组织设置,然后选择 App Connections标签页。

2

在 Maximum refresh token lifetime 部分中,单击 Set max lifetime。

3

选择一个预设值:8 hours、12 hours、24 hours、3 days、7 days 或 30 days。要输入其他值,请选择 Custom,然后键入一个数字并选择 HOUR(S) 或 DAY(S)。自定义值必须为 365 天或更少。

4

保存后,该部分会显示当前的最长生命周期。要更改值,请单击编辑图标。

与允许或限制第三方应用连接的设置不同,最长刷新令牌生命周期是单个组织范围的设置。它适用于组织中的每个应用连接,包括通过远程 MCP 服务器连接的客户端。要学习;了解这些客户端,请参阅管理AI客户端对组织的访问。

要删除为组织设立的最长刷新令牌生命周期,请单击当前值旁边的删除图标,然后单击 Clear 进行确认。清除该设置后,每个客户端的有效生命周期将恢复为默认。

您可以查看组织用户已授权的第三方应用程序,以及有关每个连接的元数据。

1

在Atlas 用户界面中,单击 Identity & Access 下的 Applications。

2

选择 Connected Apps 标签页。

3

Connected Third-Party Apps 部分列出了每个授权的应用程序、其发布者以及已连接的组织成员数量。

4

单击应用程序旁边的 View all,打开其连接页面。

应用程序的连接页面列出了每个已连接成员的以下详细信息:

  • Users:授权应用程序的Atlas 用户。

  • Last used:应用程序最近一次代表该用户操作的时间。

  • Last authorized:用户最近一次授权应用程序的时间。

重要

禁用应用程序的访问权限不会删除应用程序创建的资源。当您禁用访问权限时, Atlas不会自动删除数据库用户、服务帐户、 API密钥或其他资源。清理这些资源是您的责任。在您删除它们之前,这些凭证在您的Atlas帐户中保持活动状态,并且可以保留数据平面或控制平面访问权限。

禁用应用程序的访问权限时,请注意以下事项:

  • Atlas不会自动删除应用程序代表用户创建的数据库用户。在您禁用访问权限后,这些数据库用户及其连接字符串仍可继续工作。

  • Atlas不会自动删除应用程序创建的服务帐户或API密钥。这些凭证保留控制平面访问权限,直到您将其删除。

  • Atlas不会自动删除应用程序创建的其他资源,例如集群或项目。

  • 现有数据平面连接保持活动状态,直到通过正常连接生命周期事件关闭。

要完全卸载应用程序,请参阅卸载最佳实践。

当您停止使用某个应用程序时,禁用其访问权限只是第一步。要完全卸载应用程序并保护数据,请完成以下清理:

  • 如果没有其他应用程序或工作负载依赖于应用程序代表用户创建的任何数据库用户,请删除这些用户。

  • 在删除数据库用户之前,请确认其连接字符串未由仍需访问权限的其他应用程序或工作负载共享。

  • 删除应用程序创建的任何服务帐户或API密钥,否则保留控制平面访问权限。

  • 查看并删除应用程序预配的不再需要的任何集群、项目或其他资源。