What is our primary use case?
I currently push secret data to our target namespaces. Before joining the company, I managed everything in HashiCorp Vault, but now I'm just a consumer.
We use it to store service principal credentials for Azure provisioning.
How has it helped my organization?
Before provisioning things in Azure, we use HashiCorp Vault to store service principal credentials—passwords and such. Then, we can identify if a user is authorized to provision resources.
If not, the blueprint will throw an error saying the user isn't authorized to provision or spin up resources in Azure. Same thing with other components, except for the applications themselves. We don't store credentials for those.
On the replication side, in a high-availability setup in multiple Vault instances, secret data is accessible by other resources. Each user or technical user has their own token, and there are different tokens for dev, test, QA, and product environments. It meets all three-point authentication, authorization, and access control requirements.
What is most valuable?
The ability to store secret credentials and create policies using API calls, like allowing specific users to access certain data only after authentication. That's the strongest point for our use case.
What needs improvement?
The onboarding is a challenge. It should be more self-service, but it involves reviews and approvals.
For how long have I used the solution?
I have been working with this solution for one year. I primarily use CLI execution.
What do I think about the stability of the solution?
It's stable. I would rate the stability a nine out of ten. Sometimes the issues are intermittent, but there are a lot of factors. Especially if the instances are running on-premises.
It could be a network latency issue between your cloud provider and the on-premises environment. That's why it's intermittent. You cannot do anything in your cloud.
What do I think about the scalability of the solution?
But if you run it on Kubernetes, you can easily scale it. We use it 24/7, as it's a critical storage for data. There are thousands of people using it.
Basically, if Vault is down, you cannot work with the cloud synchronously. That's how critical it is.
How are customer service and support?
I've never used an enterprise setup, so my experience is with the open-source HashiCorp Vault. I don't maintain it; I only use it when I have the opportunity.
The documentation is easy to follow.
Which solution did I use previously and why did I switch?
We're only using HashiCorp Vault, no other products.
How was the initial setup?
The process is quite easy. You install the Vault CLI, communicate with your Vault URL, and enter secret data from the CLI, application side, or technical users executing the label.
Installation is easy because there's a containerized image, but onboarding is a manual process involving documentation. For example, a new project team needs a unique number, fills out a form, and then can use the Vault instance.
Overall, I would rate my experience an eight out of ten, where one is difficult and ten is easy because the onboarding is a challenge. It should be more self-service, but it involves reviews and approvals.
What about the implementation team?
The deployment itself is easy and fast. It took me a minute to deploy HashiCorp. I used a container image, set it up manually, made sure the URL and DNS were set up, and shared it with the project team. They can access it via the Vault client from Windows or Linux machines.
Deployment can be done by two or three people. They could be DevOps, system engineers, or security engineers.
Only a few people are usually required for maintenance of HashiCorp Vault, but it depends on the size of the data, especially the secrets being stored in the vault. So, only a small group of people, five to six, can maintain it.
What's my experience with pricing, setup cost, and licensing?
The enterprise version would require considering factors like the level of support needed, the amount of secret data being stored, and replication needs.
But in my case, the open-source version works well. It's advisable for small to medium-scale organizations, but for large-scale organizations, you should go with the enterprise version.
Which other solutions did I evaluate?
Vault is the standard. However, there are other vaults. For example, in Azure, they have Azure Key Vault. But the main decision factor is always, "Can I integrate it into my existing landscape?" Because once you use Azure Key Vault, you need a cloud subscription.
Whereas with HashiCorp Vault, I can spin up an instance on-premises and integrate it with other cloud providers without relying on other products.
The question is, what works for you in terms of interoperability? If you choose HashiCorp Vault, Azure Key Vault, or another product, the de facto standard is really HashiCorp Vault. It's certified, so it's better to go with that and check on both.
What other advice do I have?
Go for it! It's essential for adopting a zero-trust architecture, especially in hybrid setups combining multiple cloud providers with on-premises infrastructure. You should have a centralized location for your secret data, not storing it in files that could be accidentally uploaded to versioning tools like Git. Hardcoded credentials are a no-go. Centralize with a solution like HashiCorp Vault.
Overall, I would rate the solution a ten out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: My company does not have a business relationship with this vendor other than being a customer.