A CLI precisa de três respostas antes de qualquer comando: quem é você (a credencial), onde (a região) e em que formato responder. Cada conjunto dessas respostas é um perfil — e um terminal bem configurado tem vários: um pra cada conta, ambiente ou papel.
É a dúvida número um de quem começa: "Unable to locate credentials", "You must specify a region", "The config profile could not be found", "The security token included in the request is invalid". Quem entende perfil resolve tudo isso em segundos — e troca de conta com um --profile, sem apagar nada.
dev pro ambiente de teste e o prod só pra consulta — e nunca roda um delete na conta errada.configure set, sem mexer em mais nada.aws sso login e recebe credencial que expira sozinha.Cada um deles roda de verdade no terminal do CLImb, com a mesma saída e as mesmas mensagens de erro que a AWS devolve.
aws configure listUSO
aws configure list [--profile <perfil>]
aws configure list-profilesUSO
aws configure list-profiles
aws iam create-access-keyUSO
aws iam create-access-key --user-name robo-deploy
aws configure setUSO
aws configure set <chave> <valor> [--profile <perfil>]
aws ec2 describe-instancesaws ec2 describe-instances
aws ec2 describe-instances
aws configure getUSO
aws configure get <chave> [--profile <perfil>]
aws iam update-access-keyUSO
aws iam update-access-key --user-name robo-deploy --access-key-id AKIA... --status Inactive
aws iam create-rolecriar papel (role)
aws iam create-role --role-name <nome> --assume-role-policy-document file://<trust.json>
aws sts assume-roleUSO
aws sts assume-role --role-arn <arn-da-role> --role-session-name <nome> [--duration-seconds 900-3600]
aws sso loginUSO
aws sso login --profile <perfil>
aws sso logoutUSO
aws sso logout
Cada atividade é um pedido de trabalho, do jeito que ele chega no dia a dia — você resolve digitando os comandos, não escolhendo alternativa.
Primeiro dia no emprego novo: te deram um terminal já configurado. Antes de rodar qualquer coisa, descubra com que credencial e em que região ele está falando.
O configure list diz o que está no arquivo; a AWS pode discordar. Pergunte pra ela qual identidade (usuário e conta) está por trás deste terminal.
Um terminal pode falar com várias contas, uma por perfil. Liste os perfis configurados.
A configuração mora em dois arquivos na sua pasta pessoal. Leia o ~/.aws/config — é onde ficam a região e o formato de cada perfil.
O robô que gera relatórios vai ter credencial própria, separada da sua. Crie o usuário IAM bot-relatorios.
Crie uma chave de acesso pro bot-relatorios. Anote o AccessKeyId e o SecretAccessKey — o segredo só aparece agora.
Crie o perfil relatorios com a chave do robô — sem mexer no seu perfil default. Grave a aws_access_key_id e a aws_secret_access_key nele.
Pergunte à AWS quem é você usando o perfil relatorios. Repare no ARN: é o bot-relatorios, não você. <small>(se errar o nome do perfil, a CLI responde "The config profile (...) could not be found")</small>
O robô vai listar as instâncias EC2 — e o perfil dele não tem região. Rodar assim dá You must specify a region. Configure a região sa-east-1 no perfil relatorios e liste as instâncias com ele.
Um script precisa saber em que região o perfil relatorios está, sem ler o arquivo. Leia só essa configuração.
O script noturno do robô começa conferindo o terminal: quais perfis existem e qual chave o perfil relatorios está usando (pra bater com o IAM).
Confira o perfil do robô de dois jeitos: o configure list (chaves mascaradas) e o arquivo ~/.aws/credentials (a chave inteira — é por isso que ele NUNCA vai pro git).
A chave do robô tem 90 dias e a política manda trocar. Crie uma chave nova pro bot-relatorios, grave no perfil relatorios e confirme que o perfil ainda funciona.
Com o perfil já na chave nova, desative a antiga do bot-relatorios. Quem ainda estiver usando a velha vai quebrar agora — e é melhor descobrir com ela desativada (dá pra reativar) do que apagada.
Um colega tinha o perfil relatorios-legado com a chave antiga do robô. Configure esse perfil com a chave VELHA (a que você desativou), veja o erro — The security token included in the request is invalid — e conserte com a chave nova.
A auditoria precisa de acesso de leitura por algumas horas, sem chave nova. Crie a role auditoria-leitura com a política de confiança pronta trust.json.
Peça credenciais temporárias da auditoria-leitura com o nome de sessão auditoria-setembro. Repare no AccessKeyId: começa com ASIA (temporária), não AKIA.
A auditoria só precisa de 15 minutos. Peça de novo, com sessão auditoria-rapida e duração de 900 segundos, e traga só a data de expiração.
Copiar credencial temporária à mão cansa. Crie o perfil auditoria com role_arn apontando pra auditoria-leitura e source_profile = relatorios (quem pede a role), dê a região sa-east-1 e confira quem você é com ele.
Na empresa ninguém tem chave: todo mundo entra pelo portal SSO. Configure o perfil empresa-dev com sso_start_url https://climb-labs.awsapps.com/start, sso_region us-east-1, sso_account_id 123456789012, sso_role_name DesenvolvedorPleno e region sa-east-1. Depois, faça o login.
Pergunte à AWS quem é você com o perfil empresa-dev. Repare no ARN: AWSReservedSSO_DesenvolvedorPleno — é a role que o SSO criou pro seu conjunto de permissões.
Vai deixar o notebook no escritório. Encerre as sessões SSO deste terminal.
Segunda-feira: o perfil empresa-dev reclama que a sessão SSO expirou. Faça o login de novo e confira que voltou a funcionar.
Pro seu estudo pessoal, o jeito novo é o aws login: ele usa a sua sessão do Console e dá credenciais temporárias pro perfil. Faça login no perfil console e confira quem você é.
Você está num servidor por SSH, sem navegador. Faça o login no perfil console-servidor no modo que mostra um link pra abrir em outro aparelho, e depois encerre as sessões SSO que ficaram abertas.
Ler explica. Digitar fixa. No CLImb você roda os comandos de verdade num terminal AWS simulado — o estado persiste entre eles, como na nuvem real.
Esta trilha é inteiramente gratuita — não precisa pagar nem dar cartão.
Praticar de graça