본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] CloudFormation Guard

728x90
반응형

CloudFormation Guard (cfn-guard) 소개

CloudFormation Guard (cfn-guard)는 CloudFormation 템플릿조직의 정책 지침에 맞게 검증하는 명령줄 인터페이스(CLI) 도구입니다. 이 도구를 사용하면 CloudFormation 템플릿이 조직의 보안 및 관리 규칙을 준수하는지 확인할 수 있습니다.

CloudFormation Guard의 사용 사례

예를 들어, CloudFormation을 통해 생성되는 모든 S3 버킷암호화되어야 한다는 규칙을 설정할 수 있습니다. 이러한 규칙을 CloudFormation Guard를 사용해 검증하여, 정책에 맞지 않는 리소스가 생성되지 않도록 할 수 있습니다.

CloudFormation Guard 규칙 작성

CloudFormation Guard는 **도메인 특화 언어(DSL)**를 사용하여 규칙을 정의합니다. 이를 통해 템플릿 파일에 대한 정책을 설정하고 이를 검증할 수 있습니다.

예시 규칙

S3Bucket:
  ServiceSideEncryptionConfiguration: AES256

 

이 규칙은 S3 버킷의 ServiceSideEncryptionConfiguration 속성이 AES256으로 설정되어야 한다고 정의합니다. 만약 이 조건이 충족되지 않으면, 템플릿이 유효하지 않다고 판단됩니다.

CloudFormation Guard 사용 절차

  1. 규칙 파일 생성
    rules.guard 파일을 작성하여 정책을 정의합니다.
  2. 템플릿 파일 준비
    template.yaml 파일을 준비합니다. 이 파일은 실제 리소스를 정의한 CloudFormation 템플릿입니다.
  3. CLI 도구 실행
    cfn-guard CLI를 실행하여 템플릿 파일을 규칙 파일에 정의된 정책에 따라 검증합니다. 예를 들어, cfn-guard validate template.yaml rules.guard 명령어를 사용합니다.
  4. 검증 결과 확인
    검증에 통과하면 템플릿이 정책에 맞게 작성된 것입니다. 만약 실패하면, CI/CD 파이프라인 등을 통해 자동으로 수정할 수 있습니다.

cfn-guard의 특징

  • 문법 검증이 아님: cfn-guard는 템플릿의 문법을 확인하는 도구가 아닙니다. 문법 검증은 CloudFormation 자체에서 처리합니다.
  • 정책 준수 검증: cfn-guard는 CloudFormation 템플릿이 조직에서 정의한 규칙을 준수하는지 확인합니다.

예시: S3 버킷 암호화 검증

CloudFormation 템플릿을 사용해 S3 버킷을 생성할 때, 암호화가 설정되어 있지 않으면 정책 위반으로 간주합니다. 이를 CloudFormation Guard를 사용해 사전에 검증할 수 있습니다.

S3Bucket:
  ServiceSideEncryptionConfiguration: AES256

 

이 규칙을 사용하여 S3 버킷이 암호화되어 있는지 검사할 수 있습니다.

결론

CloudFormation Guard는 CloudFormation 템플릿이 조직의 정책을 준수하는지 검증할 수 있는 유용한 도구입니다. 특히 보안, 규정 준수 및 표준화된 리소스 배포를 보장하는 데 큰 도움이 됩니다. 템플릿을 자동으로 검증하여 문제가 발생하기 전에 이를 수정할 수 있게 해줍니다.

유익한 정보를 제공한 이번 강의를 마칩니다. CloudFormation Guard를 통해 템플릿의 정책 준수 여부를 쉽게 검증하고, 효율적으로 리소스를 관리하세요.

728x90
반응형