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 功能(包括 数据联合 使用客户密钥管理的静态加密 )使用 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 后端基础架构。 组织所有者可在 Atlas 数据库部署级别授予 24 小时绕过访问限制的权限。

重要

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

要启用此选项,请参阅配置 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 驱动程序版本的文档。

← 解决连接问题