配置集群的安全功能
在此页面上
您可以安全使用 Atlas,无需进一步设置。Atlas 预先使用安全的默认设置。您可以微调集群的安全功能,从而满足您的特殊安全需求和偏好。查看集群的以下安全功能和注意事项。
重要
作为安全最佳实践,不要在命名空间和字段名中包含敏感信息。 Atlas 不会混淆这些信息。
预配置的安全功能
Atlas 产品具有以下安全功能:
传输中加密
Atlas 需要 TLS/SSL 来加密与数据库的连接。
TLS/SSL 证书是:
自Atlas颁发证书之日起 90 天内有效。
在证书到期日期前 42 天进行轮换。
要学习;了解有关 TLS加密的更多信息,请参阅 Atlas安全白皮书。
要配置 SSL 或 TLS OCSP 证书撤销检查,请参阅 OCSP 证书撤销检查。
虚拟私有云
拥有一个或多个 M10+ 专用集群的所有 Atlas 项目可以获得自己的专用 VPC(如果使用 Azure,则是 VNet)。Atlas 在此 VPC 或 VNet 内部署所有专用集群。
静态加密
默认情况下,Atlas 会对存储在 Atlas 集群中的所有数据进行加密。Atlas 还支持 通过密钥管理进行静态加密。
必需安全功能
你必须配置以下安全功能:
网络和防火墙要求
确保应用程序可以到达的 MongoDB Atlas 环境。可通过如下方式将应用程序环境的入站网络权限访问添加到 Atlas:
将公共 IP 地址添加到您的 IP 访问列表
使用 VPC / VNet 对等互联添加私有 IP 地址。
添加私有端点。
如果防火墙阻止出站网络连接,则必须打开应用程序环境到 Atlas 的出站访问。您必须配置防火墙,允许应用程序建立到端口 27015 至 27017 的出站连接,从而打开 TCP 流量。这会授予应用程序访问存储在 Atlas 上的数据库的权限。
注意
默认情况下,MongoDB Atlas 集群无需能够启动与应用程序环境的连接。如果您希望通过 LDAP 身份验证和授权启用 Atlas 集群,则必须允许从 Atlas 集群直接访问安全的 LDAP 网络。只要公共 DNS 主机名指向 Atlas 集群可以访问的 IP,您就可以允许使用公共或私有 IP 来访问 LDAP。
如果您不使用VPC/VNet 对等互连并计划使用公共 IP 地址连接到 Atlas,请参阅以下页面了解更多信息:
IP 访问列表
Atlas 仅允许客户端从项目的 IP 访问列表中的条目连接到集群。要进行连接,必须在 IP 访问列表中添加一个条目。要为项目设置 IP 访问列表,请参阅配置 IP 访问列表条目。
对于部署在 Google Cloud Platform (GCP) 或 Microsoft Azure 上的 Atlas 集群,请将 Google Cloud 或 Azure 服务的 IP 地址添加到 Atlas 项目的 IP 访问列表,授予这些服务对集群的访问权限。
用户身份验证或授权
Atlas 要求客户端进行身份验证才能连接到数据库。您必须创建数据库用户才能访问数据库。要为集群设置数据库用户,请参阅配置数据库用户。Atlas 为集群身份验证和授权提供了许多安全功能。
要访问项目中的集群,用户必须属于该项目。用户可以属于多个项目。
可选安全功能
您可以配置以下安全功能:
网络对等连接
Atlas 支持与其他 AWS、Azure 的对等互连或 Google Cloud 网络对等互连。要了解详情,请参阅设置网络对等互连。
重要
如果这是所选区域的第一个 M10+
专用付费集群,并且您计划创建一个或多个 VPC 对等互连,请在继续操作之前查看有关 VPC 对等互连的文档。
私有端点
Atlas 支持以下私有端点:
AWS 使用 AWS PrivateLink 功能
使用 Azure Private Link 功能的 Azure
使用 GCP 私有服务连接功能的 Google Cloud
要使用私有端点,请参阅了解 Atlas 中的私有端点。
统一 AWS 访问
一些 Atlas 功能(包括 Data Federation 和 Encryption at Rest using Customer Key Management)使用 AWS IAM 角色进行身份验证。
要设置供 Atlas 使用的 AWS IAM 角色,请参阅设置统一 AWS 访问权限。
集群身份验证和授权
Atlas 为集群身份验证和授权提供了以下安全功能。
数据库用户身份验证或授权
Atlas 要求客户端进行身份验证才能访问集群。您必须创建数据库用户才能访问数据库。要为集群设置数据库用户,请参阅配置数据库用户。
数据库授权的自定义角色
使用 AWS IAM 进行身份验证
您可以为 AWS IAM 角色设置身份验证和授权。要了解更多信息,请参阅使用 AWS IAM 设置身份验证。
使用 LDAP 进行用户验证或授权
支持使用 LDAP 来进行用户身份验证和授权。要使用 LDAP,请参阅使用 LDAP 设置用户身份验证和授权。
使用 X.509 进行用户身份验证
X.509 客户端证书为数据库用户提供项目中的集群的访问权限。X.509 身份验证选项包括 Atlas 管理的 X.509 身份验证和自管理 X.509 身份验证。要了解有关自管理 X.509 身份验证的更多信息,请参阅设置自管理 X.509 身份验证。
限制 MongoDB 支持访问 Atlas 后端基础架构
组织所有者可以限制 MongoDB 生产支持员工访问其组织中任何 Atlas 集群的 Atlas 后端基础架构。组织所有者可在 Atlas 集群级别授予 24 小时绕过访问限制的权限。
重要
阻止 MongoDB 支持访问基础设施可能会增加支持问题响应和解决时间,并对集群的可用性产生负面影响。
要启用此选项,请参阅配置 MongoDB 支持访问 Atlas 后端基础架构。
使用密钥管理进行静态加密
Atlas 支持使用 AWS KMS、Azure Key Vault 和 Google Cloud 对存储引擎和云提供商备份进行加密。如需使用静态加密,请参阅使用客户密钥管理进行静态加密。
客户端字段级加密 (Client-Side Field Level Encryption)
Atlas 支持客户端字段级加密,包括字段自动加密。所有 Atlas 用户有权使用 MongoDB 的自动客户端字段级加密功能。
要了解更多信息,请参阅客户端字段级加密要求。
注意
MongoDB Compass、Atlas UI 和 MongoDB Shell (mongosh
) 不支持解密客户端字段级加密字段。
数据库审核
Atlas 支持审核所有系统事件操作。要使用数据库审核,请参阅设置数据库审核。
访问跟踪
Atlas 直接在 Atlas 用户界面中显示身份验证日志,以便您可以轻松查看针对集群进行的成功和不成功的身份验证尝试。如要查看数据库访问历史记录,请参阅查看数据库访问历史记录。
Atlas 用户界面访问权限的多因素身份验证
Atlas 支持通过 MFA 来帮助控制对 Atlas 账户的访问。要设置 MFA,请参阅管理多因素身份验证选项。
支持访问 Atlas 控制面或从 Atlas 控制面进行访问
如果使用以下任何 Atlas 功能,可能需要将 Atlas IP 地址 添加到网络 IP 访问列表中:
注意
如果启用静态加密功能,则必须允许部署中的所有主机从公共 IP 访问,包括 CSRS(配置服务器副本集)(如果您使用的是分片集群。)
获取 Atlas 控制平面 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 访问列表,请参阅使用 AWS、Azure 和 GCP 管理客户密钥的前提条件。
必需出站访问权限
出站访问是指来自 Atlas 控制平面的流量。我们建议您使用 Atlas 管理 API 获取当前出站 Atlas 控制平面 IP 地址。
必需入站访问权限
入站访问是指进入 Atlas 控制平面的流量。如果您的网络只允许到特定 IP 地址的出站 HTTP 请求,则必须允许来自相应 IP 地址的入站访问,这样 Atlas 才能与您的网络钩子和 KMS 通信。我们建议您使用 Atlas 管理 API 获取当前入站 Atlas 控制平面 IP 地址。
允许访问 Data Federation
如果网络仅支持向特定 IP 地址发出出站请求,则必须支持访问 TCP 端口 27017 上的以下 IP 地址,以便请求到达联合数据库实例:
108.129.35.102 13.54.14.65 18.138.155.47 18.140.240.47 18.196.201.253 18.200.7.156 18.204.47.197 18.231.94.191 3.122.67.212 3.6.3.105 3.8.218.156 3.9.125.156 3.9.90.17 3.98.247.136 3.99.32.43 3.130.39.53 3.132.189.43 35.206.65.216 35.209.197.46 35.210.31.154 35.210.66.17 20.23.173.153 20.23.171.79 20.96.56.124 20.190.207.191 20.197.103.232 20.197.103.246 34.217.220.13 34.237.78.67 35.158.226.227 52.192.130.90 52.193.61.21 52.64.205.136 54.203.115.97 54.69.142.129 54.91.120.155 54.94.3.214 65.1.222.250 99.81.123.21
OCSP 证书撤销检查
如果网络只允许到特定 IP 地址的出站请求,为了允许 SSL 或 TLS OCSP 证书撤销检查,必须允许访问 SSL 或 TLS 证书 OCSP URL 中的 Atlas CA(证书颁发机构)OCSP 响应程序服务器。
要禁用 OCSP 证书撤销检查,请参阅应用程序使用的 MongoDB 驱动程序版本的文档。