Hi folks,
My team is looking at deploying Vault. One of the features I understand about vault is the ability to seal the vault that requires a quorum of keys to unseal. My understanding is that, when implemented this way, no one single individual have full control over the encrypted secrets. When backed by a team process that backs this, it can help mitigate certain security scenarios.
However, in practice, it seems as if people look for ways to work around it:
- I remember reading a Hacker News comment about the motivation behind writing an automated unseal script for an HA deployment of Vault. That having to unseal the vault (through reboots, maintenance, etc.) happens often enough that the operator wrote a script to unseal them all at once.
- Google Cloud's intro tutorial shows how unseal keys could be stored in the GCP KMS, and how to manually unseal things. For the purpose of the tutorial, all keys are stored in the KMS, all of them available to the same operator.
- Vault's own webpage shows an enterprise feature for automatically unsealing Vault through AWS KMS and GCP AWS.
I'm trying to figure out:
(1) Why does it seem that in production deployment of Vault, operators seem to get around the key quoram. At that point, wouldn't it be better just to have a single unseal key?
(2) What is the advantage of storing the key in one of the cloud KMS? I know AWS's documentation mentions something about hardware support. I suppose if a human operator cannot get direct access to the key, and the Vault gets automatically and regularly rekeyed, it would be harder to steal the unseal keys.
Am I misunderstanding something about Vault?
Ho-Sheng Hsiao
Legal.io