Atlas使用高级加密标准 (AES)-256 对您的静态数据进行加密。静态加密始终处于启用状态,并且无法禁用。
Atlas使用的加密层以及保护数据的密钥取决于您的数据库版本以及您是否自带加密密钥。
按数据库版本划分的加密层
无论您选择哪个版本的Atlas ,您的数据始终默认加密。
Atlas核心加密
当您使用客户管理的密钥配置静态加密时, Atlas会在默认磁盘加密的基础上添加数据库级加密。要学习;了解如何配置客户管理的密钥,请参阅使用客户数密钥管理进行静态加密。
Atlas Infinite Encryption
使用Atlas Infinite,默认启用静态加密,并始终应用于整个数据库。您的集群在共享存储层上运行,因此无法在卷级别配置或禁用静态加密。 MongoDB为每个Atlas组织管理一个唯一的默认加密密钥,并每 90 天自动轮换。这种轮换是透明的,不需要您执行任何动作。密钥永远不会在客户之间共享。此外,您可以应用客户管理的密钥应用额外的加密层。当您使用客户管理的密钥配置静态加密时, Atlas会在默认加密的基础上添加数据库级加密。
在数据到达Atlas Infinite集群中的存储层之前, Atlas会在计算节点上的数据库级别对您的数据进行加密。
数据库级加密与Atlas Core 使用的默认卷级磁盘加密不同。对于Atlas Core,云提供商会对存储卷进行加密。对于Atlas Infinite, Atlas会在数据离开计算节点之前对其进行加密,并存储加密的数据。
由于MongoDB为每个组织管理单独的密钥,因此对于使用默认加密的集群, Atlas不支持跨组织恢复,仅支持同一组织内的跨项目恢复。
要学习;了解有关Atlas Infinite 架构的更多信息,请参阅MongoDB Atlas Infinite:概述。
客户管理的密钥
使用客户管理的密钥 (集合扫描)(也称为自带密钥 (BYOK)),您可以拥有并控制加密密钥。在Atlas Core 中,您可以使用以下一个或多个密钥管理提供程序:
对于公开预览版的Atlas Infinite, Atlas仅支持客户通过 AWS KMS托管密钥。公开预览期间不支持Azure Key Vault和 Google Cloud KMS 。此外,客户管理的密钥不支持跨项目和跨组织恢复。
如果客户管理的密钥无效, Atlas会在下一次计划的KMS有效性检查时关闭您的集群。要学习;了解Atlas如何验证密钥配置,请参阅验证KMS配置。
客户数密钥管理的工作原理 (Atlas Core)
Atlas 中的客户密钥管理遵循的是一种称为信封加密的流程。此流程通过使用一个密钥加密另一个密钥来创建多层加密。为了启用客户密钥管理,Atlas 使用以下加密密钥:
Customer-Managed Key (CMK)客户管理的密钥是您在密钥管理提供商中创建、拥有和管理的加密密钥。您在密钥管理提供商中创建集合扫描 ,并在项目级别将其连接到Atlas 。要学习;了解有关密钥管理提供商中使用的集合扫描的更多信息,请参阅密钥管理提供程序的文档。
Atlas 仅使用此密钥来加密 MongoDB 主密钥。
密钥轮换
Atlas 无法轮换客户托管的加密密钥。有关密钥轮换的指导,请参阅密钥管理提供商的文档。当您在项目中设置客户数密钥管理时,Atlas 会创建 90天密钥轮换警报。
对于Atlas Core, Atlas会轮换由客户管理的密钥加密的MongoDB主密钥:
当您使用自己的云提供商KMS时, Atlas至少每 90 天自动轮换MongoDB主密钥。如果您配置了密钥轮换,则密钥轮换将在维护窗口期间开始。推迟维护(手动或自动)可能会导致密钥轮换超过 90 天标记。密钥滚动轮换,并且该进程不需要重写数据。
对于Atlas Infinite, Atlas每 90 天自动轮换默认加密密钥。
在密钥类型之间迁移 (Atlas Infinite)
对于Atlas Infinite,您可以在默认加密和客户管理的密钥之间双向迁移。 Atlas Infinite 将迁移视为密钥轮换。您的集群在迁移期间保持可用,并且以前的密钥在迁移完成之前保持有效。
加密备份 (Atlas Core)
Atlas 会加密所有快照卷。此举可保护磁盘上的集群数据。通过使用云提供商的 KMS,您可以:
您无法恢复使用已失效的密钥加密的快照。
保留的安全控制
所有Atlas安全控制均应用于Atlas Core 和Atlas Infinite,包括: