What is Vault?
Vault is a tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log.
Vault is a tool in the Secrets Management category of a tech stack.
Vault is an open source tool with 22.6K GitHub stars and 3.2K GitHub forks. Here’s a link to Vault's open source repository on GitHub
Who uses Vault?
208 companies reportedly use Vault in their tech stacks, including Robinhood, trivago, and N26.
385 developers on StackShare have stated that they use Vault.
Amazon EKS, Nomad, StackStorm, Gaia, and Hashicorp Sentinel are some of the popular tools that integrate with Vault. Here's a list of all 10 tools that integrate with Vault.
Pros of Vault
Very easy to set up and use
Variety of Secret Backends
Dynamic secret generation
Leasing and Renewal
Privilege Access Management
Handles secret sprawl
Variety of Auth Backends
Easy to integrate with
Decisions about Vault
Here are some stack decisions, common use cases and reviews by companies and developers who chose Vault in their tech stack.
Hi, Could you please suggest which would be better to use Vault or Keycloak for user authentication and password?
Dec 10 2019 at 8:35AM
- Secure Secret Storage: Arbitrary key/value secrets can be stored in Vault. Vault encrypts these secrets prior to writing them to persistent storage, so gaining access to the raw storage isn't enough to access your secrets. Vault can write to disk, Consul, and more.
- Dynamic Secrets: Vault can generate secrets on-demand for some systems, such as AWS or SQL databases. For example, when an application needs to access an S3 bucket, it asks Vault for credentials, and Vault will generate an AWS keypair with valid permissions on demand. After creating these dynamic secrets, Vault will also automatically revoke them after the lease is up.
- Data Encryption: Vault can encrypt and decrypt data without storing it. This allows security teams to define encryption parameters and developers to store encrypted data in a location such as SQL without having to design their own encryption methods.
- Leasing and Renewal: All secrets in Vault have a lease associated with it. At the end of the lease, Vault will automatically revoke that secret. Clients are able to renew leases via built-in renew APIs.
- Revocation: Vault has built-in support for secret revocation. Vault can revoke not only single secrets, but a tree of secrets, for example all secrets read by a specific user, or all secrets of a particular type. Revocation assists in key rolling as well as locking down systems in the case of an intrusion.
Vault Alternatives & Comparisons
What are some alternatives to Vault?
See all alternatives
Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
Surge makes it easy for developers to deploy projects to a production-quality CDN through Grunt, Gulp, npm.
It is the only security software company focused on eliminating cyber threats using insider privileges to attack the heart of the enterprise.
AWS Secrets Manager
AWS Secrets Manager helps you protect secrets needed to access your applications, services, and IT resources. The service enables you to easily rotate, manage, and retrieve database credentials, API keys, and other secrets throughout their lifecycle.
Azure Key Vault
Secure key management is essential to protect data in the cloud. Use Azure Key Vault to encrypt keys and small secrets like passwords that use keys stored in hardware security modules (HSMs). For more assurance, import or generate keys in HSMs, and Microsoft processes your keys in FIPS 140-2 Level 2 validated HSMs (hardware and firmware). With Key Vault, Microsoft doesn’t see or extract your keys. Monitor and audit your key use with Azure logging—pipe logs into Azure HDInsight or your security information and event management (SIEM) solution for more analysis and threat detection.