

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

# MemoryDB 中的静态加密
<a name="at-rest-encryption"></a>

为了帮助保护您的数据，MemoryDB 和 Amazon S3 提供了不同的方法来限制对集群中的数据的访问。有关更多信息，请参阅[MemoryDB 和 Amazon VPC](vpcs.md)和[MemoryDB 中的身份和访问管理](iam.md)。

MemoryDB 静态加密始终通过加密永久数据来提高数据安全性。它对以下方面进行加密：
+ 事务日志中的数据 
+ 同步、快照和交换操作期间的磁盘 
+ 存储在 Amazon S3 中的快照 

 MemoryDB 提供默认（托管服务）的静态加密，以及在[AWS 密钥管理服务（KMS）](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 中使用您自己的对称客户托管式根密钥的功能。

在预设情况下，在启用数据分层的集群中存储在 SSD（固态硬盘）上的数据始终加密。

有关传输中加密的信息，请参阅[MemoryDB 传输中加密（TLS）](in-transit-encryption.md) 

**Topics**
+ [

## 使用 AWS KMS 中的客户托管式密钥
](#using-customer-managed-keys-for-memorydb-security)
+ [

## 另请参阅
](#at-rest-encryption-see-also)

## 使用 AWS KMS 中的客户托管式密钥
<a name="using-customer-managed-keys-for-memorydb-security"></a>

MemoryDB 支持对称的客户托管式根密钥（KMS 密钥），用于静态加密。客户自主管理型 KMS 密钥是您在自己的 AWS 账户中创建、拥有并管理的加密密钥。有关更多信息，请参阅*AWS密钥管理服务开发人员指南*中的[客户根密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#root_keys)。必须先在 AWS KMS 中创建密钥，然后才能将其与 MemoryDB 一起使用。

要了解如何创建 AWS KMS 根密钥，请参阅 *AWS Key Management Service 开发人员指南*中的[创建密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。

MemoryDB 允许您与 AWS KMS 集成。有关更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[使用授权](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。无需任何客户操作即可实现 MemoryDB 与 AWS KMS 的集成。

`kms:ViaService` 条件键将 AWS KMS 密钥的使用限制为来自指定的 AWS 服务的请求。要将 `kms:ViaService` 与 MemoryDB 结合使用，请将两个 ViaService 名称包含在条件键值中： `memorydb.amazon_region.amazonaws.com`。有关更多信息，请参阅 [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service)。

您可以使用 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 来跟踪 MemoryDB 代表您向 AWS Key Management Service 发送的请求。对 AWS Key Management Service 发出的与客户自主管理型密钥相关的所有 API 调用都具有相应的 CloudTrail 日志。您还可以通过调用 [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html) KMS API 调用来查看 MemoryDB 创建的授权。

使用客户托管式密钥对集群进行加密后，集群的所有快照都将按如下方式进行加密：
+ 使用与集群关联的客户托管式密钥对每日自动快照进行加密。
+ 删除集群时创建的最终快照也使用与集群关联的客户托管式密钥进行加密。
+ 默认情况下，使用与集群关联的密钥对手动创建的快照进行加密。您可以通过选择其他客户自主管理型密钥来覆此行为。
+ 复制快照将默认使用与源快照关联的客户托管式密钥。您可以通过选择其他客户自主管理型密钥来覆此行为。

**注意**  
将快照导出到所选的 Amazon S3 存储桶时，无法使用客户托管式密钥。但是，导出到 Amazon S3 的所有快照都将使用[服务器端加密进行加密。](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html)您可以选择将快照文件复制到新的 S3 对象并使用客户托管式 KMS 密钥进行加密，将文件复制到使用 KMS 密钥通过默认加密设置的另一个 S3 存储桶，或者更改文件本身中的加密选项。
对于未使用客户托管式密钥进行加密的手动创建快照，您还可以使用客户托管式密钥对其进行加密。使用此选项，即使未在原始集群上加密数据，也可以使用 KMS 密钥对存储在 Amazon S3 中的快照文件进行加密。
从快照还原允许您从可用的加密选项中进行选择，类似于创建新集群时可用的加密选项。
+ 如果删除密钥或[禁用](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html)密钥并为用于加密集群的密钥[撤销授权](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)，则集群将变得不可恢复。换句话说，复制组在硬件故障后无法修改或恢复。AWSKMS 在至少七天的等待期限之后才会删除根密钥。删除密钥后，您可以使用其他客户托管式密钥创建快照以用于存档目的。
+ 自动密钥轮换将保留 AWS KMS 根密钥的属性，因此轮换不会影响您访问 MemoryDB 数据的能力。加密 MemoryDB 集群不支持手动密钥轮换，手动密钥轮换涉及创建新的根密钥和将任何参考更新到旧密钥。要了解详情，请参阅* AWS 密钥管理服务开发人员指南*中的[轮换客户根密钥](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)。
+ 使用 KMS 密钥加密 MemoryDB 集群需要每个集群具有一个授权。在集群的整个生命周期中使用此授权。此外，在快照创建期间使用每个快照一个授权。在创建快照后，此授权将停用。
+ 有关 AWS KMS 授权和限制的更多信息，请参阅* AWS 密钥管理服务开发人员指南*中的[配额](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)。

## 另请参阅
<a name="at-rest-encryption-see-also"></a>
+ [MemoryDB 传输中加密（TLS）](in-transit-encryption.md)
+ [MemoryDB 和 Amazon VPC](vpcs.md)
+ [MemoryDB 中的身份和访问管理](iam.md)