Por Wesley Soares
No dia 30 de Março de 2022 a AWS divulgou uma nova funcionalidade no serviço AWS Organizations, em que o fechamento de contas membros poderá ser automatizado via Console, CLI e SDK, bem como a possibilidade de agendar essa ação. No passado, esse procedimento só era possível acessando com o root account.
Esse assunto foi abordado na Live Darede #301 – Novidades AWS: Segurança no minuto 42:31.
É possível ver essa novidade através deste link.
Vamos ao que interessa. Como tirar proveito dessa novidade?
No título desse artigo, deixamos a palavra segura entre aspas, pois ao mesmo tempo que nos proporciona praticidade, carrega consigo um risco muito grande. Uma simples pessoa com permissões administrativas, poderá excluir uma conta e encerar um negócio completo, independentemente se logado com IAM user ou IAM role.
Como tornar esse processo seguro?
Para te ajudar a tirar proveito desse novo recurso, com foco na segurança da sua conta, testamos essa novidade e com um procedimento simples via Console, entendemos como podemos proteger nossas contas AWS de ações acidentais.
Para evitar que uma pessoa acesse a conta via IAM User ou IAM Role e consiga deletar uma conta membro, vamos trabalhar com algo muito comum na AWS, que são as TAGs. Iremos usar dois serviços, o Organizations e o IAM.
AWS Organization
Dentro do AWS Organization, sempre que você for criar uma conta, associe uma TAG, seguindo o padrão abaixo:
Obs.: Esse procedimento de associar TAG, poderá ser feito de forma automática pelo AWS Config e não necessariamente você deverá seguir a mesma nomenclatura usada no Print Screen, mas se você mudar o nome, deverá atualizá-lo no arquivo JSON que veremos a seguir.
AWS IAM
Dentro do AWS IAM, iremos criar uma policy em JSON para amarrar algumas regras.
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “PreventCloseAccountForTaggedAccts”,
“Effect”: “Deny”,
“Action”: [
“organizations:CloseAccount”,
“organizations:UntagResource”
],
“Resource”: “*”,
“Condition”: {
“StringEquals”: {
“aws:ResourceTag/AccountType”: “Critical”
}
}
}
]
}
Essa política bloqueia ações como:
o Não permite que nenhuma TAG seja removida das contas membro no AWS Organizations
o Não permite que nenhuma conta membro seja excluída.
Vale ressaltar que, a política considera que apenas contas com a TAG (Key: AccountType
Value = Critical) fora desse padrão, é necessário reajustar o JSON.
Realizada a criação do JSON, salve e associe a policy criada em todas os users ou roles que possuem acesso na sua Master Account.
Vamos aos testes?
Após colocarmos as TAGs nas contas, criar a Policy e associar nos users ou roles, vamos aos testes.
1- Para entrar na conta que precisa editar, abra o AWS Organization e clique sobre a conta
2- Clique em Close ou se tiver em PT-BR Fechar
Observe que dentro das opções da conta, temos TAG associada.
3- Erro ao tentar fechar
4- Vamos tentar remover a TAG. Ainda dentro das opções da conta, clique em Manage Tags ou se tiver em PR-BR Gerenciar Tags
Clique em Remove ou se tiver em PT-BR Remover
Clique em Save Changes ou se tiver em PT-BR Salvar Alterações
Wesley Soares
Quality Analyst IT
wesley.soares@darede.com.br
Com quase 10 anos atuando na tecnologia da Informação, Wesley Soares é Analista de Qualidade na Darede. Ele é formado em Redes de Computadores pela Faculdade Impacta e possui duas certificações AWS, sendo a última Solutions Architect Associate.