Configure alertas para encerramentos programáticos de contas no AWS Organizations
Richard Milner-Watts, Debojit Bhadra e Manav Yadav, Amazon Web Services
Resumo
A API CloseAccount para AWS Organizations
Essas APIs potencialmente aumentam o número de operadores que podem fechar ou remover uma conta da AWS. Todos os usuários que têm acesso à organização por meio do AWS Identity and Access Management (IAM) na conta de gerenciamento do AWS Organizations podem chamar essas APIs, portanto, o acesso não se limita ao proprietário do e-mail raiz da conta com qualquer dispositivo de autenticação multifator (MFA) associado.
Esse padrão implementa alertas quando as APIs CloseAccount e RemoveAccountFromOrganization são chamadas, para que você possa monitorar essas atividades. Para alertas, ele usa um tópico do Amazon Simple Notification Service
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
Uma organização no AWS Organizations
Acesso à conta de gerenciamento da organização, sob a raiz da organização, para criar os recursos necessários
Limitações
Conforme descrito na referência da API do AWS Organizations, a API
CloseAccountpermite que apenas 10% das contas ativas dos membros sejam fechadas em um período contínuo de 30 dias.Quando uma conta da AWS é fechada, seu status é alterado para SUSPENSO. Por 90 dias após essa transição de status, o AWS Support pode reabrir a conta. A conta é excluída permanentemente após 90 dias.
Os usuários que têm acesso à conta de gerenciamento e às APIs do AWS Organizations também podem ter permissões para desativar esses alertas. Se a principal preocupação for comportamento malicioso em vez de exclusão acidental, considere proteger os recursos criados por esse padrão com um limite de permissões do IAM.
A API chama por
CloseAccounteRemoveAccountFromOrganizationé processado na região Leste dos EUA (Norte da Virgínia) (us-east-1). Portanto, você deve implantar essa solução emus-east-1para observar os eventos.
Arquitetura
Pilha de tecnologias de destino
AWS Organizations
AWS CloudTrail
Amazon EventBridge
AWS Lambda
Amazon SNS
Arquitetura de destino
O diagrama a seguir mostra a arquitetura da solução desse padrão.

O AWS Organizations processa uma solicitação
CloseAccountouRemoveAccountFromOrganization.O Amazon EventBridge é integrado ao AWS CloudTrail para entregar esses eventos ao barramento de eventos padrão.
Uma regra personalizada do Amazon EventBridge corresponde às solicitações do AWS Organizations e chama uma função do Lambda da AWS.
A função do Lambda entrega uma mensagem para um tópico do SNS, na qual os usuários podem se inscrever para receber alertas por e-mail ou processamento adicional.
Se as notificações do Slack estiverem ativadas, a função do Lambda enviará uma mensagem para um webhook do Slack.
Ferramentas
Serviços da AWS
O AWS CloudFormation fornece uma forma de modelar uma coleção de recursos relacionados da AWS e de terceiros, provisioná-los de forma rápida e consistente e gerenciá-los em todo o ciclo de vida, tratando a infraestrutura como código.
O Amazon EventBridge é uma tecnologia sem servidor de barramento de eventos que você pode usar para facilitar a conexão de aplicações a dados de diversas origens. O EventBridge recebe um evento, um indicador de uma mudança no ambiente, e aplica uma regra para encaminhar o evento a um destino. As regras fazem a correspondência entre os eventos e os destinos com base na estrutura do evento, chamada padrão do evento ou em um schedule.
O AWS Lambda é um serviço de computação que permite a execução do código sem provisionar ou gerenciar servidores O Lambda executa o código somente quando necessário e dimensiona automaticamente, desde algumas solicitações por dia a milhares por segundo. Você paga apenas pelo tempo de computação consumido. Não haverá cobranças quando seu código não estiver em execução.
O AWS Organizations ajuda a gerenciar e governar centralmente seu ambiente à medida que você expande e escala seus recursos da AWS da. Usando o AWS Organizations, você pode criar programaticamente novas contas da AWS e alocar recursos, agrupar contas para organizar seus fluxos de trabalho, aplicar políticas a contas ou grupos para fins de governança e simplificar o faturamento usando um único método de pagamento para todas as suas contas.
O AWS CloudTrail monitora e registra a atividade da conta em toda a sua infraestrutura da AWS e oferece controle sobre ações de armazenamento, análise e remediação.
O Amazon Simple Notification Service (Amazon SNS) é um serviço de mensagens totalmente gerenciado para comunicação entre aplicações (A2A) e de aplicação para pessoa (A2P).
Outras ferramentas
A biblioteca AWS Lambda Powertools for Python
é um conjunto de utilitários que fornece recursos de rastreamento, registro em log, métricas e tratamento de eventos para funções do Lambda.
código
O código desse padrão está localizado no repositório GitHub AWS Account Closer Notifier
A solução inclui um modelo do CloudFormation que implanta a arquitetura desse padrão. Ele usa a biblioteca AWS Lambda Powertools for Python
Épicos
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Inicie o modelo do CloudFormation para a pilha de soluções. | O modelo do CloudFormation para esse padrão está na ramificação principal do repositório do GitHub Para iniciar o modelo:
Para obter mais informações sobre como iniciar uma linha do CloudFormation, consulte a documentação da AWS. | Administrador da AWS |
Verifique se a solução foi iniciada com sucesso. |
| Administrador da AWS |
Inscreva-se no tópico do SNS. | (Opcional) Se você quiser se inscrever no tópico do SNS:
Para obter mais informações sobre como configurar as notificações do SNS, consulte a documentação do Amazon SNS. | Administrador da AWS |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Envie um evento de teste ao barramento de eventos padrão. | O repositório do GitHub notaNão é possível usar a origem de eventos do CloudTrail para enviar este evento, pois não é permitido enviar um evento em nome de um serviço da AWS. Para enviar um evento de teste:
| Administrador da AWS |
Verifique se a notificação por e-mail foi recebida. | Verifique se há notificações na caixa de correio que se inscreveu no tópico do SNS. Você deve receber um e-mail com detalhes da conta que foi fechada e da entidade principal que realizou a chamada de API. | Administrador da AWS |
Verifique se a notificação do Slack foi recebida. | (Opcional) Se você especificou uma URL de webhook para o parâmetro | Administrador da AWS |
Recursos relacionados
Ação CloseAccount (referência da API do AWS Organizations)
Ação RemoveAccountFromOrganization (referência da API do AWS Organizations)