implementing-hashicorp-vault-dynamic-secrets
Configura o HashiCorp Vault para gerar segredos dinâmicos, como credenciais de banco de dados e certificados. Automatiza a geração, rotação e gerenciamento de acesso.
O que ela faz
Esta ferramenta configura o HashiCorp Vault para gerar senhas e chaves de acesso temporárias para bancos de dados e serviços AWS. Ela ajuda a evitar o uso de senhas fixas e longas, criando credenciais que expiram automaticamente.
Quando usar
- ✓Quando você quer parar de usar senhas fixas em arquivos de configuração.
- ✓Ao precisar gerar credenciais de banco de dados ou da AWS que expirem rapidamente.
- ✓Para cumprir regras de segurança que exigem a troca frequente de senhas.
Exemplo do que pedir para a IA
“Configure o HashiCorp Vault para gerar senhas dinâmicas para o banco de dados PostgreSQL.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O Vault se conecta ao seu banco de dados ou à AWS e cria credenciais temporárias sob demanda. Essas credenciais são automaticamente revogadas quando expiram ou quando não são mais necessárias.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-hashicorp-vault-dynamic-secretsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-hashicorp-vault-dynamic-secrets/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Implementando Segredos Dinâmicos do HashiCorp Vault
Quando Usar
- Aplicações usam credenciais estáticas de banco de dados armazenadas em arquivos de configuração ou variáveis de ambiente
- Chaves de acesso do AWS IAM são de longa duração e compartilhadas entre serviços
- Necessidade de eliminar a proliferação de credenciais gerando segredos de curta duração por solicitação
- Requisitos de conformidade exigem rotação de credenciais (Requisito 8 do PCI-DSS, NIST 800-53 IA-5)
- Implementando gerenciamento de segredos zero-trust onde as credenciais nunca são armazenadas em repouso
- Migrando do gerenciamento manual de credenciais para o ciclo de vida automatizado de segredos
Não use para armazenar segredos estáticos que não podem ser gerados dinamicamente (use o mecanismo de segredos KV do Vault em vez disso); segredos dinâmicos são para credenciais que podem ser criadas e revogadas programaticamente em sistemas de destino.
Pré-requisitos
- HashiCorp Vault 1.15+ (edição Community ou Enterprise)
- Servidor Vault inicializado e deslacrado com auto-unseal configurado (AWS KMS, Azure Key Vault ou Transit)
- Sistemas de banco de dados de destino com credenciais de administrador para o Vault criar/revogar contas dinâmicas
- Conta AWS IAM com permissões para criar/excluir usuários e chaves de acesso do IAM
- Conectividade de rede do Vault para todos os sistemas de destino
- Políticas do Vault e métodos de autenticação configurados para aplicações consumidoras
Fluxo de Trabalho
Etapa 1: Implantar e Configurar o Servidor Vault
Inicialize o Vault com configuração de nível de produção:
# vault-config.hcl - Production Vault server configuration
storage "raft" {
path = "/opt/vault/data"
node_id = "vault-1"
retry_join {
leader_api_addr = "https://vault-2.corp.local:8200"
}
retry_join {
leader_api_addr = "https://vault-3.corp.local:8200"
}
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/vault/tls/vault-cert.pem"
tls_key_file = "/opt/vault/tls/vault-key.pem"
}
seal "awskms" {
region = "us-east-1"
kms_key_id = "alias/vault-unseal-key"
}
api_addr = "https://vault-1.corp.local:8200"
cluster_addr = "https://vault-1.corp.local:8201"
telemetry {
prometheus_retention_time = "24h"
disable_hostname = true
}
ui = true
# Initialize Vault cluster
vault operator init -key-shares=5 -key-threshold=3
# Enable audit logging
vault audit enable file file_path=/var/log/vault/audit.log
# Enable AppRole authentication for applications
vault auth enable approle
# Create policy for database secret consumers
vault policy write db-consumer - <<EOF
# Allow reading dynamic database credentials
path "database/creds/app-readonly" {
capabilities = ["read"]
}
path "database/creds/app-readwrite" {
capabilities = ["read"]
}
# Allow renewing and revoking own leases
path "sys/leases/renew" {
capabilities = ["update"]
}
path "sys/leases/revoke" {
capabilities = ["update"]
}
# Allow reading own token info
path "auth/token/lookup-self" {
capabilities = ["read"]
}
EOF
# Create AppRole for application
vault write auth/approle/role/webapp \
token_policies="db-consumer" \
token_ttl=1h \
token_max_ttl=4h \
secret_id_ttl=720h \
secret_id_num_uses=0
Etapa 2: Configurar o Mecanismo de Segredos de Banco de Dados
Configure a geração de credenciais dinâmicas para PostgreSQL e MySQL:
# Habilita o mecanismo de segredos de banco de dados
vault secrets enable database
# Configura a conexão PostgreSQL
vault write database/config/production-postgres \
plugin_name=postgresql-database-plugin \
allowed_roles="app-readonly,app-readwrite,app-admin" \
connection_url="postgresql://{{username}}:{{password}}@db-primary.corp.local:5432/appdb?sslmode=verify-full" \
username="vault_admin" \
password="$VAULT_DB_PASSWORD" \
password_authentication="scram-sha-256"
# Rotaciona as credenciais raiz para que o Vault as gerencie exclusivamente
vault write -force database/rotate-root/production-postgres
# Cria role somente leitura (TTL: 1 hora, máximo 24 horas)
vault write database/roles/app-readonly \
db_name=production-postgres \
creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; \
GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"{{name}}\"; \
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO \"{{name}}\";" \
revocation_statements="REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM \"{{name}}\"; \
DROP ROLE IF EXISTS \"{{name}}\";" \
default_ttl="1h" \
max_ttl="24h"
# Cria role de leitura e escrita (TTL: 30 minutos, máximo 8 horas)
…
Perguntas frequentes
O que são 'segredos dinâmicos'?
São credenciais (como senhas ou chaves de acesso) que o Vault gera e gerencia automaticamente. Elas têm um tempo de vida limitado e são revogadas após o uso ou expiração.
Por que usar senhas dinâmicas em vez de fixas?
Senhas fixas são um risco de segurança se vazadas. Senhas dinâmicas reduzem esse risco, pois são de curta duração e específicas para cada uso, dificultando o acesso não autorizado.
O que acontece se a aplicação precisar de acesso contínuo?
A aplicação pode solicitar novas credenciais dinâmicas antes que as antigas expirem, mantendo o acesso sem a necessidade de senhas fixas.
Detalhes
Descrição original do autor
Configures HashiCorp Vault dynamic secrets engines for database credentials, AWS IAM keys, and PKI certificates, with automatic generation, lease management, and rotation to eliminate static secrets in application configuration. Use when eliminating long-lived static credentials, configuring a Vault secrets engine, generating ephemeral database or cloud credentials, or automating credential rotati
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5889
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC