Back to all tools
HashiCorp Vault logo

HashiCorp Vault

Secure, store, and tightly control access to tokens, passwords, and certificates.

0Free-Limited
Security Secrets Management
Share:XLinkedInWhatsApp

Overview

A tool for securely storing and accessing secrets such as tokens, passwords, certificates, and encryption keys.

Key Features

  • Dynamic secrets — generate short-lived credentials on demand for AWS, databases, and more
  • All secrets have a TTL and are automatically revoked on expiry
  • Multiple auth methods: Kubernetes, AWS IAM, LDAP, GitHub, and AppRole
  • Transit secrets engine for encryption-as-a-service
  • PKI secrets engine for automated internal TLS certificate management
  • Detailed audit log for every secret access and policy change

Real-World Workflows

Dynamic database credentials for microservices

  1. 1Configure Vault's database secrets engine with a PostgreSQL connection
  2. 2Define a role with a SQL template for creating temporary users
  3. 3Application authenticates to Vault using its Kubernetes service account
  4. 4Vault issues a unique username and password with a 1-hour TTL
  5. 5Credentials are automatically revoked when the TTL expires

Injecting secrets into Kubernetes pods

  1. 1Install the Vault Agent Injector via Helm into the cluster
  2. 2Annotate the pod spec with vault.hashicorp.com/agent-inject-secret annotations
  3. 3Vault Agent sidecar authenticates and writes secrets to a shared in-memory volume
  4. 4Application reads secrets from /vault/secrets/ at runtime without any SDK
  5. 5Secrets are automatically refreshed before the lease expires

Getting Started

# Run Vault in dev mode:
docker run --cap-add=IPC_LOCK \
  -e VAULT_DEV_ROOT_TOKEN_ID=root \
  -p 8200:8200 hashicorp/vault
export VAULT_ADDR='http://127.0.0.1:8200'
vault status

Compare Alternatives

See how HashiCorp Vault stacks up against similar tools.