---
title: "What is HashiCorp Vault and why should you know about it? - Cybr"
description: "Vault is an open-source secrets management tool used to automate access to secrets, data, and systems. This blog post comes from our Explained in 180…"
url: https://cybr.com/explained-series/what-is-hashicorp-vault-and-why-should-you-know-about-it/
---

# What is HashiCorp Vault and why should you know about it?

Vault is an open-source secrets management tool used to automate access to secrets, data, and systems. This blog post comes from our Explained in 180…

Christophe

Published May 8, 2023 · Updated August 25, 2023

Vault is an open-source secrets management tool used to automate access to secrets, data, and systems.

This blog post comes from our [Explained in 180 Seconds series](https://www.youtube.com/playlist?list=PL23mME9Pa0zU1OgrEq2DJOAzQ-i2yqFKQ) on YouTube. If you prefer watching videos over reading, here you go:

[HashiCorp Vault Explained in 180 seconds](https://www.youtube-nocookie.com/embed/nG8fCdWkLzc?start=1)

First released in April 2015 by HashiCorp, it’s undergone many version releases to support securely storing and controlling access to tokens, passwords, certificates, and encryption keys.

## Common Vault Use Cases

Vault can be used to protect sensitive data via the Command Line Interface, HTTP API calls, or even a User Interface.

It’s commonly used with cloud platforms like Azure, Google Cloud, and AWS, but it can be used with many other types of services that we’ll learn about in this post.

In fact, its most common use cases are:

- General secret storage
- Employee credential storage
- API key generation for scripts
- Data encryption

[](https://media.cybr.com/2023/05/slides.003.jpeg)

At its core, it’s really just open-source software that anyone can [download and install](https://github.com/hashicorp/vault).

## Getting Started with Vault

Once installed, you can start a Vault server. Vault operates as a client-server application which means that the server client interacts with a backend over a TLS-encrypted connection to access data storage.

[](https://media.cybr.com/2023/05/slides.007.jpeg)

Once the server is running, you can use a Vault client to retrieve stored secrets by using the Vault server’s IP address & port, as well as a Vault token.

```
vault status
```

From there, you can do a lot:

```
vault kv -help
```

Whenever you need to create a new secret, for example, you can do that like this:

```
vault kv put -mount=secret hello foo=world
```

…at which point that data is then stored encrypted in the backend, and the backend can’t decrypt that data without the Vault server, meaning that an attacker would have to gain access to your Vault server to be able to decrypt the data.

You can then retrieve that secret like this:

```
vault kv get -mount=secret hello
```

This is an example of using key/value secrets, but Vault can do much more than that. It can also connect to other services and provide encryption as a service.

## Secrets Engines Supported by Vault

You can view all of the [supported Secrets Engines](https://developer.hashicorp.com/vault/docs/secrets) in their documentation, but some notable ones are:

- Cloud providers
- Kubernetes
- Databases
- SSH
- Time-Based One-Time Passwords
- Etc…

[](https://media.cybr.com/2023/05/slides.010.jpeg)

You can think of these as plugins that you enable or disable depending on what you need Vault for.

```
vault secrets enable -path=aws aws
```

```
vault secrets list
```

## Dynamic Secrets in Vault

An added benefit of Vault is that it enables creating “Dynamic Secrets.”

With key/value pair, we’re storing static secrets like a username & password. What about secrets that should constantly change?

With Dynamic Secrets, the secrets only get created as they’re being read, and then destroyed once they’ve been used.

[](https://media.cybr.com/2023/05/slides.011.jpeg)

We could do this for cloud-based access.

Or, as another example, we could use this for database access.

Traditionally, developers have to generate a static set of database credentials, and then they set those credentials as environment variables or they write them statically in configuration files.

[](https://media.cybr.com/2023/05/slides.013.jpeg)

Applications can instead ask Vault for database credentials, and those credentials will have a Time to Live (TTL) so they expire after a certain amount of time. The application can continue using those credentials until they expire, and then Vault will generate new ones.

[](https://media.cybr.com/2023/05/slides.014.jpeg)

## Authentication Methods Supported by Vault

And before you ask…instead of having to use yet another authentication source for managing access to Vault, you can use one of many Auth Methods supported by Vault [that you can see here](https://developer.hashicorp.com/vault/docs/auth), including:

- Cloud providers
- JSON Web Tokens (JWT)
- Kerberos and LDAP
- Kubernetes
- Username & Password
- Etc…

[](https://media.cybr.com/2023/05/slides.015.jpeg)

That way, you can delegate the authentication administration and decision to an external auth method that you *already* use in your organization or development process.

## Using Vault

Once you’ve set up your Vault server and it’s running, you can access it via the CLI like I’ve shown in this video, or you can access it via the REST HTTP APIs, which is usually what the CLI is doing anyway.

[](https://media.cybr.com/2023/05/slides.016.jpeg)

You can also use a Web User Interface (UI) though, to manage many different aspects of Vault.

## Summary & Cheat Sheet

So overall, Vault is a secure storage system that provides users with a safe and convenient way to store sensitive information. It offers storing encrypted data and multiple layers of authentication to ensure a high level of security, making it an ideal solution for businesses and individuals.

If you enjoyed this post, check out our [YouTube series](https://www.youtube.com/playlist?list=PL23mME9Pa0zU1OgrEq2DJOAzQ-i2yqFKQ) for more like this. I’m also curious to hear if you’re using any other sort of secrets management tool or if you plan on trying out Vault after reading this article, so leave a comment below with your thoughts!

We also published a HashiCorp Vault cheat sheet that you can [download here](https://cybr.com/cloud-security/hashicorp-vault-cheat-sheet/).

Thanks for reading, and see you next time.

## Filed under

- [Application Security](https://cybr.com/application-security-archives/)
- [Cloud Security](https://cybr.com/cloud-security/)
- [Cybersecurity Fundamentals](https://cybr.com/cybersecurity-fundamentals-archives/)
- [Explained Series](https://cybr.com/explained-series/)
- [Application Security](https://cybr.com/tag/application-security/)
- [Cloud Security](https://cybr.com/tag/cloud-security/)
- [Credentials](https://cybr.com/tag/credentials/)
- [Explained Series](https://cybr.com/tag/explained-series/)
- [Web Security](https://cybr.com/tag/web-security/)

## Comments

Loading comments…

Recommended resources

[![Explore the AWS Certified Security Specialty course](https://media.cybr.com/2023/12/cybr-aws-security-specialty-banner-768x432.jpg)](https://cybr.com/courses/aws-certified-security-specialty-course/)

## Build practical AWS security skills

Start with the core services, then prepare for the AWS Certified Security Specialty exam with guided lessons and hands-on practice.

[Introduction to AWS Security](https://cybr.com/courses/introduction-to-aws-security/) [Security Specialty course](https://cybr.com/courses/aws-certified-security-specialty-course/)
