설명
ROS 스택 정책은 스택 업데이트 중 허용할 리소스 작업을 제어합니다. 정책이 없으면 업데이트 권한을 가진 사용자의 작업으로 중요한 리소스가 의도치 않게 변경되거나 삭제될 수 있습니다.
잠재적 영향
- 잘못된 업데이트가 중요 리소스를 변경하거나 삭제할 수 있습니다.
- 서비스 복원과 데이터 복구에 추가 작업이 필요할 수 있습니다.
해결 방법
stack_policy_body 또는 stack_policy_url로 필요한 기본 보호 정책을 설정하세요. 특정 업데이트에 정책을 임시로 덮어써야 할 때만 승인된 stack_policy_during_update 설정을 사용하세요. 스택 정책과 별도로 RAM 권한과 삭제·백업 절차도 관리하세요.
예시
템플릿은 형식 버전만 보인 발췌이며 실제 리소스 정의는 생략했습니다. 변경 후 정책은 업데이트 중 리소스 삭제를 허용하지 않고 다른 업데이트 작업을 허용합니다.
변경 전
hcl
resource "alicloud_ros_stack" "stack" {
stack_name = "tf-testaccstack"
template_body = <<EOF
{
"ROSTemplateFormatVersion": "2015-09-01"
}
EOF
}
변경 후
hcl
resource "alicloud_ros_stack" "stack" {
stack_name = "tf-testaccstack"
template_body = <<EOF
{
"ROSTemplateFormatVersion": "2015-09-01"
}
EOF
stack_policy_body = <<EOF
{
"Statement": [{
"NotAction": "Update:Delete",
"Resource": "*",
"Effect": "Allow",
"Principal": "*"
}]
}
EOF
}
NotAction: Update:Delete인 Allow 문은 Update:Delete를 허용 범위에서 제외합니다. 임시 업데이트 정책은 필수 설정이 아니며, 기본 정책을 우회하지 않도록 필요한 작업에만 사용하세요.