Docs 菜单

Docs 主页启动和管理 MongoDBMongoDB Atlas

为集群配置安全功能

在此页面上

  • 预配置的安全功能
  • 传输中加密
  • 虚拟私有云
  • 静态加密
  • 必需安全功能
  • 网络和防火墙要求
  • IP 访问列表
  • 用户身份验证或授权
  • 可选安全功能
  • 网络对等连接
  • 私有端点
  • 统一 AWS 访问
  • 集群身份验证和授权
  • 使用密钥管理进行静态加密
  • 客户端字段级加密 (Client-Side Field Level Encryption)
  • 数据库审核
  • 访问跟踪
  • Atlas 用户界面访问权限的多因素身份验证
  • 支持访问 Atlas 控制面或从 Atlas 控制面进行访问
  • 允许访问 Data Federation
  • OCSP 证书撤销检查

您可以安全地使用 Atlas,开箱即用。 Atlas 预先配置有安全的默认设置。您可以微调集群的安全功能,以满足您独特的安全需求和偏好。查看集群的以下安全功能和注意事项。

重要

作为安全最佳实践,不要在命名空间和字段名中包含敏感信息。 Atlas 不会混淆这些信息。

Atlas 产品具有以下安全功能:

Atlas 需要 TLS/SSL 来加密与数据库的连接。

要配置 SSL 或 TLS OCSP 证书撤销检查,请参阅 OCSP 证书撤销检查。

拥有一个或多个 M10+ 专用集群的所有 Atlas 项目可以获得自己的专用 VPC(如果使用 Azure,则是 VNet)。Atlas 在此 VPC 或 VNet 内部署所有专用集群。

默认情况下,Atlas 会对存储在 Atlas 集群上的所有数据进行加密。 Atlas 还支持使用密钥管理进行静态加密。

必须配置以下安全功能:

确保应用程序可以到达的 MongoDB Atlas 环境。可通过如下方式将应用程序环境的入站网络权限访问添加到 Atlas:

  1. 将公共 IP 地址添加到您的 IP 访问列表

  2. 使用 VPC / VNet 对等互联添加私有 IP 地址。

  3. 添加私有端点

提示

另请参阅:

如果防火墙阻止出站网络连接,则必须打开应用程序环境到 Atlas 的出站访问。您必须配置防火墙,允许应用程序建立到端口 27015 至 27017 的出站连接,从而打开 TCP 流量。这会授予应用程序访问存储在 Atlas 上的数据库的权限。

注意

默认情况下,MongoDB Atlas 集群无需能够启动与应用程序环境的连接。如果您希望通过 LDAP 身份验证和授权启用 Atlas 集群,则必须允许从 Atlas 集群直接访问安全的 LDAP 网络。只要公共 DNS 主机名指向 Atlas 集群可以访问的 IP,您就可以允许使用公共或私有 IP 来访问 LDAP

如果您不使用VPC/VNet 对等互连并计划使用公共 IP 地址连接到 Atlas,请参阅以下页面了解更多信息:

Atlas 仅允许客户端从项目的 IP 访问列表中的条目连接到集群。要进行连接,必须在 IP 访问列表中添加一个条目。要设置项目的 IP 访问列表,请参阅配置 IP 访问列表条目。

对于部署在 Google Cloud Platform (GCP)Microsoft Azure 上的 Atlas 集群,请将 Google Cloud 或 Azure 服务的 IP 地址添加到 Atlas 项目的 IP 访问列表,授予这些服务对集群的访问权限。

Atlas 要求客户端进行身份验证才能连接到数据库。您必须创建数据库用户才能访问数据库。要设置集群的数据库用户,请参阅配置数据库用户。 Atlas 为集群身份验证和授权提供了许多安全功能。

要访问项目中的集群,用户必须属于该项目。用户可以属于多个项目。

可以配置以下安全功能:

Atlas 支持与其他 AWSAzure 的对等互连或 Google Cloud 网络对等互连。要了解详情,请参阅设置网络对等互连

重要

如果这是所选区域的第一个 M10+ 专用付费集群,并且您计划创建一个或多个 VPC 对等互连,请在继续操作之前查看有关 VPC 对等互连的文档。

Atlas 支持以下私有端点:

要使用私有端点,请参阅了解 Atlas 中的私有端点。

一些 Atlas 功能(包括 Data FederationEncryption at Rest using Customer Key Management)使用 AWS IAM 角色进行身份验证。

要设置供 Atlas 使用的 AWS IAM 角色,请参阅设置统一 AWS 访问权限

Atlas 为集群身份验证和授权提供以下安全功能。

Atlas 要求客户端进行身份验证才能访问集群。您必须创建数据库用户才能访问数据库。要为集群设置数据库用户,请参阅配置数据库用户。

Atlas 支持创建用于数据库授权的自定义角色,以防内置 Atlas 角色不授予所需的权限集。

您可以通过以下方式为 AWS IAM 用户设置无密码身份验证:

支持使用 LDAP 来进行用户身份验证和授权。要使用 LDAP,请参阅使用 LDAP 设置用户身份验证和授权。

X. 509客户端证书为数据库用户提供对项目中集群的访问权限。 X. 509身份验证选项包括 Atlas 托管的 X. 509身份验证和自管理 X. 509身份验证。要了解有关自管理 X. 509身份验证的更多信息,请参阅设置自管理 X. 509身份验证。

组织所有者可以限制 MongoDB 生产支持员工访问组织中任何 Atlas 集群的 Atlas 后端基础架构。组织所有者可以允许24小时绕过 Atlas 集群级别的访问限制。

重要

阻止来自 MongoDB 支持的基础架构访问可能会增加支持问题响应和解决时间,并对集群的可用性产生负面影响。

要启用此选项,请参阅配置 MongoDB 支持访问 Atlas 后端基础架构。

Atlas 支持使用 AWS KMS、Azure Key Vault 和 Google Cloud 对存储引擎和云提供商备份进行加密。如需使用静态加密,请参阅使用客户密钥管理进行静态加密

Atlas 支持客户端字段级加密,包括字段自动加密。所有 Atlas 用户有权使用 MongoDB 的自动客户端字段级加密功能。

要了解更多信息,请参阅客户端字段级加密要求。

注意

MongoDB CompassAtlas 用户界面MongoDB Shell ( mongosh ) 不支持对客户端字段级加密字段进行解密。

Atlas 支持审核所有系统事件操作。要使用数据库审核,请参阅设置数据库审核。

Atlas 直接在 Atlas 用户界面中显示身份验证日志,以便您可以轻松查看针对集群进行的成功和不成功的身份验证尝试。要查看数据库访问历史记录,请参阅查看数据库访问历史记录。

Atlas 支持通过 MFA 来帮助控制对 Atlas 账户的访问。要设置 MFA,请参阅管理多因素身份验证选项

如果使用以下任何 Atlas 功能,可能需要将 Atlas IP 地址 添加到网络 IP 访问列表中:

controlPlaneIPAddresses端点发送 GET 请求,获取当前 Atlas 控制平面 IP 地址。 API 端点CIDR表示法返回入站和出站 Atlas 控制平面 IP 地址列表,按云提供商和地区分类,类似于以下内容:

{
"controlPlane": {
"inbound": {
"aws": { // cloud provider
"us-east-1": [ // region
"3.92.113.229/32",
"3.208.110.31/32",
"107.22.44.69/32"
...,
],
...
}
},
"outbound": {
"aws": { // cloud provider
"us-east-1": [ // region
"3.92.113.229/32",
"3.208.110.31/32",
"107.22.44.69/32"
...,
],
...
}
}
},
"data_federation": {
"inbound": {},
"outbound" {}
},
"app_services": {
"inbound": {},
"outbound" {}
},
...
}

如需将返回的 IP 地址添加到云提供商的 KMS IP 访问列表,请参阅使用 AWSAzureGCP 管理客户密钥的前提条件。

出站访问是来自 Atlas 控制平面的流量。我们建议您使用 Atlas Admin API获取当前出站 Atlas 控制平面 IP 地址。

入站访问是指进入 Atlas 控制平面的流量。如果您的网络仅允许向特定 IP 地址发出出站 HTTP 请求,则必须允许来自以下 IP 地址的访问,这样 Atlas 才能与 Webhook 和KMS通信:

3.92.113.229
3.208.110.31
3.211.96.35
3.212.79.116
3.214.203.147
3.215.10.168
3.215.143.88
3.232.182.22
18.214.178.145
18.235.30.157
18.235.48.235
18.235.145.62
34.193.91.42
34.193.242.51
34.194.7.70
34.196.80.204
34.196.151.229
34.200.66.236
34.235.52.68
34.236.228.98
34.237.40.31
34.238.35.12
35.153.40.82
35.169.184.216
35.171.106.60
35.173.54.44
35.174.179.65
35.174.230.146
35.175.93.3
35.175.94.38
35.175.95.59
44.206.200.18
44.207.9.197
44.207.12.57
50.19.91.100
52.7.232.43
52.71.233.234
52.73.214.87
52.87.98.128
52.203.106.167
54.145.247.111
54.163.55.77
54.167.217.16
100.26.2.217
107.20.0.247
107.20.107.166
107.22.44.69

如果网络仅支持向特定 IP 地址发出出站请求,则必须支持访问 TCP 端口 27017 上的以下 IP 地址,以便请求到达联合数据库实例:

18.204.47.197
34.237.78.67
54.91.120.155
34.217.220.13
54.203.115.97
54.69.142.129
108.129.35.102
18.200.7.156
99.81.123.21
3.8.218.156
3.9.125.156
3.9.90.17
18.196.201.253
3.122.67.212
35.158.226.227
13.54.14.65
52.64.205.136
3.6.3.105
65.1.222.250
18.231.94.191
54.94.3.214

如果网络只允许到特定 IP 地址的出站请求,为了允许 SSLTLS OCSP 证书撤销检查,必须允许访问 SSLTLS 证书 OCSP URL 中的 Atlas CA(证书颁发机构)OCSP 响应程序服务器。

要禁用 OCSP 证书撤销检查,请参阅应用程序使用的 MongoDB 驱动程序版本的文档。

← 解决连接问题