

# Amazon EC2 AMI をコピーするための権限を付与する
<a name="copy-ami-permissions"></a>

EBS-backed AMI または Amazon S3-backed AMI をコピーするには、次の IAM アクセス許可が必要です。
+ `ec2:CopyImage` – AMI をコピーするアクセス許可。EBS-backed AMI の場合、AMI のバックアップするスナップショットをコピーするアクセス許可も付与します。
+ `ec2:CreateTags` – ターゲット AMI にタグ付けするアクセス許可。EBS-backed AMI の場合、ターゲット AMI のバックアップするスナップショットにタグ付けするアクセス許可も付与します。

インスタンスストアバック AMI をコピーする場合は、*追加で*次の IAM アクセス許可が必要です。
+ `s3:CreateBucket` – 新しい AMI のターゲットリージョンに S3 バケットを作成するアクセス許可
+ `s3:PutBucketOwnershipControls` – 新しく作成された S3 バケットACLs を有効にして `aws-exec-read` [既定 ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) でオブジェクトを書き込めるようにするアクセス許可
+ `s3:GetBucketAcl` – ソースバケットの ACL を読み取るアクセス許可
+ `s3:ListAllMyBuckets` – ターゲットリージョンで AMI の既存の S3 バケットを検出するアクセス許可
+ `s3:GetObject` – ソースバケットのオブジェクトを読み取るアクセス許可
+ `s3:PutObject` – ターゲットバケットにオブジェクトを書き込むアクセス許可
+ `s3:PutObjectAcl` – ターゲットバケットの新しいオブジェクトのアクセス許可を書き込むアクセス許可

**注記**  
2024 年 10 月 28 日以降、ソース AMI の `CopyImage` アクションにリソースレベルのアクセス許可を指定できます。ターゲット AMI のリソースレベルのアクセス許可は以前と同様に利用できます。詳細については、「*サービス認可リファレンス*」の「[Amazon EC2 で定義されたアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions)」でテーブル内の **[CopyImage]** を参照してください。

## EBS-backed AMI をコピーし、ターゲット AMI とスナップショットにタグ付けするための IAM ポリシーの例
<a name="permissions-to-copy-ebs-backed-ami"></a>

次のポリシー例では、EBS-backed AMI をコピーし、ターゲット AMI とそのバックアップするスナップショットにタグを付けるアクセス許可を付与します。

**注記**  
2024 年 10 月 28 日以降、`Resource` 要素でスナップショットを指定できます。詳細については、「*サービス認可リファレンス*」の「[Amazon EC2 で定義されたアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions)」でテーブル内の **[CopyImage]** を参照してください。

------
#### [ JSON ]

****  

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

------

## EBS-backed AMI をコピーし、新しいスナップショットのタグ付けを拒否する IAM ポリシーの例
<a name="permissions-to-copy-ebs-backed-ami-but-deny-tagging-new-snapshots"></a>

`ec2:CopySnapshot` アクセス許可は、`ec2:CopyImage` アクセス許可を取得すると自動的に付与されます。新しいバッキングスナップショットにタグ付けするアクセス許可は明示的に拒否し、`ec2:CreateTags` アクションの `Allow` 効果を上書きできます。

次のポリシー例では、EBS-backed AMI をコピーするアクセス許可を付与しますが、ターゲット AMI の新しいバックアップするスナップショットのタグ付けは拒否します。

------
#### [ JSON ]

****  

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

------

## Amazon S3-backed AMI をコピーし、ターゲット AMI にタグ付けするための IAM ポリシーの例
<a name="permissions-to-copy-instance-store-backed-ami"></a>

次のポリシー例では、指定されたソースバケットの Amazon S3-backed AMI を指定されたリージョンにコピーし、ターゲット AMI にタグ付けするアクセス許可を付与します。

------
#### [ JSON ]

****  

```
{
    "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-{{111122223333}}-in-{{us-east-2}}-{{hash}}"
            ]
        }
    ]
}
```

------

AMI ソースバケットの Amazon リソースネーム (ARN) を検索するには、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開き、ナビゲーションペインで [**AMI**] を選択し、[**ソース**] 列でバケット名を特定します。

**注記**  
`s3:CreateBucket` アクセス許可は、初めて Amazon S3-backed AMI を個々のリージョンにコピーするときにのみ必要です。その後、リージョンですでに作成された Amazon S3 バケットは、そのリージョンにコピーする将来のすべての AMI に保存されます。