Search

Amazon EBS 스냅샷으로부터 볼륨 생성을 위한 향상된 리소스 수준 권한 출시

URL
날짜
2025/04/02
이 글은 AWS Storage Blog [https://aws.amazon.com/blogs/storage/]에 게시된 Enhancing resource-level permission for creating an Amazon EBS volume from a snapshot [https://aws.amazon.com/ko/blogs/storage/enhancing-resource-level-permission-for-creating-an-amazon-ebs-volume-from-a-snapshot/] by Emma Fu and Matt Luttrell를 한국어 번역 및 편집하였습니다. Amazon Elastic Block Store (Amazon EBS [https://aws.amazon.com/ko/ebs/]) 스냅샷은 애플리케이션 데이터 볼륨의 특정 시점 복사본을 생성하며, 이는 고객들이 새로운 볼륨을 생성할 때 기준점으로 활용할 수 있습니다. 이를 통해 다른 AWS 리전에서 애플리케이션 워크로드를 빠르게 시작하거나 데이터 보호 및 재해 복구 요구사항을 충족할 수 있습니다. AWS 워크로드를 여러 AWS 리전 [https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/]과 계정으로 이전할 때 보안과 규제 준수는 여전히 최우선 과제이며, 많은 사용자들이 세밀한 접근 제어를 위해 API 호출에 대한 리소스 수준 권한을 요청하고 있습니다. 이러한 요청을 반영하여 Amazon EBS는 CreateVolume [https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/APIReference/API_CreateVolume.html] 작업에 대한 향상된 리소스 수준 권한을 출시했습니다. 이제 사용자는 볼륨 생성 시 AWS Identity and Access Management (IAM) [https://aws.amazon.com/ko/iam/] 정책을 통해 소스 스냅샷에 대한 추가적인 리소스 수준 권한을 설정할 수 있습니다. 이를 통해 소스 스냅샷으로부터 EBS 볼륨을 생성할 수 있는 IAM 자격 증명을 더욱 세밀하게 제어하고, 스냅샷을 활용한 EBS 볼륨 생성 조건을 상세하게 정의할 수 있게 되었습니다. 이 게시글에서는 리소스 수준 권한의 주요 업데이트 사항과 실제 활용 사례를 살펴보고, 새로운 권한 모델 도입의 중요성에 대해 안내합니다. 또한, 기존 리소스 수준 권한 모델에서 새로운 모델로 전환하기 위한 구체적인 방안도 함께 제시합니다. 어떤 변경 사항이 있었나요? 소스 스냅샷에서 볼륨을 생성하거나 복원하려면 CreateVolume 작업 수행 권한이 포함된 IAM 정책이 필요합니다. 기존에는 IAM 정책의 CreateVolume 작업으로 생성되는 볼륨에 대한 권한만 필요했고, 소스 스냅샷은 CreateVolume 작업의 리소스 범위에 포함되지 않았습니다. 이번 업데이트를 통해 생성되는 볼륨과 소스 스냅샷 모두에 대해 리소스 수준 권한 적용이 가능해졌습니다. 소스 스냅샷에 대한 세부적인 권한 설정을 위해 Amazon Elastic Compute Cloud(Amazon EC2) [https://aws.amazon.com/ko/ec2/]에 제공되는 다음의 5가지 조건 키를 활용할 수 있습니다. 더불어 IAM 정책에서 소스 스냅샷에 대한 글로벌 조건 키 [https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_condition-keys.html]도 사용할 수 있습니다. * ec2:Encrypted * ec2:VolumeSize * ec2:Owner * ec2:ParentVolume * ec2:SnapshotTime 생성하려는 볼륨 리소스를 Amazon Resource Name (ARN [https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference-arns.html])을 사용하여 이미 지정해 놓은 경우, 스냅샷 리소스도 명시적으로 지정해야 합니다. 다음 예시를 확인하세요. 기존 정책: 기존에는 볼륨 리소스를 허용하는 정책이 필요했습니다. { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*" } 이번 업데이트 이후 필요한 정책: 이제 볼륨과 소스 스냅샷 리소스를 모두 허용하는 정책이 필요합니다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*" }, { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:snapshot/*" } ] } 소스 스냅샷을 위한 새로운 리소스 수준 권한의 주요 기능은 무엇인가요? 새로운 권한 모델로의 전환은 다음 두 가지 이점을 제공합니다. 1. 접근 제어의 세분화 소스 스냅샷에 대한 리소스 수준 권한을 통해 볼륨 생성에 사용할 수 있는 스냅샷을 더욱 세밀하게 제어할 수 있습니다. 조건을 지정하여 개별 스냅샷 또는 스냅샷 카테고리별로 권한을 설정할 수 있습니다. 예를 들어, 조직이나 특정 AWS 계정에서 민감한 데이터가 포함된 워크로드의 정기 백업으로 EBS 스냅샷을 생성한다고 가정해 보겠습니다. 이 새로운 권한 모델을 통해 승인된 소유자의 스냅샷으로만 볼륨을 생성하도록 제한할 수 있습니다. 정책 예시: 1. 내 조직에 속한 스냅샷으로만 볼륨 생성 허용 { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": [ "arn:aws:ec2:*:*:volume/*", "arn:aws:ec2:*::snapshot/snap-1234567890abcdef0" ], "Condition": { "StringEquals": { "aws:ResourceOrgId": "" } } } 2. 내 계정이 소유한 스냅샷으로만 볼륨 생성 허용 { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": [ "arn:aws:ec2:*:*:volume/*", "arn:aws:ec2:*::snapshot/snap-1234567890abcdef0" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "" } } } 3. 특정 태그가 지정된 스냅샷으로만 볼륨 생성 허용 { "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": [ "arn:aws:ec2:*::snapshot/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/classification": "not-sensitive", "aws:ResourceOrgId": "" } } }, { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*" } ] } 2. 리소스 및 비용 최적화 이러한 추가 권한은 보안 및 규정 준수 요구사항을 강화할 뿐만 아니라, 리소스 우선순위 지정과 비용 최적화를 위한 강력한 도구를 제공합니다. 스냅샷 생성 시점이나 암호화 상태와 같은 조건을 지정하여 볼륨 생성에 사용할 스냅샷의 우선순위를 제어할 수 있습니다. 예를 들어, 최신 스냅샷이나 암호화된 스냅샷에 우선순위를 부여할 수 있습니다. 이를 통해 보조 AWS 리전에서의 볼륨 복원과 같은 백업 전략을 효율화하면서 비즈니스 우선순위에 맞게 리소스 사용을 조정할 수 있습니다. 정책 예시: 1. 암호화된 스냅샷으로만 볼륨 생성 허용 { "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": [ "arn:aws:ec2:*::snapshot/*" ], "Condition": { "Bool": { "ec2:Encrypted": "true" } } }, { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*" } ] } 2. 2025년 1월 1일 00:00:00 (UTC) 이후에 생성된 스냅샷으로만 볼륨 생성 허용 { "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": [ "arn:aws:ec2:*::snapshot/*" ], "Condition": { "DateGreaterThan": { "ec2:SnapshotTime": "2025-01-01T00:00:00Z" } } }, { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*" } ] } 이번 업데이트, 어떻게 대비해야 할까요? 대부분의 AWS 사용자는 이번 업데이트의 영향을 받지 않습니다. AWS는 이번 업데이트로 인해 영향을 받을 수 있는 정책을 보유한 사용자들에게 이메일과 AWS Health Dashboard를 통해 개별 통지했습니다. 영향을 받는 계정들은 현재 허용 목록(allowlist)에 포함되어 있으며, 기존 정책은 2025년 2월 17일까지 유지됩니다. 2025년 2월 17일부터 AWS는 IAM 정책을 업데이트한 계정들부터 순차적으로 허용 목록에서 제외하기 시작하며, 2025년 5월 17일까지 모든 계정이 새로운 권한 모델로 전환을 완료해야 합니다. 2025년 5월 17일 이후에는 정책을 업데이트하지 않은 경우 CreateVolume API 호출이 거부될 수 있습니다. 주요 일정 * 2025년 2월 17일: AWS는 IAM 정책을 업데이트한 계정들부터 순차적으로 허용 목록에서 제외하기 시작합니다. * 2025년 5월 17일: 모든 계정이 새로운 권한 모델로 전환해야 하는 최종 기한입니다. 영향을 받는 정책 확인 및 업데이트 AWS CloudTrail [https://aws.amazon.com/ko/cloudtrail/] 로그를 검토하거나 IAM get-account-authorization-details CLI 명령어를 실행하여 모든 IAM 정책을 나열하고, CreateVolume과 같은 작업(Action)이 포함된 정책들을 검토하여 업데이트가 필요한 정책을 식별할 수 있습니다. 일반적으로 업데이트가 필요한 정책은 다음 두 가지 카테고리로 분류됩니다. 카테고리 1: 스냅샷 리소스에 대한 허용 권한(ALLOW STATEMENT)이 없는 경우 정책의 Resource 요소에 볼륨만 지정되어 있는 경우, 스냅샷도 함께 허용해야 합니다. 아래의 코드 예시를 참조하세요. { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*" } 업데이트된 코드 블록은 다음과 같습니다. { "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*" }, { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*::snapshot/snap-1234567890abcdef0" } ] } AWS 관리형 정책의 예시로는 AWSElasticDisasterRecoveryServiceRolePolicy [https://docs.aws.amazon.com/ko_kr/aws-managed-policy/latest/reference/AWSElasticDisasterRecoveryServiceRolePolicy.html]를 참조할 수 있습니다. 카테고리 2: RESOURCE 요소가 볼륨과 스냅샷을 모두 허용하지만, CONDITION이 볼륨에만 적용되는 경우 정책의 Resource 요소가 와일드카드(*)를 사용하여 볼륨과 스냅샷을 모두 허용하고 있지만, Condition 요소가 볼륨에만 적용되는 경우에는 Resource 요소를 볼륨으로 한정하도록 수정하고, 스냅샷에 대한 새로운 정책 설정(Statement)을 별도로 추가해야 합니다. 다음은 이번 업데이트 이후부터는 작동하지 않을 이전 정책의 예시입니다. { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/CSIVolumeName": "*" } } } 이전 정책을 업데이트하여 정상 작동하도록 하려면 다음과 같이 변경해야 합니다. { "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "StringLike": { "aws:RequestTag/CSIVolumeName": "*" } } }, { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*::snapshot/snap-1234567890abcdef0" } ] } AWS 관리형 정책의 예시로는 AmazonEBSCSIDriverPolicy [https://docs.aws.amazon.com/ko_kr/aws-managed-policy/latest/reference/AmazonEBSCSIDriverPolicy.html]를 참조할 수 있습니다. DRYRUN 모드를 사용한 업데이트 검증 IAM 정책이 올바르게 설정되었는지 확인하려면, DryRun 모드를 사용하여 정책 변경사항을 테스트할 수 있습니다. DryRun 모드를 사용하면 실제 API가 이전 권한 모델을 사용하도록 허용 목록(allowlist)에 포함되어 있더라도, 새로운 권한 모델에서의 권한 부여 결과를 미리 확인할 수 있습니다. DryRun을 사용하려면 AWS CLI 명령어나 Amazon EBS CreateVolume [https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/APIReference/API_CreateVolume.html] API 호출 시 -dry-run 파라미터를 지정하면 됩니다. DryRun을 사용한 CreateVolume API 호출은 항상 오류 응답 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html#:~:text=Required%3A%20No-,DryRun,-Checks%20whether%20you]을 반환합니다. DryRunOperation 오류가 발생하면 새로운 정책이 정상 작동한다는 의미이며, UnauthorizedOperation 오류가 발생하면 IAM 정책을 수정해야 합니다. DryRun 모드에 대한 자세한 내용은 CLI 문서 [https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-usage-help.html]를 참조하세요. 결론 이번 업데이트로 향상된 리소스 수준 권한은 보안, 제어 및 운영 유연성을 강화합니다. 현재 이전 권한 모델을 사용 중이고 계속 사용해야 하는 경우, AWS Support에 문의하여 사용 사례에 대한 검토를 요청할 수 있습니다. 2025년 2월 17일 이전에 새로운 권한 정책으로 전환할 준비가 되었다면, AWS Support에 허용 목록 제외를 요청할 수 있습니다. 이번 업데이트는 CopySnapshot과 같은 다른 작업에도 유사한 권한을 적용하기 위한 더 큰 계획의 일부입니다. 지원되는 조건 키에 대한 자세한 내용은 문서 [https://docs.aws.amazon.com/ko_kr/service-authorization/latest/reference/list_amazonec2.html]에서 확인할 수 있습니다. 이 게시물에 대한 피드백이 있으시다면 AWS Support에 문의해 주시기 바랍니다. Amazon EBS 볼륨과 스냅샷에 대해 더 자세히 알아보시려면 Amazon EBS 사용자 가이드 [https://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/what-is-ebs.html]를 참조하시기 바랍니다.