Pular para o conteúdo

Vault

Guia abrangente de comandos e fluxos de trabalho do HashiCorp Vault para gerenciamento de segredos, criptografia e acesso seguro a dados sensíveis.

Instalação e Configuração

ComandoDescrição
vault versionMostrar versão do Vault
vault server -devIniciar servidor de desenvolvimento
vault server -config=config.hclComece com o arquivo de configuração
vault statusVerificar status do servidor

Autenticação e Login

Autenticação Básica

ComandoDescrição
vault auth -method=userpass username=myuserFazer login com nome de usuário/senha
vault auth -method=ldap username=myuserLogin com LDAP
vault auth -method=github token=mytokenFazer login com GitHub
vault auth -method=awsFaça login com AWS IAM
vault auth -method=kubernetesLogin com Kubernetes

Gerenciamento de Tokens

ComandoDescrição
vault token createCriar novo token
vault token create -ttl=1hCriar token com TTL
vault token lookupConsultar token atual
vault token renewRenovar token atual
vault token revoke TOKENRevogar token específico

Gerenciamento de Segredos

Segredos Key-Value (v2)

ComandoDescrição
vault kv put secret/myapp username=admin password=secretArmazenar segredo
vault kv get secret/myappRecuperar segredo
vault kv get -field=password secret/myappObter campo específico
vault kv delete secret/myappExcluir segredo
vault kv list secret/Listar segredos
vault kv metadata get secret/myappObter metadados

Versões de Segredos

ComandoDescrição
vault kv put secret/myapp @data.jsonArmazenar a partir de arquivo JSON
vault kv get -version=2 secret/myappObter versão específica
vault kv rollback -version=1 secret/myappReverter para versão
vault kv destroy -versions=2,3 secret/myappDestruir versões
vault kv undelete -versions=2 secret/myappRecuperar versões

Secrets Engine de Banco de Dados

Configuração de Banco de Dados

ComandoDescrição
vault secrets enable databaseHabilitar mecanismo de banco de dados
vault write database/config/my-mysql-database plugin_name=mysql-database-plugin connection_url="\\{\\{username\\}\\}:\\{\\{password\\}\\}@tcp(localhost:3306)/" allowed_roles="my-role" username="vaultuser" password="vaultpass"Configurar MySQL
vault write database/roles/my-role db_name=my-mysql-database creation_statements="CREATE USER '\\{\\{name\\}\\}'@'%' IDENTIFIED BY '\\{\\{password\\}\\}';GRANT SELECT ON *.* TO '\\{\\{name\\}\\}'@'%';" default_ttl="1h" max_ttl="24h"Criar função

Credenciais Dinâmicas

ComandoDescrição
vault read database/creds/my-roleGerar credenciais de banco de dados
vault write database/rotate-root/my-mysql-databaseGirar credenciais de root

PKI (Infraestrutura de Chave Pública)

Configuração de PKI

ComandoDescrição
vault secrets enable pkiHabilitar mecanismo PKI
vault secrets tune -max-lease-ttl=87600h pkiDefinir TTL máximo
vault write pki/root/generate/internal common_name=example.com ttl=87600hGerar root CA
vault write pki/config/urls issuing_certificates="http://vault.example.com:8200/v1/pki/ca" crl_distribution_points="http://vault.example.com:8200/v1/pki/crl"Configurar URLs

Gerenciamento de Certificados

ComandoDescrição
vault write pki/roles/example-dot-com allowed_domains=example.com allow_subdomains=true max_ttl=72hCriar função
vault write pki/issue/example-dot-com common_name=test.example.comEmitir certificado
vault write pki/revoke serial_number=39:dd:2e:90:b7:23:1f:8d:d3:7d:31:c5:1b:da:84:d0:5b:65:31:58Revogar certificado

AWS Secrets Engine

Configuração AWS

ComandoDescrição
vault secrets enable awsHabilitar motor AWS
vault write aws/config/root access_key=AKIAI... secret_key=R4nm...Configurar credenciais de root
vault write aws/roles/my-role credential_type=iam_user policy_document=-<<EOF \\{...\\} EOFCriar função IAM

Credenciais AWS

ComandoDescrição
vault read aws/creds/my-roleGerar credenciais AWS
vault write aws/sts/my-role ttl=15mGerar credenciais STS

Transit Secrets Engine

Configuração de Criptografia

ComandoDescrição
vault secrets enable transitAtivar motor de trânsito
vault write transit/keys/my-key type=aes256-gcm96Criar chave de criptografia
vault write transit/encrypt/my-key plaintext=$(base64 <<< "my secret data")Criptografar dados
vault write transit/decrypt/my-key ciphertext=vault:v1:8SDd3WHDOjf7mq69CyCqYjBXAiQQAVZRkFM13ok481zoCmHnSeDX9vyf7w==Descriptografar dados

Gerenciamento de Chaves

ComandoDescrição
vault write transit/keys/my-key/rotateGirar chave de criptografia
vault read transit/keys/my-keyLer informações importantes
vault write transit/rewrap/my-key ciphertext=vault:v1:...Reenvolver com a chave mais recente

Políticas

Gerenciamento de Políticas

ComandoDescrição
vault policy write my-policy policy.hclCriar/atualizar política
vault policy read my-policyLer política
vault policy listListar todas as políticas
vault policy delete my-policyPolítica de exclusão

Exemplo de Política

# Read operation on the k/v secrets
path "secret/data/*" \\\\{
  capabilities = ["read"]
\\\\}

# Write operation on the k/v secrets
path "secret/data/myapp/*" \\\\{
  capabilities = ["create", "update"]
\\\\}

# Deny all access to secret/admin
path "secret/data/admin" \\\\{
  capabilities = ["deny"]
\\\\}

Métodos de Autenticação

Habilitar Métodos de Autenticação

ComandoDescrição
vault auth enable userpassAtivar nome de usuário/senha
vault auth enable ldapHabilitar LDAP
vault auth enable githubAtivar GitHub
vault auth enable awsHabilitar AWS IAM
vault auth enable kubernetesHabilitar Kubernetes

Configurar Métodos de Autenticação

ComandoDescrição
vault write auth/userpass/users/myuser password=mypass policies=my-policyCriar usuário
vault write auth/ldap/config url="ldap://ldap.example.com" userdn="ou=Users,dc=example,dc=com"Configurar LDAP
vault write auth/github/config organization=myorgConfigurar GitHub

Registro de Auditoria

Habilitar Dispositivos de Auditoria

ComandoDescrição
vault audit enable file file_path=/vault/logs/audit.logHabilitar auditoria de arquivo
vault audit enable syslogHabilitar auditoria de syslog
vault audit listListar dispositivos de auditoria
vault audit disable file/Desativar dispositivo de auditoria

Alta Disponibilidade e Clustering

Operações de Cluster

Would you like me to continue with the remaining translations?

ComandoDescrição
vault operator initInicializar cluster do Vault
vault operator unsealDesbloquear Vault
vault operator sealCofre Seal
vault operator step-downRenunciar como líder
vault operator raft list-peersListar pares Raft
ComandoDescrição
vault operator raft snapshot save backup.snapCriar snapshot
vault operator raft snapshot restore backup.snapRestaurar snapshot

Configuração do Servidor

storage "consul" \\\\{
  address = "127.0.0.1:8500"
  path    = "vault/"
\\\\}

listener "tcp" \\\\{
  address     = "0.0.0.0:8200"
  tls_disable = 1
\\\\}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
ui = true
seal "awskms" \\\\{
  region     = "us-east-1"
  kms_key_id = "12345678-1234-1234-1234-123456789012"
\\\\}
```### Auto-desselamento com AWS KMS

| Variável | Descrição |
|----------|-------------|
| `VAULT_ADDR` | Endereço do servidor Vault |
| `VAULT_TOKEN` | Token de autenticação |
| `VAULT_NAMESPACE` | Espaço de nomes do Vault (Enterprise) |
| `VAULT_CACERT` | Arquivo de certificado CA |
| `VAULT_CLIENT_CERT` | Arquivo de certificado de cliente |
| `VAULT_CLIENT_KEY` | Arquivo de chave privada do cliente |## Variáveis de Ambiente