스냅샷 공유
스냅샷에 대한 액세스 권한을 부여하여 기존의 수동 스냅샷을 다른 AWS 고객 계정과 공유할 수 있습니다. 각 스냅샷당 최대 20개 계정, 각각의 AWS KMS(AWS Key Management Service) 키당 최대 100개 계정에 권한을 부여할 수 있습니다. 다시 말해서 단일 KMS 키로 암호화되어 있는 스냅샷이 10개라고 가정하면 AWS 계정 10개에 각 스냅샷을 복원할 수 있는 권한을 부여하거나, 혹은 최대 100개까지 계정을 추가하지만 각 스냅샷마다 계정 20개를 초과하지 않는 기타 조합에 복원 권한을 부여할 수 있습니다. 그러면 권한이 부여된 계정 중 하나에 사용자로 로그인한 사람이 스냅샷을 설명하거나 복원하여 계정 아래 새로운 Amazon Redshift 클러스터를 생성할 수 있습니다. 예를 들어 프로덕션과 테스트에 별개의 AWS 고객 계정을 사용하는 경우, 사용자가 프로덕션 계정을 사용해 로그인하고 테스트 계정에 있는 사용자들과 스냅샷을 공유할 수 있습니다. 그런 다음 테스트 계정 사용자로 로그인한 사람이 스냅샷을 복원하여 테스트 또는 진단 작업을 위해 테스트 계정이 소유하는 새로운 클러스터를 생성할 수 있습니다.
수동 스냅샷은 스냅샷을 생성한 AWS 고객 계정이 영구적으로 소유합니다. 스냅샷을 소유한 계정의 사용자만이 다른 계정에게 스냅샷에 액세스할 권한을 부여하거나 권한 부여를 취소할 수 있습니다. 권한이 부여된 계정의 사용자는 공유된 스냅샷의 설명 또는 복원만 가능하며 공유된 스냅샷을 복사하거나 삭제할 수는 없습니다. 권한 부여는 스냅샷 소유자가 취소하기 전까지 유효합니다. 권한 부여가 취소되면 이전에 권한이 부여된 사용자는 스냅샷을 볼 수 없으며 해당 스냅샷을 참조하는 새로운 작업을 시작할 수 없습니다. 액세스가 취소될 때 계정에서 스냅샷 복원이 진행 중인 경우에는 복원이 실행되어 완료됩니다. 스냅샷에 대한 권한 부여가 활성화되어 있는 동안은 스냅샷을 삭제할 수 없습니다. 먼저 모든 권한 부여를 취소해야 합니다.
AWS 고객 계정에는 계정이 소유한 스냅샷에 액세스할 권한이 항상 부여됩니다. 소유자 계정에 대한 액세스 권한을 부여하거나 취소하려고 하면 오류가 반환됩니다. 비활성 AWS 고객 계정이 소유한 스냅샷은 복원하거나 설명할 수 없습니다.
AWS 고객 계정에 대한 액세스 권한을 부여한 후에는 해당 계정의 사용자는 작업을 허용하는 정책이 있는 역할을 맡지 않는 한 스냅샷에 대한 어떠한 작업도 수행할 수 없습니다.
-
스냅샷 소유자 계정의 사용자는 스냅샷이 포함된 리소스 사양을 사용하여 스냅샷에 대한 액세스 권한 부여 또는 취소 작업을 허용하는 IAM 정책이 있는 역할을 맡는 경우에만 이러한 작업을 수행할 수 있습니다. 예를 들어 다음 정책은 AWS 계정
012345678912
의 사용자 또는 역할이 다른 계정에게my-snapshot20130829
라는 이름의 스냅샷에 대한 액세스 권한을 부여하도록 허용합니다.{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:AuthorizeSnapshotAccess", "redshift:RevokeSnapshotAccess" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829" ] } ] }
-
스냅샷을 공유한 AWS 계정의 사용자는 작업을 허용하는 권한이 없는 한 스냅샷에 대한 어떠한 작업도 수행할 수 없습니다. 정책을 역할에 할당하고 역할을 위임하여 이 작업을 수행할 수 있습니다.
-
사용자가 스냅샷을 나열 또는 설명하기 위해서는
DescribeClusterSnapshots
작업을 허용하는 IAM 정책을 가지고 있어야 합니다. 다음 코드에 예가 나와 있습니다:{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusterSnapshots" ], "Resource":[ "*" ] } ] }
-
스냅샷을 복원하기 위해서는 사용자가
RestoreFromClusterSnapshot
작업을 허용하고 생성하려는 클러스터와 스냅샷이 모두 포함된 리소스 요소가 있는 IAM 정책이 있는 역할을 맡아야 합니다. 예를 들어 계정012345678912
의 사용자가 스냅샷my-snapshot20130829
를 복원하여 클러스터를 생성하기 위해 해당 스냅샷을 계정219876543210
과 공유한 경우, 계정219876543210
의 사용자는 다음과 같은 정책이 있는 역할을 맡아야 합니다.{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:RestoreFromClusterSnapshot" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829", "arn:aws:redshift:us-east-1:219876543210:cluster:from-another-account" ] } ] }
-
AWS 계정에서 스냅샷에 대한 액세스가 취소된 후에는 해당 계정의 사용자가 스냅샷에 액세스할 수 없습니다. 해당 계정에 이전에 공유된 스냅샷 리소스에 대한 작업을 허용하는 IAM 정책이 있더라도 마찬가지입니다.
-
콘솔을 사용하여 클러스터 스냅샷 공유
콘솔에서 다른 사용자에게 자신의 수동 스냅샷에 대한 액세스 권한을 부여하거나, 혹은 나중에 더 이상 필요 없을 때는 해당 액세스 권한을 취소할 수도 있습니다.
다른 계정과 스냅샷을 공유하려면
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/redshiftv2/
에서 Amazon Redshift 콘솔을 엽니다. -
탐색 메뉴에서 클러스터(Clusters), 스냅샷(Snapshots)을 선택한 다음 공유하려는 수동 스냅샷을 선택합니다.
-
작업(Actions)에서 수동 스냅샷 설정(Manual snapshot settings)를 선택하여 수동 스냅샷의 속성을 표시합니다.
-
액세스 관리 섹션에서 공유할 계정을 입력한 다음 저장을 선택합니다.
암호화된 스냅샷 공유에 대한 보안 고려 사항
암호화된 스냅샷에 대한 액세스를 제공하는 경우 Redshift를 사용하려면 스냅샷을 생성하는 데 사용되는 AWS KMS 고객 관리형 키를 복원을 수행하는 계정 또는 계정과 공유해야 합니다. 키를 공유하지 않는 경우 스냅샷을 복원하려고 하면 액세스 거부 오류가 발생합니다. 수신 계정에는 공유 스냅샷을 복원하기 위한 추가 권한이 필요하지 않습니다. 스냅샷 액세스 권한을 부여하고 키를 공유하는 경우 액세스 권한 부여 ID에 스냅샷을 암호화하는 데 사용되는 키에 대한 kms:DescribeKey
권한이 있어야 합니다. 이 권한에 대한 자세한 내용은 AWS KMS 권한을 참조하세요. 자세한 내용은 Amazon Redshift API 참조 설명서의 DescriptionKey를 참조하세요.
고객 관리형 키 정책은 프로그래밍 방식으로 또는 AWS Key Management Service 콘솔에서 업데이트할 수 있습니다.
암호화된 스냅샷의 AWS KMS 키에 대한 액세스 허용
암호화된 스냅샷의 AWS KMS 고객 관리형 키를 공유하려면 다음 단계를 수행하여 키 정책을 업데이트합니다.
-
KMS 키 정책에서
Principal
로 공유하고 있는 AWS 계정의 Amazon 리소스 이름(ARN)을 사용하여 KMS 정책을 업데이트합니다. -
kms:Decrypt
작업을 허용합니다.
다음 키 정책 예에서는 사용자 111122223333
이 KMS 키의 소유자이고 사용자 444455556666
이 키를 공유하는 계정입니다. 이 키 정책은 사용자 444455556666
의 루트 AWS 계정 자격 증명에 대한 ARN을 정책의 Principal
로 포함하고 kms:Decrypt
작업을 허용하여 AWS 계정이 샘플 KMS 키에 액세스할 수 있도록 합니다.
{
"Id": "key-policy-1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333:user/KeyUser",
"arn:aws:iam::444455556666:root"
]
},
"Action": [
"kms:Decrypt"
],
"Resource": "*"
}
]
}
고객 관리형 KMS 키에 대한 액세스 권한이 부여된 후에는 암호화된 스냅샷을 복원하는 계정은 AWS Identity and Access Management(IAM) 역할 또는 사용자(아직 없는 경우)를 생성해야 합니다. 또한 해당 AWS 계정은 IAM 역할 또는 사용자가 해당 KMS 키를 사용하여 암호화된 데이터베이스 스냅샷을 복원할 수 있도록 허용하는 IAM 정책을 해당 역할 또는 사용자에 연결해야 합니다.
AWS KMS 키에 대한 액세스 권한을 부여하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드에서 다른 계정의 사용자가 KMS 키를 사용하도록 허용 섹션을 참조하세요.
키 정책의 개요는 Amazon Redshift에서 AWS KMS 사용 방법을 참조하세요.