0 XP
Módulo 0 · Boas-vindas e Ambiente

Conta de nuvem segura e orçamento antes do primeiro recurso

Iniciante 40 min+25 XPAWSIAMBudgets

Objetivos desta aula

  • Entender o modelo de responsabilidade compartilhada da nuvem
  • Proteger a conta raiz e criar uma identidade de trabalho com menor privilégio
  • Configurar credenciais locais com perfil nomeado ou SSO
  • Criar orçamento com alerta para não tomar susto na fatura
  • Adotar disciplina de tags e de destruição de recursos de estudo

1. O que muda quando a infraestrutura é alugada

Na nuvem, o provedor cuida do data center, do hardware e da virtualização; você continua responsável por identidade, configuração, rede, dados e custo. Esse é o modelo de responsabilidade compartilhada. Quase todo vazamento noticiado vem do lado do cliente: permissão ampla, bucket público, credencial vazada.

2. A primeira tarefa não é criar servidor

Em uma conta nova, a ordem correta é: ativar MFA na conta raiz, guardar as credenciais raiz fora do computador de trabalho, criar uma identidade separada para o dia a dia e configurar alerta de custo. Só depois se provisiona qualquer recurso.

3. Conta raiz: o que ela é e por que não se usa

A raiz é o dono da conta e não tem limite de permissão — não é possível restringi-la. Use-a apenas para tarefas exclusivas dela (encerrar a conta, mudar plano de suporte, dados de cobrança). Para o restante, identidade normal.

4. Identidade: usuário IAM ou Identity Center (SSO)

O padrão atual das empresas é IAM Identity Center, que entrega credenciais temporárias por login. Chaves de acesso de longa duração (aquele par de Access Key ID e Secret) são práticas para estudar, mas são o item mais vazado do mercado. Se usar chaves, trate-as como senha e rotacione.

5. Menor privilégio na prática

Uma policy é um documento JSON que diz quais ações são permitidas em quais recursos. O princípio do menor privilégio é começar restrito e abrir conforme a necessidade real, não o contrário. Para estudar, um perfil administrativo em uma conta isolada e descartável é aceitável; em conta com dados reais, nunca.

6. Perfis nomeados no CLI

Configure --profile cloudshop em vez de credencial padrão solta. Perfis deixam explícito em qual conta você está agindo — proteção simples contra o clássico "apliquei na conta errada". Confirme sempre com aws sts get-caller-identity antes de um comando destrutivo.

7. Como a nuvem cobra

Três padrões de cobrança explicam quase toda fatura: por tempo ligado (instância, banco, NAT Gateway), por volume armazenado (disco, objetos, backup, snapshot) e por tráfego (saída para a internet e entre zonas). O recurso mais esquecido por estudantes é o NAT Gateway, que cobra por hora mesmo sem tráfego.

8. Orçamento e alerta

Crie um budget mensal pequeno (por exemplo 5 USD) com alerta em 80% do valor, tanto no gasto real quanto no previsto. O alerta não impede o gasto: ele compra tempo para você agir. Combine com um painel de custo revisado toda semana.

9. Tags: sem elas não existe controle de custo

Marque todo recurso com projeto, ambiente, dono e validade. Tags permitem responder "quanto custou o CloudShop em setembro?" e localizar o que pode ser destruído. Padronize as chaves desde o primeiro recurso — corrigir tags depois é trabalho manual e caro.

10. Disciplina de destruição

Todo recurso criado para estudo tem data de morte. Ao final de cada laboratório de nuvem: rode o destroy, confira no console que nada sobrou e verifique itens que ficam órfãos (volumes, snapshots, IPs elásticos, balanceadores, logs). Registre no diário quanto o laboratório custou.

11. Reagindo a um vazamento de credencial

Se uma chave for exposta: desative-a imediatamente, crie outra, revise o que foi executado na auditoria (CloudTrail), procure recursos criados sem sua autorização e troque também tokens relacionados. Velocidade importa — chaves públicas são exploradas em minutos por robôs.

12. Checagem final da aula

Você deve ter: MFA ativo na raiz, identidade de trabalho separada, aws sts get-caller-identity respondendo com o perfil correto, budget de 5 USD com alerta por e-mail e a convenção de tags escrita em docs/tags.md.

Na prática

Perfil, identidade e orçamento

bash

aws configure --profile cloudshop
# AWS Access Key ID / Secret / regiao (ex.: us-east-1) / output json

export AWS_PROFILE=cloudshop
aws sts get-caller-identity
# { "UserId": "AIDA...", "Account": "123456789012", "Arn": "arn:aws:iam::123456789012:user/estudo" }

# Orcamento de 5 USD por mes com alerta em 80%
aws budgets create-budget --account-id "$(aws sts get-caller-identity --query Account --output text)" \
  --budget '{"BudgetName":"estudo-cloudshop","BudgetLimit":{"Amount":"5","Unit":"USD"},"TimeUnit":"MONTHLY","BudgetType":"COST"}' \
  --notifications-with-subscribers '[{"Notification":{"NotificationType":"ACTUAL","ComparisonOperator":"GREATER_THAN","Threshold":80,"ThresholdType":"PERCENTAGE"},"Subscribers":[{"SubscriptionType":"EMAIL","Address":"voce@exemplo.com"}]}]'
# Sem saida = criado. Confirme com: aws budgets describe-budgets --account-id <conta>

Nota de segurança: ~/.aws/credentials guarda chaves em texto puro. Prefira AWS IAM Identity Center (SSO) e nunca comite esse arquivo.

Credenciais temporárias com Identity Center (SSO)

bash

aws configure sso --profile cloudshop-sso
# SSO start URL: https://sua-org.awsapps.com/start
# Abre o navegador para autenticar e escolher a conta/permissao

aws sso login --profile cloudshop-sso     # renova o token quando expirar
aws sts get-caller-identity --profile cloudshop-sso
# Arn: arn:aws:sts::123456789012:assumed-role/AWSReservedSSO_.../voce
# Observe "assumed-role": e uma credencial temporaria, nao uma chave permanente

Tags padrão e caça a recursos esquecidos

bash

# Convencao de tags do projeto (docs/tags.md)
# projeto=cloudshop | ambiente=dev|prod | dono=estudo | validade=2026-10-01

# Recursos ligados que mais geram custo silencioso
aws ec2 describe-instances --filters Name=instance-state-name,Values=running \
  --query 'Reservations[].Instances[].[InstanceId,InstanceType,Tags[?Key==`projeto`].Value|[0]]' --output table
aws ec2 describe-nat-gateways --filter Name=state,Values=available --query 'NatGateways[].NatGatewayId'
aws ec2 describe-volumes --filters Name=status,Values=available --query 'Volumes[].VolumeId'   # discos orfaos
aws ec2 describe-addresses --query 'Addresses[?AssociationId==null].PublicIp'                  # IPs pagos sem uso

Nota de segurança: Rode essa varredura com um perfil somente-leitura quando possível; auditoria não precisa de permissão de escrita.

Se uma chave vazar: resposta imediata

bash

# 1) Desativar a chave comprometida
aws iam update-access-key --access-key-id AKIAEXEMPLO --status Inactive --user-name estudo
# 2) Criar uma nova e atualizar o perfil local
aws iam create-access-key --user-name estudo
# 3) Auditar o que foi feito com ela nas ultimas horas
aws cloudtrail lookup-events --max-results 20 \
  --lookup-attributes AttributeKey=Username,AttributeValue=estudo \
  --query 'Events[].[EventTime,EventName,SourceIPAddress]' --output table
# 4) Excluir a chave antiga depois de confirmar que nada dependia dela
aws iam delete-access-key --access-key-id AKIAEXEMPLO --user-name estudo

Por que isso importa

Vagas de nuvem cobram responsabilidade financeira. Saber demonstrar controle de custo diferencia candidato júnior de candidato confiável.

Erro comum

Usar a conta raiz para tudo e deixar NAT Gateway ou RDS ligados após o laboratório.

Dica de produção

Marque todos os recursos com tags (projeto, ambiente, dono, validade). Sem tags, não existe FinOps.

Alerta de segurança

Chave de acesso vazada em repositório público é explorada em minutos. Se acontecer, revogue imediatamente e audite CloudTrail.

Pergunta de entrevista

Como você evitaria que um ambiente de teste gerasse custo indevido em uma conta compartilhada?

Glossário

MFA
Autenticação em múltiplos fatores: segundo fator além da senha.
Budget
Limite de gasto monitorado, com alertas configuráveis por percentual.
Conta raiz
Identidade dona da conta de nuvem, sem limite de permissão; usada apenas em tarefas exclusivas.
IAM
Serviço de identidade e acesso da AWS: usuários, papéis e políticas de permissão.
Menor privilégio
Conceder apenas as permissões necessárias para a tarefa, nada além.
Identity Center (SSO)
Serviço que entrega credenciais temporárias por login, substituindo chaves permanentes.
CloudTrail
Registro de auditoria das chamadas de API feitas na conta de nuvem.
FinOps
Prática de gerenciar custo de nuvem com dados, responsáveis e metas.
NAT Gateway
Recurso que dá saída à internet para redes privadas e cobra por hora ligada e por tráfego.

Conexão com o CloudShop

Criar o orçamento que protegerá a conta usada nos módulos 6 e 7.

Quiz da aula

  1. 1. Qual é a primeira ação em uma conta de nuvem nova?

  2. 2. No modelo de responsabilidade compartilhada, o que é sua responsabilidade?

  3. 3. Qual recurso costuma gerar custo mesmo sem uso aparente em laboratórios?

  4. 4. Por que preferir credenciais temporárias (SSO) a chaves de acesso permanentes?

Minhas anotações

Salvo automaticamente neste navegador.

AnteriorPróxima