“Pra quem não souber pegar a sua secret e seu access key da AWS, vai ter aqui na descrição do vídeo um artigo passo a passo…” – eu mesma, 32 min 36 segundos desse vídeo.
Promessa é dívida, então bora configurar essas credenciais do jeito certo – sem expor nada sensível no GitHub e já deixando seu projeto pronto pra produção.
Visão geral
- Gerar Access Key & Secret no console da AWS
- Salvar as credenciais no IntelliJ (arquivo credentials ou AWS Toolkit)
- Usar as variáveis no seu projeto Java/Spring – locais ou via Docker
Criando a Access Key & Secret na AWS
- Acesse IAM → Users → seu-usuário.
- Aba Security credentials → botão Create access key.
- Escolha Use cases → Command Line Interface (CLI) e confirme.
- Baixe o CSV e não perca esse arquivo – a Secret só aparece uma vez!
Access key ID: AKIAIOSF...
Secret access key: x8n7sSa/4tV...
Dica: crie um usuário exclusivo para a aplicação, com política mínima:
AmazonS3FullAccess
Um exemplo, caso você use apenas o S3.
Configurando no IntelliJ (Mac/Win/Linux)
Com AWS Toolkit (GUI)
- Instale o AWS Toolkit (Settings → Plugins).
- Na tool window “AWS Explorer” clique em + → Add credentials.
- Cole o Access key ID e a Secret access key e dê um nome legal pro perfil, exemplo: qrcode-dev)
- Selecione a Default Region que você mais usa, como us-east-1
Com arquivo ~/.aws/credentials (CLI-style)
Access key ID: AKIAIOSF...
Secret access key: x8n7sSa/4tV...
- Salve em ~/.aws/credentials (Linux/Mac) ou %USERPROFILE%\.aws\credentials (Windows).
- No IntelliJ: Settings → Tools → AWS → Use credentials file e selecione o perfil qrcode-dev.
Consumindo as credenciais no projeto (Spring Boot 3 / Java 21)
No application.properties:
aws.s3.region=${AWS_REGION}
aws.s3.bucket-name=${AWS_BUCKET_NAME}
O SDK da AWS já procura automaticamente por:
export AWS_ACCESS_KEY_ID=AKIAIOSF...export AWS_SECRET_ACCESS_KEY=x8n7sSa/4tV...
export AWS_REGION=us-east-1
export AWS_BUCKET_NAME=qrcode-storager
Usando Docker + .env
Dockerfile:
# Args sensíveis – passados no build!
ARG AWS_ACCESS_KEY_ID
ARG AWS_SECRET_ACCESS_KEY
ENV AWS_REGION=us-east-1 \
AWS_BUCKET_NAME=qrcode-storager
.env (não faça commit!):
AWS_ACCESS_KEY_ID=AKIAIOSF...
AWS_SECRET_ACCESS_KEY=x8n7sSa/4tV...
Build & Run:
docker build \
--build-arg AWS_ACCESS_KEY_ID \
--build-arg AWS_SECRET_ACCESS_KEY \
-t qrcode-generator:1.0 .
docker run --env-file .env -p 8080:8080 qrcode-generator:1.0
Boas práticas de segurança
- Nunca faça commit de Access Key & Secret.
- Use perfis IAM diferentes para dev, staging e prod.
- Ative MFA para o usuário root e para quem pode criar credenciais.
- Rotacione as chaves a cada 90 dias (ou menos).
Curtiu? Compartilha com aquele amigo que ainda bota as chaves hardcoded no código 😅.
E se esse guia salvou seu dia, deixa um comentário lá no canal. Até a próxima!