如何与其他 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"
}
}
}
此示例密钥策略允许目标账户对授予最低权限的快照执行 Decrypt 和 CreateGrant 操作。
源账户的 AWS Identity and Access Management (IAM) 用户必须首先调用 ModifySnapshotAttribute 操作,然后在与共享快照关联的密钥上执行 DescribeKey 和 ReEncrypt 操作。
目标账户的 IAM 用户必须能够在与 CopySnapshot 关联的密钥上调用以下操作:
3. 创建共享快照副本。
注意:请务必选择您的 AWS 账户中的 AWS KMS 密钥,否则 EBS 加密将使用原地设置密钥。
4. 从快照创建 EBS 卷。
注意:您只能在创建快照的 AWS 区域还原快照。对于位于其他区域的 EBS 卷,应首先将快照复制到该区域,然后再还原快照。