ec2:CreateImage

Write

ec2:CreateImage is a Write access-level action in the ec2 service. Grants permission to create an Amazon EBS-backed AMI from a stopped or running Amazon EBS-backed instance. This action can reboot instances as part of the image creation process, even without RebootInstances permissions. To prevent instance reboots during image creation, use the NoReboot parameter

Resource types

ARNs that ec2:CreateImage can be scoped to in an IAM policy.

arn:${Partition}:ec2:${Region}::image/${ImageId}
image
arn:${Partition}:ec2:${Region}:${Account}:instance/${InstanceId}
instance
arn:${Partition}:ec2:${Region}::snapshot/${SnapshotId}
snapshot

Condition keys

Keys you can use in the Condition block of a policy that grants ec2:CreateImage.

ec2:SnapshotTime String

Filters access by the initiation time of a snapshot

aws:RequestTag/${TagKey} String

Filters access by a tag key and value pair that is allowed in the request

aws:ResourceTag/${TagKey} String

Filters access by a tag key and value pair of a resource

aws:TagKeys ArrayOfString

Filters access by a list of tag keys that are allowed in the request

ec2:Add/group String

Filters access by the group being added to a snapshot

ec2:Add/userId String

Filters access by the account id being added to a snapshot

ec2:Attribute String

Filters access by an attribute of a resource

ec2:Attribute/${AttributeName} String

Filters access by an attribute being set on a resource

ec2:AvailabilityZone String

Filters access by the name of an Availability Zone in an AWS Region

ec2:AvailabilityZoneId String

Filters access by the ID of an Availability Zone in an AWS Region

ec2:CpuOptionsAmdSevSnp String

Filters access by the state of AMD SEV-SNP CPU Options. Currently, only US East (Ohio) and Europe (Ireland) are supported

ec2:EbsOptimized Bool

Filters access by whether the instance is enabled for EBS optimization

ec2:Encrypted Bool

Filters access by whether the EBS volume is encrypted

ec2:PlacementGroup ARN

Filters access by the ARN of the placement group

ec2:ProductCode String

Filters access by the product code that is associated with the AMI

ec2:Public Bool

Filters access by whether the image has public launch permissions

ec2:Region String

Filters access by the name of the AWS Region

ec2:ImageID String

Filters access by the ID of an image

ec2:ImageType String

Filters access by the type of image (machine, aki, or ari)

ec2:Remove/group String

Filters access by the group being removed from a snapshot

ec2:Remove/userId String

Filters access by the account id being removed from a snapshot

ec2:InstanceAutoRecovery String

Filters access by whether the instance type supports auto recovery

ec2:InstanceBandwidthWeighting String

Filters access by the bandwidth weighting of an instance

ec2:ResourceTag/${TagKey} String

Filters access by a tag key and value pair of a resource

ec2:InstanceID String

Filters access by the ID of an instance

ec2:InstanceMarketType String

Filters access by the market or purchasing option of an instance (capacity-block, on-demand, or spot)

ec2:RootDeviceType String

Filters access by the root device type of the instance (ebs or instance-store)

ec2:InstanceMetadataTags String

Filters access by whether the instance allows access to instance tags from the instance metadata

ec2:InstanceProfile ARN

Filters access by the ARN of an instance profile

ec2:InstanceType String

Filters access by the type of instance

ec2:SnapshotCoolOffPeriod Numeric

Filters access by the compliance mode cooling-off period

ec2:SnapshotID String

Filters access by the ID of a snapshot

ec2:SnapshotLockDuration Numeric

Filters access by the snapshot lock duration

ec2:SourceAvailabilityZone String

Filters access by the name of the Availability Zone from which the request originated

ec2:IsLaunchTemplateResource Bool

Filters access by whether users are able to override resources that are specified in the launch template

ec2:SourceOutpostArn ARN

Filters access by the ARN of the Outpost from which the request originated

ec2:LaunchTemplate ARN

Filters access by the ARN of a launch template

ec2:Tenancy String

Filters access by the tenancy of the VPC or instance (default, dedicated, or host)

ec2:Location String

Filters access by the destination for the snapshot copy

ec2:ManagedResourceOperator String

Filters access by the presence of an EC2 operator provisioning a managed resource

ec2:MetadataHttpEndpoint String

Filters access by whether the HTTP endpoint is enabled for the instance metadata service

ec2:MetadataHttpPutResponseHopLimit Numeric

Filters access by the allowed number of hops when calling the instance metadata service

ec2:VolumeSize Numeric

Filters access by the size of the volume, in GiB

ec2:MetadataHttpTokens String

Filters access by whether tokens are required when calling the instance metadata service (optional or required)

ec2:NewInstanceProfile ARN

Filters access by the ARN of the instance profile being attached

ec2:OutpostArn ARN

Filters access by the ARN of the Outpost

ec2:Owner String

Filters access by the owner of the resource (amazon, aws-marketplace, or an AWS account ID)

ec2:ParentSnapshot ARN

Filters access by the ARN of the parent snapshot

ec2:ParentVolume ARN

Filters access by the ARN of the parent volume from which the snapshot was created

Dependent actions

To use ec2:CreateImage you may also need to grant:

Example IAM policy

A minimal policy that allows ec2:CreateImage. Replace "Resource": "*" with a specific ARN to follow least privilege.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowEc2CreateImage",
      "Effect": "Allow",
      "Action": "ec2:CreateImage",
      "Resource": "*"
    }
  ]
}

Related actions in ec2

View all ec2 actions →