Configurar um portão de conta de destino no StackSets
Um portão de conta é um recurso opcional que permite a você especificar uma função do AWS Lambda para verificar se uma conta de destino atende a determinados requisitos antes que o AWS CloudFormation StackSets comece a executar operações de pilha nessa conta. Um exemplo comum de um portão de conta é a verificação de que não há alarmes do CloudWatch ativos ou não resolvidos na contas de destino. O StackSets chama a função todas as vezes que você inicia as operações de pilha na conta de destino e só continuará se a função retornar um código SUCCEEDED
. Se a função do Lambda retornar o status FAILED
, o StackSets não continuará a operação solicitada. Se você não tiver uma função do Lambda com um portão de conta configurado, o StackSets ignorará a verificação e continuará com a operação.
Se a sua conta de destino falhar em uma verificação de portão de conta, a operação com falha entrará na contabilização do número ou porcentagem especificado de falhas toleradas em pilhas. Para obter mais informações sobre tolerância a falhas, consulte Opções de operação do conjunto de pilhas.
O portão de conta está disponível somente para operações do StackSets. Essa funcionalidade não está disponível para outras operações do AWS CloudFormation que estejam fora do StackSets.
Requisitos de configuração
A lista a seguir descreve os requisitos de configuração para o portão de conta.
-
Para trabalhar com a funcionalidade de isolamento de conta do StackSets, a função do Lambda deve se chamar AWSCloudFormationStackSetAccountGate.
-
A AWSCloudFormationStackSetExecutionRole precisa de permissões para chamar sua função do Lambda. Sem essas permissões, o StackSets ignora a verificação do portão de conta e continua com as operações de pilha.
-
A permissão
InvokeFunction
do Lambda deve ser adicionada às contas de destino para que o portão de conta funcione. A política de confiança da conta de destino deve ter uma relação de confiança com a conta do administrador. Veja a seguir um exemplo de instrução de política que concede as permissões deInvokeFunction
do Lambda.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "*" } ] }
Exemplo de funções de portão de conta do Lambda
Os seguintes exemplos de modelos do AWS CloudFormation estão disponíveis para você criar funções AWSCloudFormationStackSetAccountGate do Lambda. Para obter mais informações sobre como criar uma nova pilha usando um desses modelos, consulte Criar uma pilha no console do CloudFormation.
Local do modelo |
Descrição |
---|---|
https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded.yml |
Cria uma pilha que implementa uma função Lambda de portão de conta que retornará o status |
https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed.yml |
Cria uma pilha que implementa uma função Lambda de portão de conta que retornará o status |