

# Amazon EC2 AMI를 복사할 수 있는 권한 부여
<a name="copy-ami-permissions"></a>

EBS 지원 AMI 또는 Amazon S3 지원 AMI를 복사하려면 다음 IAM 권한이 필요합니다.
+ `ec2:CopyImage` - AMI를 복사합니다. EBS 지원 AMI의 경우 AMI의 지원 스냅샷을 복사할 권한도 부여합니다.
+ `ec2:CreateTags` - 대상 AMI에 태그를 지정합니다. EBS 지원 AMI의 경우 대상 AMI의 지원 스냅샷에 태그를 지정할 권한도 부여합니다.

인스턴스 저장소 지원 AMI를 복사하는 경우 다음과 같은 *추가* IAM 권한이 필요합니다.
+ `s3:CreateBucket` - 새 AMI의 대상 리전에 S3 버킷 생성
+ `s3:PutBucketOwnershipControls` - `aws-exec-read`[미리 준비된 ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl)로 객체를 쓸 수 있도록 새로 생성된 S3 버킷에 대해 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 지원 AMI를 복사하고 대상 AMI 및 스냅샷에 태그를 지정하기 위한 IAM 정책 예제
<a name="permissions-to-copy-ebs-backed-ami"></a>

다음 정책 예제에서는 EBS 지원 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 지원 AMI를 복사하지만 새 스냅샷에 태그 지정을 거부하는 IAM 정책 예제
<a name="permissions-to-copy-ebs-backed-ami-but-deny-tagging-new-snapshots"></a>

`ec2:CopySnapshot` 권한은 `ec2:CopyImage` 권한을 받을 때 자동으로 부여됩니다. 새 백업 스냅샷에 태그를 지정할 수 있는 권한을 명시적으로 거부하여 `ec2:CreateTags` 작업의 `Allow` 효과를 재정의할 수 있습니다.

다음 정책 예제에서는 EBS 지원 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 지원 AMI를 복사하고 대상 AMI에 태그를 지정하는 IAM 정책 예제
<a name="permissions-to-copy-instance-store-backed-ami"></a>

다음 정책 예제에서는 지정된 소스 버킷의 모든 Amazon S3 지원 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)을 찾으려면 Amazon EC2 콘솔([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/))을 열고 탐색 창에서 [**AMI(AMIs)**]를 선택한 다음 [**소스(Source)**] 열에서 버킷 이름을 찾습니다.

**참고**  
`s3:CreateBucket` 권한은 Amazon S3 지원 AMI를 개별 리전에 처음 복사할 때만 필요합니다. 이후 리전에 이미 생성된 Amazon S3 버킷은 향후 해당 리전에 복사하는 모든 AMI를 저장하는 데 사용됩니다.