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

DynamoDB 静态加密使用说明

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

所有表数据已加密

所有 DynamoDB 表数据已启用服务器端静态加密,无法禁用。无法仅加密表的项目子集。DynamoDB 已经使用 Amazon 拥有的密钥 加密以前未加密的所有现有表。

静态加密仅加密持久存储介质上的静态数据。如果正在传输的数据或正在使用的数据担心数据安全,则可能需要采取额外措施:

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

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

可以将流与加密表一起使用。DynamoDB 流始终使用表级加密密钥进行加密。有关更多信息,请参阅 为 DynamoDB Streams 更改数据捕获

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

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

加密类型

注意

全局表版本 2017 中不支持客户托管式密钥 (CMK)。如果您想在 DynamoDB 全局表中使用 CMK,则需要将表升级到全局表版本 2019,然后启用它。

在 Amazon Web Services Management Console,如果使用 Amazon 托管式密钥 或客户托管密钥加密数据,加密类型为 KMS。如果使用 Amazon 拥有的密钥,加密类型为 DEFAULT。在 Amazon DynamoDB API 中,如果使用 Amazon 托管式密钥 或客户托管密钥,加密类型为 KMS。如果没有加密类型,将使用 Amazon 拥有的密钥 加密数据。可以随时在 Amazon 拥有的密钥、Amazon 托管式密钥 和客户托管密钥之间切换。可以使用控制台、Amazon Command Line Interface (Amazon CLI) 或 Amazon DynamoDB API 切换加密密钥。

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

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

  • 可以使用客户托管密钥加密使用事务处理的表。但是,为了确保事务传播的持久性,服务会临时存储事务请求的副本,并使用 Amazon 拥有的密钥 加密。始终使用客户托管密钥静态加密表和二级索引中的已提交数据。

  • 可以使用客户托管密钥加密使用 Contributor Insights 的表。但是,传输到 Amazon CloudWatch 的数据将使用 Amazon 拥有的密钥 加密。

  • 当您转移到新的客户托管密钥时,请务必在流程完成之前保持原始密钥的启用状态。在使用新密钥加密之前,Amazon 仍然需要原始密钥来解密数据。当表的 SSEDescription 状态为“已启用”并显示新客户托管密钥的 KMSMasterKeyArn 时,该过程将完成。此时,可以禁用原始密钥或计划删除。

  • 显示新的客户托管密钥后,表和任何新的按需备份都将使用新密钥加密。

  • 任何现有的按需备份都将使用创建这些备份时的客户托管密钥进行加密。需要同样的密钥才能还原这些备份。您可以使用 describeBackup API 查看该备份的 SSEDescription,以识别每个备份创建时期的密钥。

  • 如果禁用客户托管密钥或计划删除,则 DynamoDB Streams 中的任何数据仍然受 24 小时生命周期限制。24 小时以后,任何未检索的活动数据都可删除。

  • 如果禁用客户托管密钥或计划删除,存活时间 (TTL) 删除将继续 30 分钟。这些 TTL 删除将继续发送到 DynamoDB Streams,并受标准删除/保留间隔的约束。