DynamoDB 静态加密使用说明 - Amazon DynamoDB
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

DynamoDB 静态加密使用说明

在 Amazon DynamoDB 中使用静态加密时,请注意以下事项。

所有表数据已加密

所有 DynamoDB 表数据上都启用了服务器端静态加密,无法禁用。您无法仅加密表中项目的子集。DynamoDB 使用 AWS 拥有的客户主密钥 (CMK) 加密了所有之前未加密的现有表。

静态加密功能只加密持久性存储介质上处于静态的数据。如果对于正在传输的数据或正在使用的数据而言,数据安全性很重要,则可能需要执行额外措施:

  • 传输中的数据:DynamoDB 中的所有数据都在传输中加密(DAX 中的数据除外)。默认情况下,与 DynamoDB 的通信将使用 HTTPS 协议,该协议使用安全套接字层 (SSL)/传输层安全性 (TLS) 加密来保护网络流量。

  • 正在使用的数据:在将数据发送到 DynamoDB 之前,使用客户端加密来保护您的数据。有关更多信息,请参阅Amazon DynamoDB 加密客户端 开发人员指南中的客户端和服务器端加密

您可以对加密表使用流。DynamoDB 流始终使用表级加密密钥进行加密。有关更多信息,请参阅使用 DynamoDB 流 捕获表活动

DynamoDB 备份已加密,从备份中还原的表也已启用加密。您可以使用 AWS 拥有的 CMK、AWS 托管 CMK 或客户托管 CMK 来加密备份数据。有关更多信息,请参阅DynamoDB 的按需备份和还原

使用与基表相同的密钥对本地二级索引和全局二级索引进行加密。

可以使用 AWS 拥有的 CMK 或 AWS 托管 CMK 对全局表进行加密。

加密类型

在 AWS 管理控制台上,当您使用 AWS 托管 CMK 或客户托管 CMK 加密数据时,加密类型为 KMS。当您使用 AWS 拥有的 CMK 时,加密类型为 DEFAULT。在 Amazon DynamoDB API 中,当您使用 AWS 托管 CMK 或客户托管 CMK 时,加密类型是 KMS。当缺少加密类型时,将使用 AWS 拥有的 CMK 对数据加密。您可以在任何给定时间在 AWS 拥有的 CMK、AWS 托管 CMK 和客户托管 CMK 之间切换。您可以使用控制台、AWS Command Line Interface (AWS CLI) 或 Amazon DynamoDB API 切换加密密钥。

使用客户托管 CMK 时,请注意以下限制:

  • 您不能使用客户托管 CMK 加密全局表。有关更多信息,请参阅 全局表:使用 DynamoDB 的多区域复制

  • 您不能将客户托管 CMK 与 DynamoDB Accelerator (DAX) 集群一起使用。有关更多信息,请参阅 DAX 静态加密

  • 您可以使用客户托管 CMK 对使用事务的表进行加密。但是,在事务传播期间,将使用 AWS 拥有的 CMK 对数据进行加密。静态数据仍使用客户托管 CMK 进行加密。

  • 您可以使用客户托管 CMK 对使用 Contributor Insights 的表进行加密。但是,传输到 Amazon CloudWatch 的数据已使用 AWS 拥有的 CMK 进行了加密。

  • 如果您禁用客户托管 CMK 或计划将其删除,则 DynamoDB 流 中的任何数据仍将保留 24 小时的使用寿命。超过 24 小时的任何未检索活动数据都可以进行修剪。

  • 如果禁用了客户托管 CMK 或计划将其删除,生存时间 (TTL) 删除将持续 30 分钟。这些 TTL 删除将继续发送到 DynamoDB 流 并受限于标准修剪/保留间隔。