BLOG

Amazon EBS 스냅샷 생성 태그를 작성하고 강력한 보안 정책 구현하기
작성일: 2018-04-19

 

AWS 고객은 태그를 사용하여 리소스 소유권을 추적하고, 규정준수 프로토콜을 구현하여 IAM 정책을 통해 리소스에 대한 액세스를 제어하고, 원가 회계 프로세스를 추진합니다. 작년 우리는, Amazon EC2 인스턴스 및 Amazon EBS 볼륨에 태그를 추가하는 작업을 통해 이러한 리소스에 태그를 지정할 수 있는 기능을 추가했습니다. 이제 이 기능을 EBS 스냅샷으로 확장했습니다.

 

이전에는 리소스가 생성 된 후에만 EBS 스냅샷에 태그를 지정할 수 있었으며 태그 지정이 실패한 경우 EBS 스냅샷이 태그가 없는 상태로 끝나는 경우가 있었습니다. 또한 사용자 및 그룹이 특정 스냅샷에 대해 취할 수 있는 작업을 제어하거나 보다 더 엄격한 보안 정책을 시행 할 수 없었습니다.

 

이러한 문제를 해결하기 위해 EBS 스냅샷에 대한 태그 지정을 보다 유연하게 하고 두 가지 새로운 기능을 추가하여 고객들이 EBS 스냅샷을 보다 효과적으로 제어 할 수 있게 했습니다.

 

  • EBS 스냅샷 생성시 태그작성 – EBS 스냅샷을 생성 할 때 리소스를 생성하는 API 호출의 일부로 EBS 스냅샷에 대한 태그를 지정하거나 Amazon EC2 콘솔을 통해 태그를 지정할 수 있습니다.
  • Resource-level 사용 권한 및 강제 태그 사용 – CreateSnapshot, DeleteSnapshotModifySnapshotAttrribute API 작업은 이제 IAM resource-level 사용 권한을 지원합니다. 이제 EBS 스냅샷에서 작업을 수행 할 때 특정 태그의 사용을 요구하는 IAM 정책을 작성할 수 있습니다.

 

생성시 태그 달기

 

이제 리소스를 만드는 API 호출의 일부로 EBS 스냅샷에 대한 태그를 지정할 수 있습니다. 자원 생성 및 태깅은 원자적으로 수행됩니다-CreateSnapshot 작업이 성공하려면 이 두 가지 모두 성공해야 합니다. 더 이상 EBS 스냅샷을 만든 후에 실행할 태그 지정 스크립트를 작성할 필요가 없습니다.

 

다음은 콘솔을 사용하여 EBS 스냅샷을 생성 할 때 태그를 지정하는 방법입니다.

 

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
  2. 탐색 창에서 Snapshots, Create Snapshot을 선택합니다.
  3. Create Snapshot 페이지에서 스냅샷을 만들 볼륨을 선택합니다.
  4. (선택 사항) Add tags to your snapshot을 선택합니다. 각 태그에 대해 태그 키와 태그 값을 제공합니다
  5. Create Snapshot을 선택합니다.

 

 

AWS CLI를 사용하여,

 

aws ec2 create-snapshot –volume-id vol-0c0e757e277111f3c –description ‘Prod_Backup’ –tag-specifications

‘ResourceType=snapshot,Tags=[{Key=costcenter,Value=115},{Key=IsProd,Value=Yes}]’

 

더 알고 싶다면, Using Tags를 확인 하세요.

 

 

Resource-level 사용 권한 강제 태그 사용하기

 

CreateSnapshot, DeleteSnapshotModifySnapshotAttribute는 resource-level 권한을 지원하므로 EBS 스냅샷을 보다 잘 제어 할 수 있습니다. 리소스에 대한 액세스를 정밀하게 제어 할 수 있는 IAM 정책을 작성하고 주어진 볼륨 세트에 대해 스냅샷을 만들 수 있는 사용자를 지정할 수 있습니다. 또한 특정 태그를 사용하여 리소스를 추적하고 보다 정확한 비용 할당 보고를 수행하도록 할 수 있습니다. 예를 들어서, 다음은 costcenter 태그(값 “115”)가 스냅샷이 생성되는 볼륨에 있어야 한다는 명령입니다. 이 태그는 새로 생성 된 모든 스냅샷에 적용되어야 합니다. 또한 생성 된 스냅샷에는 고객의 User:username이라는 태그가 지정되어야 합니다.

 

{

   “Version”:”2012-10-17″,

   “Statement”:[

      {

         “Effect”:”Allow”,

         “Action”:”ec2:CreateSnapshot”,

         “Resource”:”arn:aws:ec2:us-east-1:123456789012:volume/*”,

           “Condition”: {

               “StringEquals”:{

               “ec2:ResourceTag/costcenter”:”115″

}

 }

       

      },

      {

         “Sid”:”AllowCreateTaggedSnapshots”,

         “Effect”:”Allow”,

         “Action”:”ec2:CreateSnapshot”,

         “Resource”:”arn:aws:ec2:us-east-1::snapshot/*”,

         “Condition”:{

            “StringEquals”:{

               “aws:RequestTag/costcenter”:”115″,

                  “aws:RequestTag/User”:”${aws:username}”

            },

            “ForAllValues:StringEquals”:{

               “aws:TagKeys”:[

                  “costcenter”,

                       “User”

               ]

            }

         }

      },

      {

         “Effect”:”Allow”,

         “Action”:”ec2:CreateTags”,

         “Resource”:”arn:aws:ec2:us-east-1::snapshot/*”,

         “Condition”:{

            “StringEquals”:{

               “ec2:CreateAction”:”CreateSnapshot”

            }

         }

      }

   ]

}

 

보다 강력한 컴플라이언스 및 보안 정책을 구현하기 위해, 리소스에 사용자 이름 태그가 지정되지 않은 경우라면, DeleteSnapshot에 대한 액세스를 제한 할 수도 있습니다. 다음은 스냅샷에 사용자의 User:username 태그가 지정된 경우에만 스냅샷 삭제를 허용하는 명령입니다.

 

{

   “Version”:”2012-10-17″,

   “Statement”:[

      {

         “Effect”:”Allow”,

         “Action”:”ec2:DeleteSnapshot”,

         “Resource”:”arn:aws:ec2:us-east-1::snapshot/*”,

         “Condition”:{

            “StringEquals”:{

               “ec2:ResourceTag/User”:”${aws:username}”

            }

         }

      }

   ]

}

 

더 많은 자료 및 몇 가지 샘플 정책을 보려면 IAM Policies for Amazon EC2Working with Snapshots을 참조하십시오.

 

 

지금 이용 가능합니다.

 

이 새로운 기능은 현재 모든 AWS리전에서 사용할 수 있습니다. Amazon EC2 ConsoleAWS Command Line Interface (CLI) 및 AWS API에서 바로 사용할 수 있습니다.

 

 

원문 URL: https://aws.amazon.com/ko/blogs/compute/tag-amazon-ebs-snapshots-on-creation-and-implement-stronger-security-policies/

** 메가존 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.