本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
加密海王星静态资源
Data-at-rest Amazon 建议使用加密。有关更多信息,请参阅Data-at-Rest和 Data-in-Transit 加密。当您创建新的 Neptune 数据库集群或新的 Neptune 全球数据库时,将在 Amazon 控制台中强制加密。这提供了额外的数据保护层。它可以保护您的数据免受未经授权的访问底层存储,并有助于满足静态数据加密的合规性要求。
要管理用于加密和解密海王星资源的密钥,可以使用 ()。Amazon Key Management ServiceAmazon KMS Amazon KMS 将安全、高度可用的硬件和软件相结合,提供可扩展到云端的密钥管理系统。使用 Amazon KMS,您可以创建加密密钥并定义控制如何使用这些密钥的策略。 Amazon KMS 支持 Amazon CloudTrail,因此您可以审核密钥使用情况,以验证密钥的使用是否正确。
静态时,所有加密的 Neptune 数据库集群的所有相关日志、备份和快照都经过加密。海王星加密不适用于导出到亚马逊的日志。 CloudWatch
海王星资源的加密
当您创建 Neptune 数据库集群或 Neptune 全球数据库时,您可以为加密密钥提供 Amazon KMS 密钥标识符。如果您未指定 Amazon KMS 密钥标识符,Neptune 将在该地区使用您的默认 Amazon RDS 加密密钥 (aws/rds)。 Amazon KMS
为您 Amazon 账户中的每个区域创建默认加密密钥。对于 Neptune 全球集群,其中的 Amazon KMS 密钥数量将与区域一样多。
创建 Neptune 资源后,您无法更改该资源的加密密钥。因此,在创建 Neptune 资源之前,请务必确定您的加密密钥要求。如果需要不同的 Amazon KMS 密钥,您可以使用现有 Neptune 数据库集群的快照使用不同的 Amazon KMS 密钥创建新密钥(请参阅从数据库集群快照还原)。
您可以使用来自另一个账户的密钥的亚马逊资源名称 (ARN) 来加密海王星资源。如果您使用拥有 Amazon KMS 加密密钥的相同 Amazon 账户创建 Neptune 资源,则您传递的 Amazon KMS 密钥 ID 可以是 Amazon KMS 密钥别名,而不是密钥的 ARN。
重要
如果 Neptune 失去了对 Neptune 数据库集群加密密钥的访问权限(例如,当 Neptune 对密钥的访问权限被撤销时),则加密集群将进入终端状态,只能从备份中恢复。我们强烈建议您始终为加密的 Neptune 数据库集群启用备份,以防数据库中的加密数据丢失。
启用加密时所需的密钥权限
创建 Neptune 数据库集群的 IAM 用户或角色必须至少具有以下 KMS 密钥权限:
"kms:Encrypt""kms:Decrypt""kms:GenerateDataKey""kms:ReEncryptTo""kms:GenerateDataKeyWithoutPlaintext""kms:CreateGrant""kms:ReEncryptFrom""kms:DescribeKey"
以下是包含必要权限的密钥策略示例(针对us-east-1区域):
本策略中的第一条语句是可选的。它允许访问用户的根主体。
第二条语句提供对该角色所需所有 Amazon KMS API 的访问权限,范围仅限于 RDS 服务主体。
第三条语句强制此角色不能将此密钥用于任何其他 Amazon 服务,从而进一步加强了安全性。
也可以通过添加以下内容来进一步缩小 createGrant 权限范围:
"Condition": { "Bool": { "kms:GrantIsForAWSResource": true } }
Neptune 加密的限制
海王星加密存在以下限制:
-
您无法将未加密的 Neptune 数据库集群转换为加密的 Neptune 数据库集群。您只能在创建 Neptune 数据库集群时为其启用加密。但是,您可以将未加密的 Neptune 数据库集群快照恢复到加密的 Neptune 数据库集群。为此,请在从未加密的 Neptune 数据库集群快照还原时指定 KMS 加密密钥。
-
出于兼容性原因,仍然可以通过 CLI 和 SDK 创建未加密的 Neptune 数据库集群。 Amazon 该控制台仅允许创建加密的 Neptune 数据库集群。
-
您不能在同一 Neptune 全球数据库中混合使用加密和未加密的 Neptune 数据库集群。要么所有群集都已加密,要么所有群集都未加密。这是在 Neptune 全局数据库配置中强制执行的。