Proteger uma pilha contra exclusão - AWS CloudFormation

Proteger uma pilha contra exclusão

É possível impedir que uma pilha seja excluída acidentalmente ativando a proteção contra encerramento na pilha. Se um usuário tentar excluir uma pilha com proteção contra encerramento ativada, a exclusão falhará e a pilha, incluindo o status dela, permanecerá inalterada. Você pode ativar a proteção de encerramento em uma pilha ao criá-la. A proteção contra encerramento em pilhas está desativada por padrão. Você pode definir a proteção contra encerramento em uma pilha com qualquer status, exceto DELETE_IN_PROGRESS ou DELETE_COMPLETE.

Quando a proteção contra terminação é habilitada ou desabilitada em uma pilha, a mesma opção se estende a todas as pilhas aninhadas pertencentes a ela. Você não pode ativar ou desativar a proteção contra encerramento diretamente em uma pilha aninhada. Se um usuário tentar excluir diretamente uma pilha aninhada pertencente a uma pilha que tem a proteção contra encerramento ativada, a operação falhará e a pilha aninhada permanecerá inalterada.

No entanto, se um usuário executar uma atualização da pilha que exclua a pilha aninhada, o AWS CloudFormation excluirá a pilha aninhada apropriadamente.

A proteção contra terminação é diferente da desativação de reversão. A proteção contra encerramento se aplica apenas a tentativas de excluir pilhas, enquanto a desativação de reversão se aplica à reversão automática quando a criação da pilha falha.

Para ativar a proteção contra encerramento ao criar uma pilha
Habilitar ou desabilitar a proteção contra encerramento em uma pilha existente
  1. Faça login no AWS Management Console e abra o console da CloudFormation em https://console.aws.amazon.com/cloudformation/.

  2. Selecione a pilha que você quiser.

    nota

    Se NESTED for exibido ao lado do nome da pilha, a pilha é aninhada. Só é possível alterar a proteção contra encerramento na pilha raiz à qual a pilha aninhada pertence.

  3. No painel de detalhes da pilha, selecione Stack actions (Ações da pilha) e Edit termination protection (Editar a proteção contra encerramento).

    O CloudFormation exibe a caixa de diálogo Editar a proteção contra encerramento.

  4. Escolha Enable (Habilitar) ou Disable (Desabilitar) e selecione Save (Salvar).

Habilitar ou desabilitar a proteção contra encerramento em uma pilha aninhada

Se NESTED for exibido ao lado do nome da pilha, a pilha é aninhada. Só é possível alterar a proteção contra encerramento na pilha raiz à qual a pilha aninhada pertence. Para alterar a proteção contra encerramento na pilha raiz:

  1. Faça login no AWS Management Console e abra o console da CloudFormation em https://console.aws.amazon.com/cloudformation/.

  2. Selecione a pilha aninhada que você quiser.

  3. No painel Stack info (Informações da pilha), na seção Overview (Visão geral), selecione o nome da pilha listada como Root stack (Pilha raiz).

    O CloudFormation exibe os detalhes da pilha raiz.

  4. Escolha Stack actions (Ações da pilha) e selecione Edit Termination Protection (Editar a proteção contra encerramento).

    O CloudFormation exibe a caixa de diálogo Editar a proteção contra encerramento.

  5. Escolha Enable (Habilitar) ou Disable (Desabilitar) e selecione Save (Salvar).

Para habilitar ou desabilitar a proteção contra encerramento usando a linha de comando

Controlar quem pode alterar a proteção contra encerramento em pilhas

Para habilitar ou desabilitar a proteção contra encerramento em pilhas, um usuário requer permissão para a ação cloudformation:UpdateTerminationProtection. Por exemplo, a política a seguir permite que os usuários ativem ou desativem a proteção contra encerramento em pilhas.

Para obter mais informações sobre como especificar permissões no AWS CloudFormation, consulte Controlar o acesso com o AWS Identity and Access Management.

exemplo Um exemplo da política que concede permissões para alterar a proteção contra encerramento de pilha
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "cloudformation:UpdateTerminationProtection" ], "Resource":"*" }] }