使用以下Atlas功能来解决合规要求。
认证和法规合规性
MongoDB Atlas提供各种功能和配置,帮助您解决安全、合规和隐私要求。
MongoDB Atlas数据平台经过严格的独立第三方Atlas 审核,以验证其安全性、隐私性和组织控制。Atlas遵守合规框架,包括 ISO/IEC 27001、SOC2 类型 II、PCI DSS 以及我们Atlas信任中心列出的其他框架。您可以在我们的客户信任门户中查看和下载证明、合规报告和其他合规文档。
政府应用的 MongoDB Atlas
MongoDB Atlas 政府版是一个完全托管的多云开发者数据平台,已获得 FedRAMP® Moderate 授权:
使用安全、完全托管、专用的 FedRAMP® 授权环境。
支持美国政府的独特需求和任务。
提供一套功能和将旧版应用程序现代化所需的可扩展性。
Atlas 资源策略
为了支持您的合规性要求,Atlas 资源策略提供了组织范围的控制措施,用于配置和管理 Atlas 资源,以符合您的安全、合规和操作最佳实践。组织所有者可以定义规则来管理用户在创建或修改资源(例如集群、网络配置和项目设置)时的操作。我们建议您在创建组织时,依据贵公司的标准设置资源策略。
Atlas 资源策略通过帮助您实现以下目标来支持您的合规目标:
强制执行最低 TLS 版本:在所有 Atlas 部署中强制使用现代 TLS 协议,增强安全性并降低与旧版和不太安全版本相关的风险。这可以确保所有传输中的数据都符合现代加密标准。
自定义默认 TLS 密码套件:选择一组特定的允许的 TLS 密码套件,根据操作需求优化安全性,同时避免与旧版加密方法相关的漏洞。这样就可以对加密协议进行微调,以满足特定的合规要求。
限制 VPC 对等互连修改:通过已建立的 VPC 对等互连连接实现安全的跨网络通信,同时防止配置更改。当前项目级对等连接保持活动状态,并保留其现有的路由表和安全协议,允许客户查看但不能更改这些一对一的 VPC 关系及其相关的网络控制机制。
限制私有端点修改:通过现有的只读私有端点配置来维护安全的服务连接。项目级连接在其当前私有 IP 寻址方案下仍能正常运行,而客户可以在其 VPC 内查看但不能修改这些专用服务连接点。
控制IP访问列表:防止对IP访问列表进行未经授权的修改,支持对数据库进行一致且受控的网络访问。这样可以保留仔细定义的网络边界并防止意外的配置更改,从而增强数据库的安全性。
设置集群层限制:通过设定开发者在资源预配时必须遵循的最大和最小集群规模限制来定义部署的防护措施。这种边界设置方法可确保团队在组织批准的参数内部署适当规模的环境,优化基础设施利用率,同时在所有项目工作负载中实施一致的资源分配策略。
设置维护窗口要求:通过为所有项目设置维护窗口要求来增强平台稳定性。这种管理控制允许组织建立可预测的更新周期(无需规定特定的时间范围),以根据操作需求支持一致的系统维护。
设置云提供商和区域:设置云提供商并跨多个区域和提供商分配集群,以满足数据驻留要求并确保高可用性。
阻止使用通配符IP地址:通过不在IP访问列表或防火墙规则中包含通配符IP地址,将对集群的访问权限限制为仅明确允许的IP地址。通配符IP地址为 0.0.0.0/0,允许从任何位置访问权限。
要了解更多信息,请参阅 Atlas 资源策略。
以下资源策略示例允许在 AWS 上创建集群:
{ "name": "Only Allow Clusters on AWS", "policies": [ { "body": "forbid ( principal, action == cloud::Action::\"cluster.createEdit\", resource) unless { context.cluster.cloudProviders == [cloud::cloudProvider::\"aws\"] };" } ] }
以下示例创建了一个 Terraform 资源策略文件,您可以使用它在应用程序中强制执行资源策略。该文件实施以下策略:
将集群修改限制为仅限于指定的云提供商。
禁止从通配符 IP 地址访问集群。
指定最小和最大集群大小。
防止对私有端点的修改。
resource "mongodbatlas_resource_policy" "restrict_cloud_provider" { org_id = var.org_id name = "restrict-cloud-provider" policies = [ { body = <<EOF forbid ( principal, action == ResourcePolicy::Action::"cluster.modify", resource ) unless { context.cluster.cloudProviders == [ResourcePolicy::CloudProvider::"<cloud provider name>"] }; EOF }, ] } resource "mongodbatlas_resource_policy" "forbid_project_access_anywhere" { org_id = var.org_id name = "forbid-project-access-anywhere" policies = [ { body = <<EOF forbid ( principal, action == ResourcePolicy::Action::"project.ipAccessList.modify", resource ) when {context.project.ipAccessList.contains(ip("0.0.0.0/0"))}; EOF }, ] } resource "mongodbatlas_resource_policy" "restrict_cluster_size: { org_id = var.org_id name = "restrict-cluster-size" policies = [ { // restrict cluster size to a minimum of M30 and a maximum of M60 body = <<EOF forbid ( principal, action == ResourcePolicy::Action::"cluster.modify", resource ) when { (context.cluster has minGeneralClassInstanceSizeValue && context.cluster.minGeneralClassInstanceSizeValue < 30) || (context.cluster has maxGeneralClassInstanceSizeValue && context.cluster.maxGeneralClassInstanceSize > 60) }; EOF }, ] } resource "mongodbatlas_resource_policy" "prevent-modifications-private-endpoints" { org_id = var.org_id name = "prevent-modifications-private-endpoints" policies = [ { body = <<EOF forbid ( principal, action == ResourcePolicy::Action::"privateEndpoint.modify", resource ) when {context.project.privateEndpoints == [ \"aws:<VPC_ENDPOINT_ID>", \"azure:<PRIVATE_ENDPOINT_RESOURCE_ID>:<PRIVATE_ENDPOINT_IP_ADDRESS>", \"gcp:<GCP_PROJECT_ID>:<VPC_NAME>" ]}; EOF }, ] }
加密
您可以实现加密,以增强数据处理所有阶段的数据安全性。加密是确保合规行业安全标准的最常见要求之一, Atlas提供了一设立强大的加密选项来满足这些要求。
默认情况下,Atlas 会对传输中的数据进行加密。Atlas 需要 TLS/SSL 来加密数据库连接。
默认下, Atlas使用云提供商磁盘加密对所有静态数据进行加密。当使用Atlas云备份时,Atlas会使用AES-256加密来加密Atlas集群中S3存储桶中存储的所有数据。此外, Atlas支持使用Amazon Web Services KMS、AKV和GCP来加密存储引擎和云提供商备份。要学习;了解更多信息,请参阅使用密钥管理进行静态加密。
您可以使用Queryable Encryption来保护对存储在MongoDB上的文档中选定敏感字段的加密数据的查询安全。使用Queryable Encryption,即使用户对数据运行查询,敏感信息仍会受到保护。
使用经过充分研究的非确定性加密方案,以在安全性与功能性之间保持平衡。
使用Queryable Encryption,您可以执行以下任务:
从客户端加密敏感数据字段。
将敏感数据字段作为完全随机的加密数据存储在与Atlas一起运行的数据库集群端。
对加密数据运行表达性查询。
MongoDB 完成这些任务时,服务器并不知晓所处理的数据。
使用Queryable Encryption时,敏感数据在其整个生命周期中都会加密:传输中、静态、使用中、日志中和备份中。数据仅在客户端解密,因为只有您有权访问权限加密密钥。
您可以使用以下机制设置可查询加密:
数据区域化
Atlas支持超过 110 个AWS、Azure和GCP的区域。这种支持位置的全球分布允许您预配集群并存储符合数据本地化要求的数据。您还可以跨多个区域部署Atlas集群。当您部署多区域部署范例时,您可以将数据分区以驻留在不同的区域,每个区域位于不同的地理地区。示例,您可以将欧洲客户数数据存储在欧洲,将美国客户数数据存储在美国。这样,您就可以灵活地选择数据本地化,并减少用户从各自区域访问数据的延迟。
备份快照分发
您可以将备份快照和oplog数据分布到多个区域。示例,您可以在不同位置存储备份,以便在服务中断时启用灾难恢复,或者根据您的数据本地化选择保持备份一致。要学习;了解更多信息,请参阅快照分发。
备份合规策略
您可以使用Atlas中的备份合规策略来保护关键业务数据。此功能可防止任何用户在预定义的保留期内修改或删除存储在Atlas中的所有备份快照和oplog数据,无论其Atlas角色如何。
这有助于确保您的备份完全符合 WORM(一次写入多次读取)标准。只有指定的授权用户才能在完成MongoDB支持的验证进程后关闭此保护。这增加了强制的手动延迟和冷却时间,使攻击者无法轻松更改备份策略和导出数据。要学习;了解详情,请参阅配置备份合规策略。