授予复制 Amazon EC2 AMI 的权限 - Amazon Elastic Compute Cloud

授予复制 Amazon EC2 AMI 的权限

要复制 EBS-backed AMI 或实例存储支持的 AMI,您需要以下 IAM 权限:

  • ec2:CopyImage – 复制 AMI。对于 EBS-backed AMI,它还授予复制 AMI 支持快照的权限。

  • ec2:CreateTags – 标记目标 AMI。对于 EBS-backed AMI,它还授予标记目标 AMI 支持快照的权限。

如果您要复制由实例存储支持的 AMI,则需要以下额外的 IAM 权限:

  • s3:CreateBucket – 在目标区域为新的 AMI 创建 S3 存储桶

  • s3:GetBucketAcl – 读取源存储桶的 ACL 权限

  • s3:ListAllMyBuckets – 在目标区域为 AMI 查找现有 S3 存储桶

  • s3:GetObject – 读取源存储桶中的对象

  • s3:PutObject – 将对象写入目标存储桶

  • s3:PutObjectAcl – 将新对象的权限写入目标存储桶

用于复制 EBS-backed AMI 并标记目标 AMI 和快照的 IAM policy 示例

以下示例策略授予您复制任何 EBS-backed AMI 并标记目标 AMI 及其支持快照的权限。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }] }

用于复制 EBS-backed AMI 但拒绝标记新快照的 IAM policy 示例

当您获取 ec2:CopySnapshot 权限时,系统会自动授予 ec2:CopyImage 权限。这包括标记目标 AMI 的新支持快照的权限。可以明确拒绝标记新支持快照的权限。

以下示例策略授予您复制任何 EBS-backed AMI 但拒绝您标记目标 AMI 的新支持快照的权限。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Deny", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::snapshot/*" } ] }

用于复制由实例存储支持的 AMI 并标记目标 AMI 的 IAM policy 示例

以下示例策略授予您将指定源存储桶中任何由实例存储支持的 AMI 复制到指定区域并标记目标 AMI 的权限。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketAcl", "s3:PutObjectAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amis-for-account-in-region-hash" ] } ] }

要查找 AMI 源存储桶的 Amazon Resource Name (ARN),请访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,在导航窗格中选择 AMIs (AMI),然后在 Source (源) 列中找到该存储桶名称。

注意

仅在您首次将实例存储支持的 AMI 复制到单个区域时,才需要 s3:CreateBucket 权限。在此之后,将使用已在该区域中创建的 Amazon S3 存储桶来存储您将来复制到该区域的所有 AMIs。