Post

Primeiros Passos: Protegendo sua conta root e criando usuário admin na AWS

Fala galera! Seis tão baum?

Se você acabou de criar sua conta na AWS, PARA TUDO e leia este artigo antes de sair criando recursos. Sério mesmo! A configuração de segurança inicial é o passo mais importante e muita gente pula essa parte, criando um rombo de segurança logo de cara.

Quando você cria uma conta AWS, ela vem com um usuário super poderoso chamado conta root. Esse usuário tem acesso TOTAL e IRRESTRITO a tudo na sua conta. É tipo ter a chave mestra do reino. Por isso, nunca use a conta root para tarefas do dia a dia.

Neste artigo vamos ver:

  • Por que a conta root é perigosa para uso diário
  • Como proteger a conta root com MFA
  • Como criar um usuário administrativo seguro
  • Como configurar o AWS CLI
  • Checklist de segurança inicial completo

Por que não usar a conta root?

A conta root da AWS tem poderes que nem mesmo policies do IAM conseguem restringir. Ela pode:

  • Fechar sua conta AWS
  • Alterar o plano de suporte
  • Modificar configurações de billing
  • Restaurar permissões de usuários IAM
  • Alterar configurações de segurança críticas

Se alguém conseguir acesso à sua conta root, você perde TUDO. Por isso:

  • Use a root apenas para tarefas específicas (raramente necessárias)
  • Proteja-a com MFA
  • Nunca crie access keys para a root
  • Nunca compartilhe as credenciais

Lista de tarefas que requerem conta root

Existem apenas algumas tarefas que exigem o uso da conta root. Para tudo mais, use usuários IAM:

  • Alterar configurações da conta (nome, email, senha root)
  • Fechar a conta AWS
  • Alterar ou cancelar o plano de suporte AWS
  • Registrar-se como vendedor no Reserved Instance Marketplace
  • Configurar um bucket do Amazon S3 para ativar MFA Delete
  • Editar ou excluir uma política de bucket do Amazon S3 que inclui uma VPC ID ou um endpoint da VPC inválido
  • Restaurar permissões de usuário IAM (quando um usuário acidentalmente revoga suas próprias permissões)
  • Criar CloudFront key pairs
  • Habilitar MFA para conta root (primeira vez)

Para consultar a lista completa e atualizada, acesse a documentação oficial da AWS.

Passo 1: Protegendo a conta root

Ativando MFA na conta root (Console)

O MFA (Multi-Factor Authentication) adiciona uma segunda camada de proteção. Mesmo que alguém descubra sua senha, não conseguirá acessar sem o segundo fator.

Passo a passo:

  1. Faça login na AWS Console com sua conta root
  2. Clique no seu nome de usuário no canto superior direito
  3. Selecione Security credentials
  4. Na seção Multi-factor authentication (MFA), clique em Assign MFA device
  5. Escolha o tipo de dispositivo MFA:
    • Virtual MFA device: Aplicativo no celular (recomendado para a maioria)
    • Hardware TOTP token: Dispositivo físico como YubiKey
    • Hardware MFA device: Outros dispositivos de hardware
  6. Para MFA virtual, clique em Show QR code
  7. Abra seu app autenticador (Google Authenticator, Microsoft Authenticator, ou Authy)
  8. Escaneie o QR code
  9. Digite dois códigos consecutivos gerados pelo app
  10. Clique em Add MFA

Pronto! Agora sua conta root está protegida com MFA.

Removendo Access Keys da conta root

Se por algum motivo você criou access keys para a conta root, delete imediatamente:

  1. No console, acesse Security credentials
  2. Role até a seção Access keys
  3. Se houver alguma access key listada, clique em ActionsDelete
  4. Confirme a exclusão

Importante: A conta root nunca deve ter access keys. Use usuários IAM para acesso programático.

Configurando email de segurança alternativo

Configure um email alternativo para recuperação de conta:

  1. Acesse Account Settings no console
  2. Em Alternate Contacts, clique em Edit
  3. Adicione email para Security
  4. Salve as alterações

Passo 2: Criando usuário administrativo

Agora vamos criar um usuário com permissões administrativas para usar no dia a dia.

Criando usuário admin (Console)

  1. No console AWS, acesse IAM (console.aws.amazon.com/iam)
  2. No menu lateral, clique em UsersCreate user
  3. Defina o nome do usuário (ex: admin-asilva)
  4. Marque a opção Provide user access to the AWS Management Console
  5. Escolha I want to create an IAM user
  6. Defina uma senha forte ou use Autogenerated password
  7. Desmarque a opção “Users must create a new password at next sign-in” (se preferir)
  8. Clique em Next
  9. Selecione Attach policies directly
  10. Busque e selecione a policy AdministratorAccess
  11. Clique em Next
  12. Revise e clique em Create user
  13. IMPORTANTE: Faça download das credenciais (botão Download .csv)
  14. Guarde esse arquivo em local seguro

Criando usuário admin (CLI)

Se preferir usar a linha de comando:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Criar o usuário
aws iam create-user --user-name admin-asilva

# Criar senha de login para console
aws iam create-login-profile \
  --user-name admin-asilva \
  --password 'SuaSenhaForteAqui@123' \
  --no-password-reset-required

# Anexar policy de administrador
aws iam attach-user-policy \
  --user-name admin-asilva \
  --policy-arn arn:aws:iam::aws:policy/AdministratorAccess

# Criar access keys para CLI (GUARDE O OUTPUT!)
aws iam create-access-key --user-name admin-asilva

Output será algo assim:

1
2
3
4
5
6
7
8
9
{
    "AccessKey": {
        "UserName": "admin-asilva",
        "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "Status": "Active",
        "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
        "CreateDate": "2025-09-16T12:00:00Z"
    }
}

COPIE E GUARDE o AccessKeyId e SecretAccessKey - eles não serão mostrados novamente!

Passo 3: Ativando MFA para o usuário admin

Proteja também o usuário admin com MFA:

  1. Faça logout da conta root
  2. Faça login com o usuário admin criado (URL: https://SEU_ACCOUNT_ID.signin.aws.amazon.com/console)
  3. Clique no nome do usuário no canto superior direito
  4. Selecione Security credentials
  5. Em Multi-factor authentication (MFA), clique em Assign MFA device
  6. Siga o mesmo processo usado para a conta root
  7. Escaneie o QR code com seu app autenticador
  8. Digite dois códigos consecutivos
  9. Clique em Add MFA

Passo 4: Configurando AWS CLI

Para trabalhar com a AWS via linha de comando, você precisa configurar o AWS CLI.

Instalando o AWS CLI

macOS:

1
2
3
4
5
6
# Usando Homebrew
brew install awscli

# Ou baixando o instalador
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

Linux:

1
2
3
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Windows:

Baixe e execute o instalador MSI em: https://awscli.amazonaws.com/AWSCLIV2.msi

Verificando a instalação

1
2
aws --version
# Output: aws-cli/2.x.x Python/3.x.x ...

Configurando credenciais

Use as access keys que você criou para o usuário admin:

1
aws configure

Será solicitado:

1
2
3
4
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-east-1
Default output format [None]: json

Testando o acesso

1
2
3
4
5
# Listar usuários IAM
aws iam list-users

# Verificar sua identidade atual
aws sts get-caller-identity

Configurando múltiplos perfis (opcional)

Se você trabalha com múltiplas contas AWS:

1
2
3
4
5
6
7
8
9
10
11
# Configurar perfil padrão
aws configure

# Configurar perfil adicional
aws configure --profile empresa-dev

# Usar perfil específico
aws s3 ls --profile empresa-dev

# Ou definir como padrão temporariamente
export AWS_PROFILE=empresa-dev

Passo 5: Configurando Billing Alerts

Configure alertas para não levar sustos com a fatura:

Habilitando Billing Alerts

  1. Faça login com a conta root
  2. Acesse Billing and Cost Management
  3. No menu lateral, clique em Billing preferences
  4. Marque Receive Billing Alerts
  5. Clique em Save preferences

Criando alarme no CloudWatch

  1. Acesse CloudWatch no console
  2. No menu lateral, clique em AlarmsBilling
  3. Clique em Create alarm
  4. Clique em Select metric
  5. Escolha BillingTotal Estimated Charge
  6. Marque a métrica EstimatedCharges (Currency: USD)
  7. Clique em Select metric
  8. Configure o threshold (ex: $10)
  9. Em Notification, crie um novo SNS topic
  10. Adicione seu email
  11. Clique em Create alarm
  12. IMPORTANTE: Confirme a inscrição no email que você receberá

Agora você será notificado se seus gastos ultrapassarem o valor definido!

Passo 6: Boas práticas pós-configuração

Crie uma URL de login personalizada

Por padrão, usuários IAM fazem login em: https://123456789012.signin.aws.amazon.com/console

Você pode criar um alias mais amigável:

  1. No IAM Dashboard, procure AWS Account Alias
  2. Clique em Create ou Edit
  3. Defina um alias único (ex: minhaempresa-aws)
  4. Agora a URL será: https://minhaempresa-aws.signin.aws.amazon.com/console

Habilite CloudTrail

O CloudTrail registra todas as ações feitas na sua conta:

1
2
3
4
5
6
7
8
9
10
# Criar bucket para logs
aws s3 mb s3://meu-cloudtrail-logs-123456

# Criar trail
aws cloudtrail create-trail \
  --name my-trail \
  --s3-bucket-name meu-cloudtrail-logs-123456

# Iniciar logging
aws cloudtrail start-logging --name my-trail

Rotação de credenciais

Configure um lembrete para rotacionar suas access keys a cada 90 dias:

1
2
3
4
5
6
7
8
9
10
11
12
# Verificar idade das access keys
aws iam list-access-keys --user-name admin-asilva

# Criar nova access key
aws iam create-access-key --user-name admin-asilva

# Atualizar aws configure com as novas keys

# Deletar a antiga
aws iam delete-access-key \
  --user-name admin-asilva \
  --access-key-id AKIAIOSFODNN7EXAMPLE

Checklist de segurança inicial

Use este checklist para garantir que sua conta está segura:

Conta Root:

  • MFA ativado na conta root
  • Access keys da root removidas (ou nunca criadas)
  • Email alternativo de segurança configurado
  • Senha forte definida
  • Conta root NÃO será usada para tarefas diárias

Usuário Administrativo:

  • Usuário admin criado (nome personalizado, não “admin”)
  • Policy AdministratorAccess anexada
  • MFA ativado no usuário admin
  • Senha forte definida
  • Access keys criadas e armazenadas com segurança
  • Credenciais salvas em local seguro (gerenciador de senhas)

AWS CLI:

  • AWS CLI instalado e funcionando
  • Credenciais configuradas (aws configure)
  • Acesso testado (aws sts get-caller-identity)
  • Region padrão definida

Monitoramento:

  • Billing alerts habilitados
  • Alarme de custo criado no CloudWatch
  • Email de billing confirmado
  • CloudTrail habilitado (recomendado)

Organizacional:

  • Account alias criado (URL amigável)
  • Documentação de credenciais em local seguro
  • Lembrete para rotação de keys em 90 dias
  • Email de recuperação testado

Cenário de uso prático

Veja como fica seu workflow após essa configuração:

Para tarefas diárias:

  • Login com usuário admin: https://minhaempresa-aws.signin.aws.amazon.com/console
  • Uso do CLI com perfil configurado
  • MFA sempre que necessário

Apenas quando necessário (raro):

  • Login com conta root para tarefas específicas
  • Sempre com MFA

Automação e scripts:

  • Use access keys do usuário admin (ou crie usuários específicos)
  • Rotacione regularmente
  • Nunca commite credenciais no código

Erros comuns que você deve evitar

Usar a conta root para tudo

  • Risco: Se comprometida, você perde tudo

Não ativar MFA

  • Risco: Senha vazada = conta invadida

Criar access keys para a root

  • Risco: Credenciais permanentes com poder total

Compartilhar credenciais

  • Risco: Perda de rastreabilidade e segurança

Não configurar billing alerts

  • Risco: Fatura surpresa no final do mês

Deixar access keys antigas ativas

  • Risco: Credenciais esquecidas podem ser exploradas

Recursos e Referências

Documentação Oficial:

Ferramentas:

Conclusão

Parabéns! Agora sua conta AWS está muito mais segura do que 90% das contas por aí. A configuração de segurança inicial leva apenas alguns minutos, mas pode te salvar de muita dor de cabeça (e dinheiro) no futuro.

Lembre-se:

  • Conta root é sagrada - só use quando absolutamente necessário
  • MFA não é opcional - é obrigatório
  • Rotacione suas credenciais regularmente
  • Monitore seus gastos desde o dia 1

A AWS é uma plataforma incrível, mas com grandes poderes vêm grandes responsabilidades. Comece com o pé direito e você terá uma base sólida para construir suas aplicações na nuvem.

É isso, galera! Se você gostou do artigo, comenta ou mande pra galera que também tá começando na AWS!

Se você tiver alguma dúvida ou comentário, sinta-se à vontade para compartilhá-los conosco na seção de comentários abaixo!

Forte abraço a todos!

Este post está licenciado sob CC BY 4.0 e pelo autor.