

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon EBS 스냅샷을 다른 AWS 계정과 공유
<a name="ebs-modifying-snapshot-permissions"></a>

다른 AWS 계정과 스냅샷을 공유하려는 경우 스냅샷 권한을 수정할 수 있습니다. 스냅샷을 다른 모든 AWS 계정과 공개적으로 공유하거나 지정한 개별 AWS 계정과 비공개로 공유할 수 있습니다. 권한을 부여받은 사용자는 공유 스냅샷을 사용하여 자체 EBS 볼륨을 생성할 수 있습니다. 원본 스냅샷은 영향을 받지 않습니다.

**중요**  
스냅샷을 공유하면 다른 사람들이 해당 스냅샷의 모든 데이터에 액세스할 수 있게 됩니다. *모든* 스냅샷 데이터를 신뢰할 수 있는 사용자하고만 공유하세요.

스냅샷의 퍼블릭 공유를 방지하려면 [Amazon EBS 스냅샷에 대한 퍼블릭 액세스 차단](block-public-access-snapshots.md)을 활성화합니다.

**Topics**
+ [스냅샷을 공유하기 전에](#share-snapshot-considerations)
+ [스냅샷 공유](#share-unencrypted-snapshot)
+ [KMS 키 공유](share-kms-key.md)
+ [공유 스냅샷 사용](view-shared-snapshot.md)
+ [공유한 스냅샷의 사용 확인](#shared-snapshot-cloudtrail-logging)

## 스냅샷을 공유하기 전에
<a name="share-snapshot-considerations"></a>

다음은 스냅샷을 공유할 때 고려할 사항입니다.
+ 리전에 스냅샷에 대한 퍼블릭 액세스 차단이 활성화된 경우 스냅샷을 공개적으로 공유하려는 시도가 차단됩니다. 스냅샷은 여전히 비공개로 공유할 수 있습니다.
+ 스냅샷은 생성된 리전으로 제한됩니다. 스냅샷을 다른 리전과 공유하려면 스냅샷을 해당 리전에 복사한 다음 복사본을 공유합니다. 자세한 내용은 [Amazon EBS 스냅샷 복사](ebs-copy-snapshot.md) 단원을 참조하십시오.
+ 기본 AWS 관리형 키로 암호화된 스냅샷은 공유할 수 없습니다. 고객 관리형 키로 암호화된 스냅샷만 공유할 수 있습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*에서 [키 생성](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)을 참조하세요.
+ 암호화되지 않은 스냅샷만 공개적으로 공유할 수 있습니다.
+ 암호화된 스냅샷을 공유할 때는 해당 스냅샷을 암호화하는 데 사용된 고객 관리형 키도 공유해야 합니다. 자세한 내용은 [공유 Amazon EBS 스냅샷을 암호화하는 데 사용되는 KMS 키 공유](share-kms-key.md) 섹션을 참조하세요.

## 스냅샷 공유
<a name="share-unencrypted-snapshot"></a>

스냅샷을 공개적으로 또는 특정 AWS 계정과 공유할 수 있습니다.

------
#### [ Console ]

**스냅샷을 공유하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 [**스냅샷(Snapshots)**]을 선택합니다.

1. 공유할 스냅샷을 선택하고 **작업(Actions)**, **권한 수정(Modify permissions)**을 선택합니다.

1. 스냅샷의 권한을 지정합니다. *현재 설정(Current setting)*은 스냅샷의 현재 공유 권한을 나타냅니다.
   + 스냅샷을 모든 AWS 계정과 공개적으로 공유하려면 **퍼블릭**을 선택합니다.
   + 스냅샷을 특정 AWS 계정과 비공개로 공유하려면 **비공개**를 선택합니다. 그런 다음 **계정 공유(Sharing accounts)** 섹션에서 **계정 추가(Add account)**를 선택하고 공유할 계정의 12자리 계정 ID(하이픈 제외)를 입력합니다.

1. **변경 사항 저장**을 선택합니다.

------
#### [ AWS CLI ]

스냅샷에 대한 권한은 스냅샷의 `createVolumePermission` 속성을 사용하여 지정됩니다. 스냅샷을 퍼블릭으로 설정하려면 그룹을 `all`로 설정합니다. 스냅샷을 특정 AWS 계정과 공유하려면 사용자를 AWS 계정의 ID로 설정합니다.

**스냅샷을 공개적으로 공유하려면**  
[modify-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-snapshot-attribute.html) 명령을 사용합니다.

`--attribute`에 `createVolumePermission`을 지정합니다. `--operation-type`에 `add`을 지정합니다. `--group-names`에 `all`을 지정합니다.

```
aws ec2 modify-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission \
    --operation-type add \
    --group-names all
```

**스냅샷을 비공개로 공유하려면**  
[modify-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-snapshot-attribute.html) 명령을 사용합니다.

`--attribute`에 `createVolumePermission`을 지정합니다. `--operation-type`에 `add`을 지정합니다. 에서 스냅샷을 공유할 AWS 계정의 12자리 IDs를 `--user-ids`지정합니다.

```
aws ec2 modify-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission \
    --operation-type add \
    --user-ids 123456789012 111122223333
```

------
#### [ PowerShell ]

스냅샷에 대한 권한은 스냅샷의 `createVolumePermission` 속성을 사용하여 지정됩니다. 스냅샷을 퍼블릭으로 설정하려면 그룹을 `all`로 설정합니다. 스냅샷을 특정 AWS 계정과 공유하려면 사용자를 AWS 계정의 ID로 설정합니다.

**스냅샷을 공개적으로 공유하려면**  
[Edit-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SnapshotAttribute.html) cmdlet을 사용합니다.

`-Attribute`에 `CreateVolumePermission`을 지정합니다. `-OperationType`에 `Add`을 지정합니다. `-GroupName`에 `all`을 지정합니다.

```
Edit-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute CreateVolumePermission `
    -OperationType Add `
    -GroupName all
```

**스냅샷을 비공개로 공유하려면**  
[Edit-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SnapshotAttribute.html) cmdlet을 사용합니다.

`-Attribute`에 `CreateVolumePermission`을 지정합니다. `-OperationType`에 `Add`을 지정합니다. 에서 스냅샷을 공유할 AWS 계정의 12자리 IDs를 `UserId`지정합니다.

```
Edit-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute CreateVolumePermission `
    -OperationType Add `
    -UserId 123456789012 111122223333
```

------

# 공유 Amazon EBS 스냅샷을 암호화하는 데 사용되는 KMS 키 공유
<a name="share-kms-key"></a>

암호화된 스냅샷을 공유할 때는 해당 스냅샷을 암호화하는 데 사용된 고객 관리형 키도 공유해야 합니다. 생성 당시에 또는 나중에 고객 관리형 키에 교차 계정 권한을 적용할 수 있습니다.

암호화된 스냅샷에 액세스하는 공유 고객 관리형 키의 사용자에게 키에 대해 다음 작업을 수행할 수 있는 권한을 부여해야 합니다.
+ `kms:DescribeKey`
+ `kms:CreateGrant`
+ `kms:GenerateDataKey`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncrypt`
+ `kms:Decrypt`

**작은 정보**  
최소 권한의 원칙을 따르려면 `kms:CreateGrant`에 대한 전체 액세스 권한을 허용하지 마세요. 대신 `kms:GrantIsForAWSResource` 조건 키를 사용하여 AWS 서비스가 사용자를 대신하여 권한 부여를 생성하는 경우에만 사용자가 KMS 키에 대한 권한 부여를 생성하도록 허용합니다.

고객 관리형 키 액세스 제어에 대한 자세한 내용은AWS Key Management Service 개발자 안내서**에서 [AWS KMS의 키 정책 사용](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)을 참조하세요.

**AWS KMS 콘솔을 사용하여 고객 관리형 키를 공유하려면**

1. [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS KMS 콘솔을 엽니다.

1. 를 변경하려면 페이지 오른쪽 상단에 있는 리전 선택기를 AWS 리전사용합니다.

1. 탐색 창에서 **고객 관리형 키(Customer managed keys)**를 선택합니다.

1. **별칭** 열에서 스냅샷을 암호화하는 데 사용한 고객 관리형 키의 별칭(텍스트 링크)을 선택합니다. 키 세부 정보가 새 페이지에서 열립니다.

1. **Key policy(키 정책)** 섹션에는 *정책 보기* 또는 *기본 보기*가 표시됩니다. 정책 보기에는 주요 정책 문서가 표시됩니다. 기본 보기에는 **키 관리자(Key administrators)**, **키 삭제(Key deletion)**, **키 사용(Key Use)** 및 **기타 AWS 계정(Other accounts)**에 대한 섹션이 표시됩니다. 콘솔에서 정책을 생성하고 사용자 지정하지 않은 경우 기본 보기가 표시됩니다. 기본 보기를 사용할 수 없는 경우 정책 보기에서 정책을 수동으로 편집해야 합니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*에서 [키 정책 보기(콘솔)](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-viewing.html#key-policy-viewing-console)을 참조하세요.

   액세스할 수 있는 보기에 따라 정책 보기 또는 기본 보기를 사용하여 다음과 같이 정책에 하나 이상의 AWS 계정 IDs 추가합니다.
   + (정책 보기) **Edit(편집)**를 선택합니다. `"Allow use of the key"` 및 문에 하나 이상의 AWS 계정 IDs를 추가합니다`"Allow attachment of persistent resources"`. **변경 사항 저장**을 선택합니다. 다음 예제에서는 AWS 계정 ID`444455556666`가 정책에 추가됩니다.

     ```
     {
       "Sid": "Allow use of the key",
       "Effect": "Allow",
       "Principal": {"AWS": [
         "arn:aws:iam::111122223333:user/KeyUser",
         "arn:aws:iam::444455556666:root"
       ]},
       "Action": [
         "kms:Encrypt",
         "kms:Decrypt",
         "kms:ReEncrypt*",
         "kms:GenerateDataKey*",
         "kms:DescribeKey"
       ],
       "Resource": "*"
     },
     {
       "Sid": "Allow attachment of persistent resources",
       "Effect": "Allow",
       "Principal": {"AWS": [
         "arn:aws:iam::111122223333:user/KeyUser",
         "arn:aws:iam::444455556666:root"
       ]},
       "Action": [
         "kms:CreateGrant",
         "kms:ListGrants",
         "kms:RevokeGrant"
       ],
       "Resource": "*",
       "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
     }
     ```
   + (기본 보기) **다른 AWS 계정**까지 아래로 스크롤합니다. **다른 AWS 계정 추가**를 선택하고 메시지가 표시되면 AWS 계정 ID를 입력합니다. 다른 계정을 추가하려면 **다른 AWS 계정 추가**를 선택하고 AWS 계정 ID를 입력합니다. AWS 계정을 모두 추가했으면 [**변경 사항 저장(Save changes)**]을 선택합니다.

# 자신에게 공유된 Amazon EBS 스냅샷 사용
<a name="view-shared-snapshot"></a>

**암호화되지 않은 공유 스냅샷을 사용하려면**  
ID 또는 설명으로 공유 스냅샷을 찾습니다. 계정에 소유한 다른 스냅샷과 마찬가지로 이 스냅샷을 사용할 수 있습니다. 예를 들어 스냅샷에서 볼륨을 생성하거나 볼륨을 다른 리전으로 복사할 수 있습니다.

**암호화된 공유 스냅샷을 사용하려면**  
ID 또는 설명으로 공유 스냅샷을 찾습니다. 계정에 공유 스냅샷의 복사본을 생성하고 소유한 KMS 키로 복사본을 암호화합니다. 그런 다음 복사본을 사용하여 볼륨을 생성하거나 다른 리전에 복사할 수 있습니다.

------
#### [ Console ]

**스냅샷 권한을 보려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 [**Snapshots**]를 선택합니다.

1. 스냅샷을 선택합니다.

1. 필터를 **내가 소유**한 경우 스냅샷은 이 계정이 소유합니다. 필터가 **프라이빗 스냅샷**인 경우 스냅샷은 이 계정이 소유하거나 이 계정과 구체적으로 공유됩니다. 스냅샷을 선택하고 **세부 정보** 탭에서 **소유자**가 이 계정을 지정하는지 또는 다른 계정을 지정하는지 여부를 확인합니다.

------
#### [ AWS CLI ]

**스냅샷 권한을 보려면**  
[describe-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshot-attribute.html) 명령을 사용하여 지정된 스냅샷의 스냅샷 권한을 가져옵니다.

```
aws ec2 describe-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission
```

다음은 예제 출력입니다.

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "CreateVolumePermissions": [
        {
            "UserId": "111122223333"
        }
    ]
}
```

------
#### [ PowerShell ]

**스냅샷 권한을 보려면**  
[Get-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SnapshotAttribute.html) cmdlet을 사용합니다.

```
(Get-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute createVolumePermission).CreateVolumePermissions
```

다음은 예제 출력입니다.

```
Group UserId
----- ------
      111122223333
```

------

## 공유한 스냅샷의 사용 확인
<a name="shared-snapshot-cloudtrail-logging"></a>

 AWS CloudTrail 를 사용하여 다른 사용자와 공유한 스냅샷이 복사되는지 아니면 볼륨을 생성하는 데 사용되는지 모니터링할 수 있습니다. 공유한 스냅샷에서 작업이 수행되면 CloudTrail에 다음 이벤트가 로깅됩니다.
+ **SharedSnapshotCopyInitiated** — 공유 스냅샷이 복사되고 있습니다.
+ **SharedSnapshotVolumeCreated** — 공유 스냅샷이 볼륨을 생성하는 데 사용되고 있습니다.

CloudTrail 사용에 대한 자세한 내용은 [를 사용하여 Amazon EC2 및 Amazon EBS API 호출 로깅 AWS CloudTrail](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/monitor-with-cloudtrail.html)을 참조하세요.