本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
静态加密:它在亚马逊 Keyspaces 中的运作方
Amazon Keyspaces(针对 Apache Cassandra)静态加密使用 256 位高级加密标准 (AES-256) 来加密您的数据。这有助于保护您的数据,防止对底层存储进行未经授权的访问。默认情况下,Amazon Keyspaces 表中的所有客户数据都是静态加密的,服务器端加密是透明的,这意味着不需要对应用程序进行更改。
静态加密集成 Amazon Key Management Service (Amazon KMS),管理用于加密表的加密密钥。创建新表或更新现有表时,可以选择以下之一:Amazon KMS密钥选项
-
Amazon 拥有的密钥— 这是默认加密类型。此密钥归亚马逊 Keyspaces 拥有(不另外收费)。
-
客户托管密钥 — 此密钥存储在账户中,由您创建、拥有和管理。您对客户托管密钥拥有完全控制权(Amazon KMS需支付费用)。
- Amazon KMS密钥(KMS 密钥)
-
静态加 Keyspaces 用Amazon KMS键。默认情况下,亚马逊 Keyspaces 使用Amazon 拥有的密钥,在 Amazon Keyspace 服务账户中创建和管理的多租户加密密钥。
但是,您可以使用客户托管密钥在您的Amazon Web Services 账户. 您可以为密钥空间中的每个表选择不同的 KMS 密钥。您为表选择的 KMS 密钥也可用于加密其所有元数据和可还原备份。
您可以在创建或更新表时为表选择 KMS 密钥。可通过以下方式随时更改表的 KMS 密钥:在 Amazon KKeyspaces 控制台中或使用更改表网页。切换 KMS 密钥的过程是无缝的,不需要停机时间或导致服务降级。
- 键层次结构
-
Amazon Keyspaces 使用密钥层次结构加密数据。在此密钥层次结构中,KMS 密钥是根密钥。它用于加密和解密 Amazon Keyspaces 表加密密钥。表加密密钥用于加密 Amazon Keyspaces 内部使用的加密密钥,以便在执行读取和写入操作时加密和解密数据。
使用加密密钥层次结构,您可以更改 KMS 密钥,而无需重新加密数据或影响应用程序和正在进行的数据操作。
- 表密钥
将 Amazon Keyspaces 表密钥用作密钥加密密钥。Amazon Keyspaces 使用表密钥来保护用于加密表、日志文件和可还原备份中的数据的内部数据加密密钥。Amazon Keyspaces 会为表中的每个底层结构生成唯一的数据加密密钥。但是,多个表行可能受相同的数据加密密钥保护。
当您第一次将 KMS 密钥设置为客户托管密钥时,Amazon KMS生成数据密钥. 这些区域有:Amazon KMS数据密钥是指亚马逊密钥空间中的表格键。
访问加密表时,Amazon Keyspaces 会向Amazon KMS以使用 KMS 密钥来解密表密钥。然后,它会使用明文表密钥来解密 Amazon Keyspaces 数据加密密钥,它会使用明文数据加密密钥解密表数据。
Amazon Keyspaces 在外部使用并存储表密钥和数据加密密钥。Amazon KMS. 它会借助高级加密标准
(AES) 加密和 256 位加密密钥保护所有密钥。然后,它会将加密密钥与加密数据存储在一起,以便它们可根据需要用于解密表数据。 - 表密钥缓存
为了避免打电话Amazon KMS针对每个 Amazon Keyspaces 操作,Amazon Keyspaces 会针对每个连接将明文表密钥缓存在内存中。如果 Amazon Keyspaces 在处于不活动状态 5 分钟后获取缓存表密钥的请求,它会向发送新请求。Amazon KMS解密表密钥。此调用捕获对中的 KMS 密钥的访问策略所做的任何更改。Amazon KMS要么Amazon Identity and Access Management自上次请求解密表密钥以来。
- 信封加密
-
如果更改表的客户托管密钥,Amazon Keyspaces 会生成新的表密钥。然后,它将使用新的表密钥来重新加密数据加密密密钥。它还使用新的表密钥来加密之前用于保护可恢复备份的表密钥。这个过程称为信封加密。这可确保即使轮换客户托管密钥,也可以访问可恢复的备份。有关信封加密的更多信息,请参阅信封加密中的Amazon Key Management Service开发人员指南.
Amazon拥有的钥匙
Amazon 拥有的密钥没有存储在你的Amazon Web Services 账户. 它们是 KMS 密钥集合的一部分Amazon拥有和管理以便在多个中使用Amazon Web Services 账户.Amazon服务可以使用Amazon 拥有的密钥以保护您的数据。
你无法查看、管理或使用Amazon 拥有的密钥,或者审计它们的使用情况。但是,您无需执行任何工作或更改任何计划即可保护用于加密您的数据的密钥。
您无需支付月费或使用费Amazon 拥有的密钥,并且它们不会计入Amazon KMS您的账户的配额。
客户托管密钥
客户管理的密钥是您的密钥Amazon Web Services 账户您创建、拥有和管理的。您对这些 KMS 密钥拥有完全控制权。
使用客户托管密钥可获得以下功能:
客户托管密钥产生费用
如果指定客户托管密钥作为表的根加密密钥,可还原备份将使用创建备份时为表指定的加密密钥加密。如果轮换表的 KMS 密钥,则密钥包络可确保最新的 KMS 密钥可以访问所有可恢复的备份。
Amazon Keyspaces 必须有权访问您的客户托管密钥,才能为您提供对表数据的访问权限。如果加密密钥的状态设置为已禁用或计划删除,则 Amazon Keyspaces 将无法加密或解密数据。因此,您无法对表执行读取和写入操作。如果服务检测到您的加密密钥无法访问,Amazon Keyspaces 会立即向发送电子邮件通知以提醒您。
您必须在七天内恢复对加密密钥的访问权限,否则 Amazon Keyspaces 会自动删除表。作为预防措施,Amazon Keyspaces 在删除表之前创建表数据的可恢复备份。亚马逊 Keyspaces 将可恢复的备份维护 35 天。35 天后,您无法再恢复表数据。您无需为可恢复的备份付费,但需支付标准费用将收取恢复费用
您可以使用此可恢复的备份将数据还原到新表。要还原,必须启用用于表的最后一个客户托管密钥,Amazon Keyspaces 必须具有访问权限。
当您创建使用无法访问或计划在创建过程完成之前删除的客户托管密钥加密的表时,会出现错误。创建表操作失败,并向您发送电子邮件通知。
静态加密
在亚马逊密 Keyspaces 中使用静态加密时,请注意以下事项。
-
所有 Amazon Keyspaces 表已启用服务器端静态加密,无法禁用。整个表都是静态加密的,你不能选择特定的列或行进行加密。
-
默认情况下,Amazon Keyspaces 使用单一服务默认密钥(Amazon 拥有的密钥) 来加密您的所有表。如果此密钥不存在,将创建该密钥。无法禁用服务默认密钥。
-
静态加密仅加密持久存储介质上的静态数据。如果对于正在传输的数据或正在使用的数据而言,数据安全性很重要,则必须执行额外措施:
-
传输中的数据:传输中的 Amazon Keyspaces 中的所有数据都会在传输中加密。默认情况下,与的通信将通过安全套接字层 (SSL)/传输层安全性 (TLS) 加密来进行保护。
-
正在使用的数据:在将数据发送到 Amazon Keyspaces 之前,使用客户端加密保护您的数据。
客户托管密钥:表中的静态数据始终使用客户管理的密钥进行加密。但是,对多行执行原子更新的操作临时加密数据Amazon 拥有的密钥在处理过程中。这包括范围删除操作和同时访问静态和非静态数据的操作。
-
客户托管密钥可拥有最多 50000 个授权. 与客户托管密钥关联的每个 Amazon Keyspace 表都消耗 2 项授权。删除表时释放一笔赠款。第二项授权用于创建表的自动快照,以防止 Amazon Keyspace 无意中无意中失去对客户管理密钥的访问权限时,防止数据丢失。该补助金将在删除表格后 42 天发布。