AWS Database Migration Service
用户指南 (版本 API Version 2016-01-01)

设置加密密钥和指定 KMS 权限

AWS DMS 加密复制实例使用的存储以及终端节点连接信息。为加密复制实例使用的存储,AWS DMS 使用对您的 AWS 账户唯一的 AWS Key Management Service (AWS KMS) 密钥。您可以使用 AWS KMS 查看和管理此密钥。您可以使用您账户 (aws/dms) 中的默认 KMS 密钥,也可以创建自定义 KMS 密钥。如果您有现有的 KMS 密钥,也可以使用该密钥加密。

在首次启动复制实例时,如果未从创建复制实例页的高级部分中选择自定义 KMS 主密钥,将创建默认 KMS 密钥 (aws/dms)。如果您使用默认的 KMS 密钥,您只需要将 kms:ListAliaseskms:DescribeKey 权限授予用于迁移的 IAM 用户账户。有关使用默认 KMS 密钥的更多信息,请参阅 使用 AWS DMS 所需的 IAM 权限

要使用自定义 KMS 密钥,请使用以下选项之一为自定义 KMS 密钥分配权限:

  • 以 KMS 自定义密钥的密钥管理员或密钥用户的身份添加用于迁移的 IAM 用户账户。这样做可确保将必需的 KMS 权限授予 IAM 用户账户。除了向 IAM 用户账户授予使用 AWS DMS 的 IAM 权限之外,还需执行此操作。有关向密钥用户授予权限的更多信息,请参阅 AWS Key Management Service Developer Guide 中的允许密钥用户使用 CMK

  • 如果您不希望添加 IAM 用户账户作为自定义 KMS 密钥的密钥管理员或密钥用户,则除了必须向 IAM 用户账户授予使用 AWS DMS 的 IAM 权限以外,还需授予以下附加权限。

    { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey", "kms:CreateGrant", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*" },

AWS DMS 不使用 KMS 密钥别名。但是,您可以在指定 KMS 密钥信息时使用 KMS 密钥的 Amazon 资源编号 (ARN)。有关创建您自己的 KMS 密钥以及授予用户对 KMS 密钥访问权限的更多信息,请参阅 KMS 开发人员指南

如果未指定 KMS 密钥标识符,则 AWS DMS 使用默认加密密钥。KMS 为您的 AWS 账户创建 AWS DMS 的默认加密密钥。您的 AWS 账户在每个 AWS 区域都有一个不同的默认加密密钥。

要管理用于加密 AWS DMS 资源的 KMS 密钥,请使用 KMS。您可以在控制台主页上选择 Identity & Access Management,然后在导航窗格中选择加密密钥以在 AWS 管理控制台中查找 KMS。KMS 将安全、高度可用的硬件和软件结合起来,提供可为云扩展的密钥管理系统。通过使用 KMS,您可创建加密密钥并定义控制这些密钥的使用方式的策略。KMS 支持 AWS CloudTrail,因此,您可审核密钥使用情况以验证密钥是否使用得当。KMS 密钥可与 AWS DMS 及支持的 AWS 服务(如 Amazon RDS、Amazon S3、Amazon Redshift 和 Amazon EBS)结合使用。

您也可以专门创建自定义 KMS 密钥来加密以下 AWS DMS 终端节点的目标数据:

在创建 AWS DMS 资源以及 KMS 密钥后,无法更改这些资源的加密密钥。请确保先定义加密密钥要求,然后再创建 AWS DMS 资源。