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

常见问题解答:安全性

默认情况下,Atlas 使用高级加密标准 (AES)-256 对所有集群存储和快照卷进行静态加密。您的云提供商会自动化此磁盘加密并管理加密密钥。

Atlas 还要求对客户端数据和集群内网络通信进行 TLS 加密。

如果您的组织需要有关Atlas加密的更多具体信息,请联系Atlas MongoDB支持

1
  1. 如果尚未显示,组织从导航栏中的Organizations菜单。

  2. 单击导航栏中的 Support 图标。

  3. 单击 View plan(连接)。

显示“支持”页面。

2

No.

Atlas要求所有Atlas集群使用 TLS 连接。 Atlas支持 TLS协议版本 1.2和 。1.3

重要提示: Atlas不再支持 TLS1.0 或1.1 。所有集群都拒绝使用 TLS1.0 或1 1进行连接的尝试。 将集群的最低 TLS 1版本设置为.2 或更高版本。

您可以从支付卡行业 (PCI)美国国家标准与技术研究院 (NIST) 了解有关更改时间和原因的更多信息。

如果您对TLS支持有疑问或无法更新应用程序以支持TLS 1.3 ,请联系Atlas MongoDB支持部门

要打开Atlas支持票证:

1
  1. 如果尚未显示,组织从导航栏中的Organizations菜单。

  2. 单击导航栏中的 Support 图标。

  3. 单击 View plan(连接)。

显示“支持”页面。

2

如果应用程序的根本的编程语言或安全库在 TLS 1.3 之前就已存在,则可能需要更新到最新版本以支持 TLS 1.3。您可能还需要更新应用程序托管操作系统以支持 TLS 1.3。

MongoDB 和 Atlas 不提供审核外部应用程序所支持的 TLS 版本的服务。第三方服务(如 howsmyssl.com)可提供相应的工具。MongoDB 不支持此服务,此处引用仅供参考。利用您组织的程序选择供应商或服务来审核应用程序。

  • 执行 Atlas 审核,检查您的应用程序是否支持 TLS 1.3。

  • 更新技术堆栈中不支持TLS 1.3 的所有组件。

  • 修改集群配置以使用 TLS 1.3。

  • 如果您有 自定义 TLS 1.2 密码配置,则必须更新配置以包含 TLS 1.3 密码。

Atlas 集群节点的 TLS 证书由 Google Trust Services 或 Let's Encrypt 签名,以提高高可用性。Atlas 同时使用这两个证书权限机构。您必须将来自 Google Trust Services 的 GTS Root R1GTS Root R2GTS Root R3GTS Root R4 根证书权限机构的 CA 证书添加到客户端的可信证书存储区,除此之外,还必须添加来自 Let's Encrypt 的 ISRG Root X1 根证书权限机构,以确保服务的跨实例和区域的横向扩展实现无缝连续性。

Atlas 使用 GTS Root R3GTS Root R4 根 CA 证书来支持 TLS 1.3。

注意

大多数应用程序环境的受信任证书颁发机构列表中已包含 Let's Encrypt 和 Google Trust Services。

要下载证书颁发机构证书,请参阅 Google 信任服务存储库ISRG 根 X1

注意

Atlas会自动轮换证书。您无需运行rotateCertificates命令。仅当您想手动轮换证书时才使用 rotateCertificates 命令。

TLS 证书自颁发之日起的90 天内有效。证书在证书到期日期前 42 天进行轮换。

使用以下命令检查节点的 TLS 证书是否过期:

echo | openssl s_client -showcerts -connect $HOSTNAME:$PORT 2> /dev/null | openssl x509 -noout -enddate

我们不建议对中间证书进行硬编码或固定,因为这会带来操作负担和可用性风险。如果 Let's Encrypt 或 Google Trust Services 轮换或替换固定的中间证书,您的应用程序可能无法连接,从而导致中断。

如果必须固定证书,请将其固定到证书颁发机构证书,而不是任何中间证书。

Let's Encrypt 的 ISRG 根证书和 Google Trust Services 根证书均可在 u 更新后Java版本7 7391的默认信任存储以及 u {Java}8 8381更新 。使用 18 7 月 2023 之后的Java发布。

确保 Java 客户端软件是最新的。使用最新的 Java 版本可以利用我们 TLS 证书的这些新证书颁发机构要求之外的改进。

如果您有自己的信任存储,请将 Let's Encrypt 和 Google Trust Services 证书添加到其中。 要学习;了解更多信息,请参阅哪个证书颁发机构签署MongoDB Atlas TLS 证书?

默认下, Windows Server 中不包含 ISRG 根 X1、GTS 根R1 和 GTS 根R 2 根证书颁发机构,但可在Microsoft可信根计划中使用。

要配置Windows Server 以下载受信任的根证书,请参阅Windows文档。

某些版本的Amazon Linux AMI 可能不会同时具有 ISRG 根 X1 和 GTS 根R1 和R2 证书。请迁移到较新版本的Amazon Linux以获得所需的根证书。6 月2025之后,我们将要求Atlas支持ISRG 根 X1、GTS 根R1 和R 2 证书,以避免证书兼容性问题。

如果您必须使用较旧的Amazon Linux AMI,请手动安装 ISRG 根 X1、GTS 根R1 和R2 根证书颁发机构。

如果您使用的是最新的编程语言和操作系统版本, 则此更改不会对您造成影响。

Atlas 可防止 TLS 配置更改导致集群节点之间在滚动更新期间发生通信中断。

更新 TLS 设置时,Atlas 会一个节点一个节点地应用更改。在此过程中,运行旧配置的节点必须仍能连接到运行新配置的节点。如果您提出的更改删除所有共享 TLS 版本或密码套件,则节点无法通信,这会导致集群分区和潜在的停机。

为保护集群可用性,Atlas 会阻止这些不安全过渡并返回 UNSAFE_TLS_TRANSITION 错误。

当前和建议的 TLS 配置之间没有重叠时,通常会在以下场景中发生此错误:

  • TLS 版本不匹配。

    • 示例:直接从仅支持 TLS 1.2 切换为仅支持 TLS 1.3。

    • 结果:使用 TLS 1.2 的节点无法连接到需要 TLS 1.3 的节点。

  • 密码套件不匹配。

    • 示例:将所有现有密码套件替换为完全不同的套件。

    • 结果:节点没有共享密码来协商连接

分阶段更改 TLS,并确保新旧设置之间存在重叠:

适用于 TLS 版本:

  1. 启用 TLS 1.2 和 TLS 1.3。

  2. 应用更改,并允许更新完成。

  3. 在后续更新中删除 TLS 1.2 (如有需)。

对于密码套件:

  • 确保在过渡期间,当前配置与新配置之间至少共享一个密码套件。

避免“一次性” TLS 变更。始终保持旧配置和新配置之间的临时兼容性,以确保安全的滚动更新。

Atlas 为官方支持的驱动程序、Community 驱动程序和不支持的配置提供不同级别的支持。

官方支持的驱动程序

MongoDB 开发和维护这些驱动程序,它们列在 mongodb.com/zh-cn/docs/drivers 上。MongoDB 的测试矩阵、发布过程和支持 SLA 涵盖这些驱动程序。

官方支持的驱动程序包括 CC++C#GoJavaKotlinNode.jsPHPPythonRubyRustScalaSwift。

Community 驱动程序

第三方开发者创建并维护这些驱动程序,它们实现 MongoDB 公布的规格或传输协议。示例包括 Zookzook (Elixir)、Mango (Dart)、mongolite (R)和 mgo (Go)。

不支持的配置

任何官方支持的或 Community 驱动程序使用的已结束生命周期版本。

官方支持的驱动程序(当前版本)

Atlas SLA 涵盖这些驱动程序。MongoDB 提供标准的故障排除和解决方案,包括连接问题的调查和修复。

官方支持的驱动程序(EOL 版本)

MongoDB 提供最大努力支持。MongoDB 会调查问题,但可能会建议升级到当前版本。

Community 驱动程序

MongoDB 提供最大努力的仅诊断支持。支持可帮助您确定问题是源于平台还是驱动程序。对于驱动程序侧问题,MongoDB 提供可用的指导,并将您引导至驱动程序维护人。MongoDB 不调试或修补 Community 驱动程序代码。

什么 |service| 做

Atlas 会对影响连接层的平台变更进行风险评估,包括 TLS 版本变更、证书轮换和身份验证机制更新。Atlas 会评估已知的脆弱模式,即使脆弱来源于客户端代码。

对于高风险的平台变更, Atlas会在可行的情况下在发布说明和维护前通知中发布指导。

什么 |service| 不做

Atlas 不会:

  • 测试、认证或保证 Community 驱动程序的正确性

  • 测试所有配置中的所有 Community 驱动程序

  • 承诺修补、查看或维护 Community 驱动程序

Community 驱动程序必须正确实现 TLS 协商、身份验证、传输协议和故障转移行为。MongoDB 对 Community 驱动程序的任何贡献都是自愿的,而非合同义务。

Atlas SLA 仅涵盖当前版本中官方支持的 MongoDB 驱动程序。由 Community 驱动程序错误或不支持的驱动程序配置导致的服务中断不属于 SLA 范围。

使用当前版本的 官方支持的驱动程序,以获得完整的 SLA 覆盖和最佳支持体验。