清除 Cloudformation 中的堆栈策略?

Clear stack policy in Cloudformation?

在 CloudFormation 中创建堆栈后,我设置了禁止更新堆栈的策略。后来,我决定还是要继续换环境,我要清除设定的策略。

我用 aws cli 设置了 StackPolicy,所以再次查看了 aws cloudformation help 命令。 Grepped stack-policy,我发现的只是 set-stack-policyget-stack-policy.

我还尝试使用 aws cloudformation set-stack-policy --stack-name $STACK_NAME --stack-policy-body '{"Statement": []}' 设置空策略,结果是:

An error occurred (ValidationError) when calling the SetStackPolicy operation: Error validating stack policy: Invalid stack policy

问题

根据Amazon's own documentation,您不能从堆栈中删除(清除)堆栈策略。他们懒得解释 为什么 ,但他们确实提出了一个解决方法:


You can't delete a stack policy. To remove all protection from all resources, you modify the policy to explicitly allow all actions on all resources. The following policy allows all updates on all resources:

.

{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }  
  ]
}

这基本上等同于根本没有附加堆栈策略。