← Back to list

🔐 Armazenando e Recuperando Credenciais com Segurança no Parameter Store

Como acessar segredos com segurança em instâncias EC2 usando IAM e AWS KMS

higor in AWS Solutions Architect · 2025-04-19 13:52 · 0 claps · 3.3 min read
#aws-kms #aws-parameter-store #aws-certification #aws-solutions-architect
Open on Medium ↗
Wiki topics: ☁️ · DevOps & Cloud 🏛️ · Architecture 🧘 · Spirituality

🔐 Armazenando e Recuperando Credenciais com Segurança no Parameter Store

Como acessar segredos com segurança em instâncias EC2 usando IAM e AWS KMS

Este artigo faz parte do plano de estudos para certificação **AWS Solutions Architect Assoate (SAA-C03)**.

🧱 Domínio: 1 — Design Secure Architectures (AWS SAA-C03)

  • Tarefa: 1.3 — Determinar os controles de segurança de dados apropriados

🎯 Objetivo da Aula

Entender como configurar o AWS Systems Manager Parameter Store com KMS e IAM Roles para:

  • Armazenar com segurança usuário e senha do banco de dados
  • Permitir que instâncias EC2 acessem esses dados criptografados
  • Evitar hardcoded de segredos em arquivos ou código
  • Descentralizar e auditar o uso de credenciais com segurança e controle

📌 Introdução

Aplicações que precisam acessar bancos de dados exigem uma maneira segura de recuperar credenciais de acesso. Armazenar essas credenciais no código-fonte ou em arquivos no disco não é seguro. A melhor prática na AWS é usar o Parameter Store (parte do AWS Systems Manager) com criptografia KMS, e garantir que apenas instâncias autorizadas possam acessar e descriptografar os parâmetros.

🧩 O Problema

  • A aplicação roda em uma instância EC2 e precisa acessar um banco de dados RDS
  • As credenciais do banco devem ser armazenadas com segurança
  • O arquiteto deseja usar o Parameter Store com criptografia KMS
  • A EC2 precisa recuperar o valor do parâmetro sem expor credenciais no código
  • É necessário um controle de acesso seguro e rastreável

📂 Principais Pontos da Aula

🔐 AWS Systems Manager Parameter Store (com KMS)

  • Armazena parâmetros sensíveis como senhas, tokens, chaves de API
  • Suporta criptografia com AWS KMS
  • Parâmetros podem ser acessados via CLI, SDK ou agentes

📄 Documentação do Parameter Store

🛡️ Controle de Acesso com IAM e KMS

✅ A Solução Ideal

✔ Criar um parâmetro criptografado com uma CMK (KMS) no Parameter Store

✔ Criar uma IAM Role com:

  • Permissão ssm:GetParameter para o nome do parâmetro
  • Permissão kms:Decrypt para a chave KMS usada

Associar essa role à instância EC2 como um instance profile

✔ A aplicação na EC2 recupera a senha com segurança via SDK ou CLI

💡 Dicas Certificação SAA-C03

  • 🧠 Quando a questão fala em armazenar senha com segurança + aplicação em EC2 → pense Parameter Store + IAM Role + KMS
  • 🔐 Não basta ter permissão para o Parameter Store — é preciso também kms:Decrypt
  • ⚠️ Políticas erradas ou ausentes na KMS Key impedem o acesso
  • ❌ As opções C e D (trust relationships entre serviços) não se aplicam neste cenário

🗺️ Diagrama da Arquitetura

🔎 O que esse diagrama representa:

  • A EC2 utiliza sua IAM Role para buscar o valor no Parameter Store
  • O Parameter Store valida a permissão de leitura
  • O KMS valida a permissão de descriptografia
  • A aplicação obtém a senha do banco de forma segura

🧠 Resumo Flash Cards

🎮 Quiz de Revisão

  1. O que é necessário para que uma EC2 acesse um parâmetro criptografado?

A. Apenas permissão IAM ssm:GetParameter B. Apenas permissão kms:Decrypt C. Permissão ssm:GetParameter + kms:Decrypt D. Confiança entre EC2 e RDS via trust policy

2. Qual a forma mais segura de armazenar senhas na AWS?

A. Variável de ambiente na EC2 B. Texto plano em bucket S3 C. Parameter Store com KMS + IAM Role D. Inserida diretamente no código da aplicação

3. O que deve ser atribuído à instância EC2 para acessar o parâmetro?

A. Política diretamente no sistema operacional B. IAM Role via Instance Profile C. Chave SSH com permissões IAM D. Relação de confiança com a KMS

4. Qual dessas permissões é obrigatória para descriptografar parâmetros criptografados?

A. ssm:DescribeParameters B. kms:Encrypt C. ssm:PutParameter D. kms:Decrypt

✔️ Gabarito

✅ 1. C. Permissão ssm:GetParameter + kms:Decrypt ✅ 2. C. Parameter Store com KMS + IAM Role ✅ 3. B. IAM Role via Instance Profile ✅ 4. D. kms:Decrypt

📚 Recursos Complementares

🚀 Conclusão

A combinação de AWS Systems Manager Parameter Store + KMS + IAM Role em EC2 fornece uma solução segura e escalável para gerenciar credenciais sensíveis sem expô-las no código. Essa prática é padrão em arquiteturas seguras e muito cobrada na certificação SAA-C03.

Se aparecer:

  • “armazenar senhas com segurança”
  • “descriptografar parâmetro no EC2”
  • “uso de IAM + KMS + Parameter Store”

→ Vá com confiança na opção: ✅ Criar IAM Role com ssm:GetParameter + kms:Decrypt e atribuir à EC2


메타데이터
post_id
bfe3e4b61248
slug
armazenando-e-recuperando-credenciais-com-segurança-no-parameter-store-bfe3e4b61248
url
https://medium.com/aws-solutions-architect/armazenando-e-recuperando-credenciais-com-seguran%C3%A7a-no-parameter-store-bfe3e4b61248
canonical_url
https://medium.com/aws-solutions-architect/armazenando-e-recuperando-credenciais-com-seguran%C3%A7a-no-parameter-store-bfe3e4b61248
author_url
https://medium.com/@higorbarbosa.com
status
ok
fetched_at
2026-06-24 13:29:15