What is our primary use case?
My main use case for HashiCorp Vault is that I use it as a secrets management store, so rather than providing secret or sensitive information directly in code and then committing it to a codebase, I instead store it within HashiCorp Vault and then the application calls it from there.
The second thing I use it for is dynamic secrets generation, so rather than using GCP service account keys, I use HashiCorp Vault to dynamically generate those keys, which is more secure.
The way that we set up dynamic secrets generation with HashiCorp Vault is that our application, when it needs to run a pipeline and be deployed via a GitLab pipeline, the user who's running the pipeline creates a call to HashiCorp Vault and it asks for a dynamic secret to be generated for GCP service accounts. So rather than storing a JSON key directly in GCP, which is a long-lived credential, instead, the dynamic credential is provisioned. It's handed back to the application and then the application service account uses that to authenticate. Then the dynamic short-lived credential is destroyed in a short period of time, which makes it a secure workflow.
What is most valuable?
In my experience, the best features that HashiCorp Vault offers is the dynamic secrets generation feature because it lowers the blast radius if a leak was to ever occur, because the credentials would expire much more quickly than if static keys were used. Because within, for example, Google Cloud or maybe AWS, you can create a key and have it live forever. So you could be managing hundreds or maybe even thousands of keys, but they're so long-lived; if it was ever compromised, it'd be a real problem. Someone could steal it and then use it five years later technically. But if you're using dynamic secrets generation with HashiCorp Vault and you're setting the credential to expire after maybe an hour, rather than ten years or maybe never expiring directly in the cloud platforms, then your security is greatly enhanced.
I also value the auditing feature of HashiCorp Vault; every single action such as who accessed what and when is logged, so that's also a highly secure feature that I value.
The auditing feature of HashiCorp Vault has helped me and my team by allowing organizations which split developers to non-prod only access and DevOps or platform automation teams or SRE teams to production only, to very quickly identify from the auditing if anyone's access credentials are incorrectly configured. For example, if a developer is ever trying to generate access to a production environment through a dynamic credential, you could quite easily pick up on that. So that's a very good, secure feature which integrates well with an organization's own access control policies.
HashiCorp Vault has positively impacted security governance that we have by greatly reducing the risk of a leak and then a bypass, but overall, it's increased the security of our organization.
What needs improvement?
HashiCorp Vault is quite complex to use for new users and has a steep learning curve; I would consider the tool very good for highly advanced teams who manage huge numbers of credentials, but it's probably not very appropriate for smaller teams with maybe less experience using vaults such as this. Setting up a highly available cluster is a difficult task and it's also quite operationally heavy.
Another issue is although there's a free open-source version of HashiCorp Vault, the paid-for version, the Enterprise version, is very expensive, so it can be quite complex and expensive to use as a tool.
I would say that support and documentation for HashiCorp Vault are both quite good; I would say its documentation is some of the best out of any cloud tooling, but it's really just the complexity and the cost which are the drawbacks to HashiCorp Vault.
What do I think about the stability of the solution?
HashiCorp Vault is very stable, but also the stability is also up to the customer because you would have to manage your own cluster. So it really depends on what machines you're running on and how you're scaling that; it is very stable, and you have flexibility and customizability over how stable you want to make it as well.
What do I think about the scalability of the solution?
HashiCorp Vault's scalability is highly scalable because you control the infrastructure, so you could run it on a cluster which you have numerous machines which are large sizes, making it as big as you want or as small as you want.
How are customer service and support?
The customer support for HashiCorp Vault is very good, and its documentation is also very good; the documentation for other HashiCorp tools as well is very good, so I have no complaints.
I would rate the customer support of HashiCorp Vault a ten out of ten; I've not directly interacted with customer support, but my colleagues have done and they've never had any issues.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
I have previously used Akeyless Secret Management, AWS Secrets Manager, and GCP Secrets Manager; they're all good tools and it just depends what the use case is. If you are specifically operating within one cloud such as GCP, you'd probably want to use GCP Secret Manager, which is quicker, easier, and probably cheaper as well. If you are using numerous clouds and numerous environments, Akeyless is probably good because it's easier to set up and probably cheaper as well. If you have a full enterprise rollout, you're multi-cloud, you have thousands and thousands of secrets, and you need the best of the best, then HashiCorp Vault is probably the best.
What was our ROI?
From a money-saved perspective regarding HashiCorp Vault, it's hard to say; I suppose for an organization which might have frequent breaches, which isn't an organization I've worked for before, but if you were in an organization that had frequent breaches, you probably would have a very quick and powerful money-saved return on investment because when a breach occurs, it could easily cost in the tens of thousands or hundreds of thousands of pounds or dollars. I don't think HashiCorp Vault saves time; it uses more time. The real benefit is the increased security. I suppose an ongoing time save, which is more of a trickle, is when you're carrying out auditing and compliance; it's a lot easier to use the data that HashiCorp Vault provides to do that. So there probably has been a time save from that perspective, but setting it up is also quite a time-consuming activity as well as the operational management.
What's my experience with pricing, setup cost, and licensing?
The pricing setup cost for HashiCorp Vault is quite expensive, especially if you consider it against native, cloud-native equivalent tooling. So within GCP, I'm thinking about Secret Manager, AWS Secrets Manager as well; those tools are, from my experience, cheaper to use and also easier to set up as well. It takes less effort because they're managed by the cloud provider, whereas if you're running HashiCorp Vault, the way that I've seen it done is you would have to manage your own cluster, introducing a layer of complexity and potentially higher cost if you're doing it in a cost-inefficient manner.
Which other solutions did I evaluate?
I evaluated Akeyless as another option, and as I mentioned before, Akeyless is good if you have a multi-cloud deployment and you want it cheaper and easier. HashiCorp Vault is probably best if you have a full massive enterprise rollout due to the enterprise support features and because HashiCorp Vault has been in the marketplace for a long time; so there's a lot of knowledge from the support team and also in the documentation just because of how established it is in the marketplace.
What other advice do I have?
I give HashiCorp Vault an eight out of ten because it's a very good tool that offers great security features, but it's very specific in its application. If you are a complex organization operating in a multi-cloud fashion and needing strict compliance standards such as SOC 2, then it would be brilliant. But if you're a small team of developers, or you have a very small budget or not very much previous history operating a vault such as HashiCorp Vault, then it probably isn't appropriate. So although it's a great tool for some use cases, it's not applicable to every scenario, which prevents me from giving it a ten out of ten.
I would advise others looking into using HashiCorp Vault to use it if their scenario is an enterprise rollout and they have a large budget. It is a great tool, but it does come with a lot of time needed to maintain it and also financial cost associated with it as well.
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Google