본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] CloudFormation - Stack Policy

728x90
반응형

AWS CloudFormation 스택 정책(Stack Policies) 이해하기

CloudFormation은 AWS에서 인프라를 코드로 관리하는 강력한 도구입니다. 스택 정책(Stack Policies)은 CloudFormation 스택 내 특정 리소스를 업데이트로부터 보호하고, 의도치 않은 변경을 방지하는 데 중요한 역할을 합니다. 이번 글에서는 스택 정책의 개념과 사용법에 대해 알아보겠습니다.


스택 업데이트의 기본 동작

CloudFormation 스택을 업데이트할 때 기본적으로 모든 리소스에 대해 작업이 허용됩니다. 즉, 스택의 모든 리소스를 자유롭게 수정할 수 있습니다. 그러나 중요한 리소스는 의도치 않은 업데이트로부터 보호해야 할 수 있습니다.

이를 위해 스택 정책을 사용하면 특정 리소스에 대한 업데이트 허용 여부를 세부적으로 정의할 수 있습니다.


스택 정책의 정의

스택 정책은 JSON 문서 형식으로 작성되며, 스택 내 특정 리소스에 대해 허용 또는 거부할 업데이트 작업을 명시합니다.

예를 들어 아래와 같은 정책이 있다고 가정합니다:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "Update:*",
      "Principal": "*",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": "Update:*",
      "Principal": "*",
      "Resource": "arn:aws:cloudformation:region:account-id:stack/stack-name/resource-id"
    }
  ]
}
  • Allow: 첫 번째 문장은 스택 내 모든 리소스(Resource: "*")에 대해 모든 업데이트 작업(Action: "Update:*")을 허용합니다.
  • Deny: 두 번째 문장은 특정 리소스(Resource: "arn:aws...", 예: Production Database)에 대해 모든 업데이트 작업을 거부합니다.

이 정책을 적용하면 스택 내의 일반 리소스는 수정이 가능하지만, 중요한 리소스(예: Production Database)는 보호됩니다.


스택 정책의 주요 기능

  1. 의도치 않은 업데이트 방지
    • 중요한 리소스는 잘못된 수정으로 인해 중단될 가능성을 방지해야 합니다. 스택 정책은 이러한 리소스를 보호합니다.
  2. 명시적 허용 필요
    • 스택 정책이 적용되면 기본적으로 모든 리소스가 보호됩니다. 업데이트가 필요한 리소스는 명시적으로 "Allow"를 추가해야 수정할 수 있습니다.

사용 사례

스택 정책은 다음과 같은 상황에서 유용합니다:

  • 프로덕션 환경 보호
    • 데이터베이스와 같이 핵심적인 리소스를 실수로 수정하는 것을 방지합니다.
  • 데브옵스 워크플로우 최적화
    • 특정 리소스는 개발자가 수정할 수 있도록 허용하고, 중요한 리소스는 보호합니다.
  • 규정 준수 및 보안 강화
    • 민감한 데이터와 관련된 리소스를 보호하여 보안 사고를 줄입니다.

결론

AWS CloudFormation의 스택 정책은 리소스를 보호하고, 스택 업데이트 시 신중한 관리가 가능하도록 돕는 강력한 도구입니다. 중요한 리소스를 안전하게 보호하려면 스택 정책을 설정하고 올바르게 사용하는 것이 필수적입니다.

728x90
반응형