## Instalando e Integrando o Vault: Um Guia Prático
O HashiCorp Vault é uma ferramenta poderosa para gerenciamento de segredos, que oferece uma forma segura de armazenar e controlar o acesso a informações sensíveis, como senhas, chaves de API, certificados e tokens. Este artigo te guiará através do processo de instalação, inicialização, criação de segredos e políticas, e, finalmente, como integrar o Vault com uma aplicação Node.js.
1. Instalando o Vault
Primeiramente, você precisará instalar o Vault em seu sistema. As opções de instalação variam dependendo do seu sistema operacional. Abaixo, estão alguns exemplos:
- Linux (apt):
sudo apt-get update && sudo apt-get install vault - macOS (Homebrew):
brew install vault - Windows (Chocolatey):
choco install vault
Após a instalação, verifique se o Vault foi instalado corretamente executando o comando vault --version no seu terminal.
2. Inicializando o Vault
Após a instalação, o próximo passo é inicializar o Vault. Execute o comando vault operator init. Este comando irá gerar um conjunto de chaves de encriptação (unseal keys) e um valor de \"root token\". É crucial que você armazene as chaves de forma segura, pois elas são necessárias para desbloquear o Vault. O \"root token\" concede acesso administrativo total ao Vault; guarde-o com cuidado.
vault operator init
O comando irá retornar algo parecido com isto:
Unseal Key 1: ...
Unseal Key 2: ...
Unseal Key 3: ...
Unseal Key 4: ...
Unseal Key 5: ...
Initial Root Token: ...
3. Desbloqueando o Vault (Unsealing)
Antes de usar o Vault, ele precisa ser desbloqueado. Para isso, use o comando vault operator unseal. Você precisará fornecer um certo número de \"Unseal Keys\" (geralmente 3 ou mais) para desbloquear o Vault. Execute este comando repetidamente, fornecendo uma das chaves a cada vez.
vault operator unseal
4. Autenticando no Vault
Agora que o Vault está desbloqueado, você precisa autenticar. Usaremos o token root inicialmente. Configure a variável de ambiente VAULT_TOKEN com o valor do \"Initial Root Token\" que foi gerado na inicialização.
export VAULT_TOKEN=SEU_ROOT_TOKEN
Você pode verificar a autenticação com o comando vault status.
5. Criando Segredos
O Vault armazena segredos em um sistema de armazenamento hierárquico. Vamos criar um segredo simples.
-
Habilitando o Secrets Engine: Primeiro, precisamos habilitar o Secrets Engine \"kv\" (key-value), que é usado para armazenar dados arbitrários.
vault secrets enable -path=secret kv -
Salvando um Segredo: Agora, vamos salvar um segredo.
vault kv put secret/my-app api_key=SUA_API_KEY db_password=SUA_SENHA_DO_BANCO
6. Criando Políticas (Policies)
Políticas no Vault definem o que os usuários podem acessar. Crie um arquivo chamado my-app-policy.hcl com o seguinte conteúdo:
path \"secret/my-app\" {
capabilities = [\"read"]
}
Este arquivo de política permite a leitura do segredo secret/my-app. Agora, carregue a política no Vault:
vault policy write my-app-policy my-app-policy.hcl
7. Criando um Token com a Política
Crie um token que tenha a política recém-criada anexada.
vault token create -policy=my-app-policy
Este comando irá gerar um token. Guarde este token.
8. Integrando com uma Aplicação Node.js
Agora, vamos integrar o Vault com uma aplicação Node.js.
-
Instale as dependências:
npm install vault-client -
Crie um arquivo
index.js:
const Vault = require('vault-client'); async function getSecrets() { const vault = new Vault({ url: 'http://127.0.0.1:8200', // Altere se o Vault estiver em outro endereço token: 'SEU_TOKEN_GERADO_ACIMA', // Use o token gerado pela política }); try { const secret = await vault.read('secret/my-app'); console.log('API Key:', secret.data.api_key); console.log('Database Password:', secret.data.db_password); } catch (error) { console.error('Error reading secret:', error.message); } } getSecrets(); -
Execute o aplicativo:
node index.js
Se tudo estiver configurado corretamente, o script Node.js irá recuperar e imprimir o api_key e db_password do Vault.
Conclusão
Este guia fornece uma introdução detalhada para instalar, configurar e integrar o Vault em sua aplicação. Lembre-se que segurança é fundamental. Sempre armazene as chaves e tokens de forma segura, e revise regularmente as políticas de acesso. Explore a documentação do Vault para descobrir recursos mais avançados e otimizar a segurança da sua infraestrutura.
Top comments (0)