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)는 보호됩니다.
스택 정책의 주요 기능
- 의도치 않은 업데이트 방지
- 중요한 리소스는 잘못된 수정으로 인해 중단될 가능성을 방지해야 합니다. 스택 정책은 이러한 리소스를 보호합니다.
- 명시적 허용 필요
- 스택 정책이 적용되면 기본적으로 모든 리소스가 보호됩니다. 업데이트가 필요한 리소스는 명시적으로 "Allow"를 추가해야 수정할 수 있습니다.
사용 사례
스택 정책은 다음과 같은 상황에서 유용합니다:
- 프로덕션 환경 보호
- 데이터베이스와 같이 핵심적인 리소스를 실수로 수정하는 것을 방지합니다.
- 데브옵스 워크플로우 최적화
- 특정 리소스는 개발자가 수정할 수 있도록 허용하고, 중요한 리소스는 보호합니다.
- 규정 준수 및 보안 강화
- 민감한 데이터와 관련된 리소스를 보호하여 보안 사고를 줄입니다.
결론
AWS CloudFormation의 스택 정책은 리소스를 보호하고, 스택 업데이트 시 신중한 관리가 가능하도록 돕는 강력한 도구입니다. 중요한 리소스를 안전하게 보호하려면 스택 정책을 설정하고 올바르게 사용하는 것이 필수적입니다.
728x90
반응형
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] CloudFormation - Termination Protection (0) | 2024.12.25 |
---|---|
[AWS SCS] CloudFormation - Dynamic References (0) | 2024.12.25 |
[AWS SCS] CloudFormation - Service Role (0) | 2024.12.25 |
[AWS SCS] CloudFormation (0) | 2024.12.25 |
[AWS SCS] AWS Audit Manager (0) | 2024.12.25 |