implementing-secrets-management-with-vault
Ajuda seu agente a gerenciar segredos de forma centralizada e segura usando o HashiCorp Vault, eliminando credenciais codificadas.
O que ela faz
Este sistema ajuda a guardar informações sensíveis, como senhas e chaves de acesso, de forma segura. Ele cria essas informações automaticamente e as renova, evitando que sejam armazenadas de forma insegura no seu código ou em arquivos.
Quando usar
- ✓Quando senhas e chaves estão em arquivos de configuração ou código.
- ✓Ao migrar para senhas que mudam sozinhas e duram pouco tempo.
- ✓Quando programas rodando no Kubernetes precisam de acesso seguro a bancos de dados.
Exemplo do que pedir para a IA
“Como posso fazer o Vault gerar senhas temporárias para meu 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 sistema é configurado para se conectar a um servidor Vault. Quando um programa precisa de uma senha, o Vault a cria na hora, com um tempo de validade. Depois que o tempo acaba, a senha é apagada automaticamente.
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-secrets-management-with-vaultOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-secrets-management-with-vault/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 Gerenciamento de Segredos com Vault
Quando Usar
- Quando aplicações armazenam senhas de banco de dados, chaves de API ou certificados em variáveis de ambiente ou arquivos de configuração
- Ao migrar de credenciais estáticas de longa duração para segredos dinâmicos de curta duração
- Quando cargas de trabalho Kubernetes precisam de acesso seguro a credenciais de banco de dados ou APIs de provedores de nuvem
- Quando requisitos de conformidade exigem gerenciamento centralizado de credenciais com registro de auditoria
- Quando pipelines de CI/CD contêm segredos codificados que representam risco à cadeia de suprimentos
Não use para ambientes exclusivamente AWS onde o AWS Secrets Manager é suficiente sem requisitos multi-nuvem, para lógica de criptografia em nível de aplicação (embora o Vault Transit possa ajudar), ou para federação de identidade (veja gerenciando-identidade-nuvem-com-okta).
Pré-requisitos
- Servidor HashiCorp Vault implantado em modo HA (backend de armazenamento Consul ou Raft)
- Certificados TLS para endpoints de listener do Vault
- Licença Vault Enterprise para namespaces, políticas Sentinel e replicação (opcional)
- Cluster Kubernetes com Vault Agent Injector ou provedor CSI para integração de carga de trabalho
Fluxo de Trabalho
Etapa 1: Implantar Vault em Modo de Alta Disponibilidade
Implante o Vault usando Armazenamento Integrado (Raft) para HA sem dependências externas. Configure TLS, registro de auditoria e auto-desbloqueio usando um KMS na nuvem.
# vault-config.hcl
storage "raft" {
path = "/opt/vault/data"
node_id = "vault-node-1"
retry_join {
leader_api_addr = "https://vault-node-2.internal:8200"
}
retry_join {
leader_api_addr = "https://vault-node-3.internal:8200"
}
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/vault/tls/vault.crt"
tls_key_file = "/opt/vault/tls/vault.key"
}
seal "awskms" {
region = "us-east-1"
kms_key_id = "alias/vault-unseal-key"
}
api_addr = "https://vault-node-1.internal:8200"
cluster_addr = "https://vault-node-1.internal:8201"
telemetry {
prometheus_retention_time = "30s"
disable_hostname = true
}
# Initialize Vault
vault operator init -key-shares=5 -key-threshold=3
# Enable audit logging
vault audit enable file file_path=/var/log/vault/audit.log
# Enable syslog audit for SIEM integration
vault audit enable syslog tag="vault" facility="AUTH"
Etapa 2: Configurar Métodos de Autenticação
Habilite backends de autenticação para operadores humanos, aplicações e pipelines de CI/CD. Use AppRole para autenticação de máquina e OIDC para acesso humano.
# Enable OIDC auth for human users via Okta
vault auth enable oidc
vault write auth/oidc/config \
oidc_discovery_url="https://company.okta.com/oauth2/default" \
oidc_client_id="vault-client-id" \
oidc_client_secret="vault-client-secret" \
default_role="default"
# Enable AppRole for application authentication
vault auth enable approle
vault write auth/approle/role/web-app \
secret_id_ttl=10m \
token_num_uses=10 \
token_ttl=20m \
token_max_ttl=30m \
secret_id_num_uses=1 \
token_policies="web-app-policy"
# Enable Kubernetes auth for pod-based access
vault auth enable kubernetes
vault write auth/kubernetes/config \
kubernetes_host="https://kubernetes.default.svc:443" \
token_reviewer_jwt=@/var/run/secrets/kubernetes.io/serviceaccount/token \
kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
Etapa 3: Habilitar Motores de Segredos Dinâmicos
Configure motores de segredos de banco de dados para gerar credenciais de curta duração sob demanda. Cada conjunto de credenciais tem um TTL e é revogado automaticamente quando expira.
# Habilitar motor de segredos de banco de dados para PostgreSQL
vault secrets enable database
vault write database/config/production-db \
plugin_name=postgresql-database-plugin \
allowed_roles="readonly,readwrite" \
connection_url="postgresql://{{username}}:{{password}}@db.internal:5432/production?sslmode=require" \
username="vault_admin" \
password="initial-password"
# Rotacionar as credenciais raiz para que o Vault as gerencie exclusivamente
vault write -force database/rotate-root/production-db
# Criar uma role de leitura com TTL de 1 hora
vault write database/roles/readonly \
db_name=production-db \
creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"{{name}}\";" \
revocation_statements="REVOKE ALL ON ALL TABLES IN SCHEMA public FROM \"{{name}}\"; DROP ROLE IF EXISTS \"{{name}}\";" \
default_ttl="1h" \
max_ttl="24h"
…
Perguntas frequentes
O que são 'segredos dinâmicos'?
São informações sensíveis, como senhas, que o Vault cria e gerencia. Elas têm um tempo de vida curto e são automaticamente revogadas (apagadas) quando expiram.
Por que usar o Vault em vez de guardar senhas em arquivos?
Guardar senhas em arquivos ou no código é arriscado. Se alguém tiver acesso a esses locais, terá acesso às suas senhas. O Vault centraliza e protege essas informações, criando-as sob demanda e com tempo limitado.
Preciso de um servidor Vault separado para usar isso?
Sim, é necessário ter um servidor HashiCorp Vault já instalado e configurado para que este sistema possa se conectar a ele e gerenciar os segredos.
Detalhes
Descrição original do autor
Deploy HashiCorp Vault for centralized secrets management, covering dynamic secret generation for databases and cloud providers, transit encryption, PKI certificate management, and Kubernetes integration. Use when eliminating hardcoded credentials from application code or CI/CD pipelines, migrating to short-lived auto-rotated secrets, or giving Kubernetes workloads secure access to database or clo
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5951
- 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
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC