静态加密 Amazon DocumentDB 数据 - Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

静态加密 Amazon DocumentDB 数据

注意

Amazon KMS 正将术语客户托管密钥 (CMK) 替换为 Amazon KMS keyKMS 密钥。这一概念并未改变。为防止破坏性更改,Amazon KMS 保留了此术语的一些变体。

您可以通过在创建集群时指定存储加密选项来对 Amazon DocumentDB 集群中的静态数据进行加密。存储加密在整个集群范围内启用,应用于所有实例,包括主实例和任何副本。它还应用于集群的存储卷、数据、索引、日志、自动备份和快照。

Amazon DocumentDB 使用 256 位高级加密标准 (AES-256) 通过中存储的加密密钥来对您的数据进行加密。Amazon Key Management Service(Amazon KMS)。在使用已启用静态加密的 Amazon DocumentDB 集群时,您无需修改您的应用程序逻辑或客户端连接。Amazon DocumentDB 会以透明方式加密和解密数据,并且对性能的影响最小。

Amazon DocumentDB 集成Amazon KMS并使用称为信封加密的方法来保护您的数据。当 Amazon DocumentDB 集群使用Amazon KMS,Amazon DocumentDB 询问Amazon KMS用你的 KMS 密钥来生成密文数据密钥以加密存储卷。密文数据密钥使用您定义的 KMS 密钥加密,并与加密的数据和存储元数据一起存储。当 Amazon DocumentDB 需要访问您的加密数据时,它会请求Amazon KMS使用 KMS 密钥解密密文数据密钥,并将明文数据密钥缓存到内存中,以高效地加密和解密存储卷中的数据。

Amazon DocumentDB 中的存储加密功能可用于所有支持的实例大小和所有支持的实例大小。Amazon Web Services 区域提供 Amazon DocumentDB 的位置。

为 Amazon DocumentDB 集群启用静态加密

您可以在使用预配置 Amazon DocumentDB 集群时,您可以在集群上启用或禁用静态加密。Amazon Web Services Management Console或者Amazon Command Line Interface(Amazon CLI)。默认情况下,您使用控制台创建的集群启用了静态加密功能。默认情况下,您使用 Amazon CLI 创建的集群禁用了静态加密功能。因此,您必须使用 --storage-encrypted 参数显式启用静态加密。无论哪种情况,在创建集群后,都无法更改静态加密选项。

Amazon DocumentDB 使用Amazon KMS以检索和管理加密密钥,并定义控制这些密钥的使用方式的策略。如果您未指定Amazon KMS密钥标识符,Amazon DocumentDB 使用默认Amazon托管服务 KMS 密钥。Amazon DocumentDB 为每个密钥创建单独的 KMS 密钥Amazon Web Services 区域在您的Amazon Web Services 账户. 有关更多信息,请参阅 。Amazon Key Management Service概念.

要开始创建自己的 KMS 密钥,请参阅开始使用中的Amazon Key Management Service开发人员指南.

重要

您必须使用对称 KMS 密钥加密您的集群,因为 Amazon DocumentDB 只支持对称 KMS 密钥。请勿使用非对称 KMS 密钥尝试对 Amazon DocumentDB 集群中的数据进行加密。有关更多信息,请参阅 。使用对称密钥和非对称密钥中的Amazon Key Management Service开发人员指南.

如果 Amazon DocumentDB 无法再访问集群的加密密钥的访问权例如,在撤销对密钥的访问权例如,在撤销对密钥的访问权时,该加密的集群将进入最终状态。在此情况下,您只能从备份还原集群。对于 Amazon DocumentDB,备份始终启用 1 天。

此外,如果禁用加密的 Amazon DocumentDB 集群的密钥,则无法对该集群执行读取或写入操作。如果 Amazon DocumentDB 遇到用它无法访问的密钥加密的集群,则它会使该集群进入最终状态。在此状态下,集群不再可用,并且数据库的当前状态无法恢复。要还原集群,您必须重新启用对 Amazon DocumentDB 的加密密钥的访问,然后从备份还原集群。

重要

创建加密的集群的 KMS 密钥后,您无法更改它。请确保先确定您的加密密钥要求,然后再创建加密的集群。

您可在创建集群时,指定静态加密选项。默认情况下,当您使用 Amazon Web Services Management Console创建集群时,静态加密处于启用状态。集群创建之后无法修改该选项。

在创建集群时指定静态加密选项

  1. 按照中所述创建 Amazon DocumentDB 集群开始使用部分。但在步骤 6 中,不要选择创建集群

  2. Authentication (身份验证) 部分下,选择 Show advanced settings (显示高级设置)

  3. 向下滚动至 Encryption-at-rest (静态加密) 部分。

  4. 选择要进行静态加密的选项。无论您选择哪个选项,都无法在创建集群后更改它。

    • 要对此集群中的静态数据进行加密,请选择启用加密

    • 如果您不想对此集群中的静态数据进行加密,请选择Disable encryption (禁用加密)

  5. 选择你想要的主密钥。Amazon DocumentDB 使用Amazon Key Management Service(Amazon KMS) 检索和管理加密密钥,并定义控制这些密钥的使用方式的策略。如果您未指定Amazon KMS密钥标识符,Amazon DocumentDB 使用默认Amazon托管服务 KMS 密钥。有关更多信息,请参阅 。Amazon Key Management Service概念.

    注意

    创建加密的集群后,您无法更改该集群的 KMS 密钥。请确保先确定您的加密密钥要求,然后再创建加密的集群。

  6. 根据需要完成其他部分,然后创建您的集群。

Amazon DocumentDB 用Amazon CLI,则必须指定--storage-encrypted创建集群时的选项。Amazon DocumentDB 用Amazon CLI默认启用存储加密。

以下示例创建启用了存储加密的 Amazon DocumentDB 集群。

对于 Linux、macOS 或 Unix:

aws docdb create-db-cluster \ --db-cluster-identifier sample-cluster \ --port 27017 \ --engine docdb \ --master-username yourMasterUsername \ --master-user-password yourMasterPassword \ --storage-encrypted

对于 Windows:

aws docdb create-db-cluster ^ --db-cluster-identifier sample-cluster ^ --port 27017 ^ --engine docdb ^ --master-username yourMasterUsername ^ --master-user-password yourMasterPassword ^ --storage-encrypted

在创建加密的 Amazon DocumentDB 集群时,您可以指定Amazon KMS密钥标识符,如以下示例所示。

对于 Linux、macOS 或 Unix:

aws docdb create-db-cluster \ --db-cluster-identifier sample-cluster \ --port 27017 \ --engine docdb \ --master-username yourMasterUsername \ --master-user-password yourMasterPassword \ --storage-encrypted \ --kms-key-id key-arn-or-alias

对于 Windows:

aws docdb create-db-cluster ^ --db-cluster-identifier sample-cluster ^ --port 27017 ^ --engine docdb ^ --master-username yourMasterUsername ^ --master-user-password yourMasterPassword ^ --storage-encrypted ^ --kms-key-id key-arn-or-alias
注意

创建加密的集群后,您无法更改该集群的 KMS 密钥。请确保先确定您的加密密钥要求,然后再创建加密的集群。

Amazon DocumentDB 加密集群的限制

Amazon DocumentDB 加密的集群存在以下限制。

  • 您只能在创建 Amazon DocumentDB 集群时而不能在创建之后启用或禁用静态加密。但是,您可以创建未加密集群的加密副本,方法是创建未加密集群的加密副本,然后将未加密的快照还原为新集群,同时指定静态加密选项。

    有关更多信息,请参阅以下主题:

  • 不能通过对已启用存储加密的 Amazon DocumentDB 集群进行修改来禁用加密。

  • Amazon DocumentDB 集群中的所有实例、自动备份、快照和索引都使用相同的 KMS 密钥进行加密。