如何与其他 AWS 账户共享加密的 Amazon EBS 卷?

上次更新日期:2022 年 2 月 2 日

如何与其他 Amazon Web Services (AWS) 账户共享 Amazon Elastic Block Store (Amazon EBS) 卷?

简短描述

您不能直接与其他 AWS 账户共享加密的 Amazon EBS 卷。您需要创建加密的 Amazon EBS 快照并与目标 AWS 账户共享,然后从共享快照的副本创建新的 EBS 卷。

共享 EBS 卷时,请记住以下几点:

  • 您不能共享使用 AWS 托管密钥加密的快照。相反,您要共享的快照必须使用客户管理的密钥进行加密。
  • 您不能公开共享加密的快照。要公开共享快照,请确保快照未被加密。

关更多信息,请参阅当您共享快照之前

解决方法

注意:要完成这些步骤,您必须具有编辑卷和快照的权限。如果您通过加密快照创建卷,但未在卷列表中看到该卷,可能是因为缺少正确的权限。有关更多信息,请参阅共享 KMS 密钥。同样,快照进入错误状态表示存在权限问题。

1.    创建 Amazon EBS 快照

重要提示:如果此 EBS 卷已附加到某个实例,请停止实例以确保数据的一致性。

2.    使用以下示例 AWS Key Management Service (AWS KMS) 密钥策略共享加密快照

{
  "Sid": "Allow use of the key with destination account",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::TARGET-ACCOUNT-ID:role/ROLENAME"
  },
  "Action": [
    "kms:Decrypt",
    "kms:CreateGrant"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "kms:ViaService": "ec2.REGION.amazonaws.com",
      "kms:CallerAccount": "TARGET-ACCOUNT-ID"
    }
  }
}

此示例密钥策略允许目标账户对授予最低权限的快照执行 DecryptCreateGrant 操作。

源账户的 AWS Identity and Access Management (IAM) 用户必须首先调用 ModifySnapshotAttribute 操作,然后在与共享快照关联的密钥上执行 DescribeKeyReEncrypt 操作。

目标账户的 IAM 用户必须能够在与 CopySnapshot 关联的密钥上调用以下操作:

3.    创建共享快照副本

注意:请务必选择您的 AWS 账户中的 AWS KMS 密钥,否则 EBS 加密将使用原地设置密钥

4.    从快照创建 EBS 卷

注意:您只能在创建快照的 AWS 区域还原快照。对于位于其他区域的 EBS 卷,应首先将快照复制到该区域,然后再还原快照。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?