我正在尝试将 AMI 从一个 AWS 账户复制到另一个账户,并使用目标账户中的 CMK 对其进行加密。
CMK 的关键策略是:
{
"Version": "2012-10-17",
"Id": "key-default",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::TARGET-ACCOUNT-NUMBER:root"
},
"Action": "kms:*",
"Resource": "*"
}
]
}
我使用以下策略在目标帐户中创建了一个角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:ListAliases",
"kms:GenerateDataKey",
"kms:DescribeKey",
"kms:Encrypt",
"ec2:CopyImage"
],
"Resource": "*"
}
]
}
附加到这个角色的还有AmazonEC2ReadOnlyAccess
策略。
如果我登录到根账户并担任目标账户中的角色,然后尝试使用我的 CMK 复制 AMI,它会失败并显示Snapshot snap-abc123xyz is in an unexpected state: error
. 快照上没有其他信息可指示根本原因。
如果我将AdministratorAccess
策略附加到 AMI 复制的角色,那么它一定是权限问题。
有人可以提供复制带有加密的 AMI 所需的权限列表吗?