如何与其他账户共享加密的 Amazon Aurora 快照?

上次更新日期:2022 年 11 月 9 日

我有一个使用默认 AWS Key Management Service(AWS KMS)密钥的 Amazon Aurora 数据库集群加密快照。如何与其他 AWS 账户共享加密快照?

简短描述

您无法共享使用默认 AWS KMS 密钥加密的快照。必须改为创建自定义 AWS KMS 密钥。要共享加密的 Aurora 数据库集群快照,请执行以下操作:

  1. 创建自定义 AWS KMS 密钥。
  2. 将目标账户添加到自定义 AWS KMS 密钥。
  3. 使用自定义 AWS KMS 密钥创建数据库集群快照的副本。然后,与目标账户共享新复制的快照。
  4. 从目标账户中复制共享的数据库集群快照。

解决方法

创建自定义 AWS KMS 密钥

  1. 登录源账户,然后转至与数据库集群快照相同区域中的 AWS KMS 控制台
  2. 从侧面的导航窗格中选择 Customer managed keys(客户管理的密钥)。
  3. 选择 Create key(创建密钥)。
  4. 创建对称加密 AWS KMS 密钥。
  5. Key usage(密钥使用情况)中,选择 Encrypt and decrypt(加密和解密)。有关创建生成然后验证 MAC 代码的 AWS KMS 密钥的信息,请参阅创建 HMAC AWS KMS 密钥
  6. Advanced options(高级选项)中,选择 AWS KMS 作为密钥材料来源。
  7. 选择 Single-region key(单区域密钥),然后选择 Next(下一步)。
  8. 为密钥指定别名。最佳实践还会为密钥提供描述和标签。然后,选择 Next(下一步)。
  9. 选择允许管理 AWS KMS 密钥的 IAM 用户和角色,然后选择 Next(下一步)。
    注意:要防止 IAM 用户和角色删除 AWS KMS 密钥,请在 Key deletion(密钥删除)部分中,取消选中 Allow key administrators to delete this key(允许密钥管理员删除此密钥)复选框。
  10. 选择可以在加密操作中使用 AWS KMS 密钥的 IAM 用户和角色,然后选择 Next(下一步)。
    注意:您还可以允许其他 AWS 账户使用密钥进行加密操作。有关更多信息,请参阅加密操作
  11. 选择 Finish(完成)以创建 AWS KMS 密钥。

授予目标账户访问源账户中自定义 AWS KMS 密钥的权限

  1. 登录源账户,转至与数据库集群快照相同区域中的 AWS KMS 控制台
  2. 从导航窗格中选择 Customer managed keys(客户管理的密钥)。
  3. 选择您的自定义 AWS KMS 密钥。
  4. Other AWS accounts(其他 AWS 账户)部分,选择 Add another AWS account(添加其他 AWS 账户),然后输入目标账户的 AWS 账号。有关更多信息,请参阅允许其他账户中的用户使用 AWS KMS 密钥

复制和共享数据库集群快照

  1. 在源账户中打开 Amazon RDS 控制台,然后从导航窗格中选择 Snapshots(快照)。
  2. 选择要共享的数据库集群快照。选择 Actions(操作),然后选择 Copy snapshot(复制快照)。
  3. 选择您的自定义 AWS KMS 密钥所在的同一 AWS 区域,然后输入 New DB Snapshot Identifier(新数据库快照标识符)的名称。
  4. Encryption(加密)部分中,选择您创建的自定义 AWS KMS 密钥。
  5. 选择 Copy Snapshot(复制快照)。
  6. 依次选择新复制的数据库集群快照、Actions(操作)和 Share snapshot(共享快照)。
  7. AWS account ID(AWS 账户 ID)中,输入目标账户的 AWS 账号,然后选择Add(添加)。
  8. 选择 Save(保存)。

复制共享的数据库集群快照

  1. 登录到目标账户,然后打开 Amazon RDS 控制台
  2. 从导航窗格中选择 Snapshots(快照)。
  3. Snapshots(快照)窗格中,选择Shared with Me(与我共享)选项卡。
  4. 选择已共享的数据库集群快照。
  5. 选择 Actions(操作)。 然后,选择 Copy Snapshot(复制快照)将数据库集群快照复制到同一 AWS 区域。

数据库快照现在拥有来自目标账户的 AWS KMS 密钥,可用于启动实例。