Managing secrets with Vault
Secrets management is a big topic, and many open source and proprietary solutions have been developed to help solve the secrets management problem on different platforms. So, in Kubernetes, its built-in Secret
object is used to store secret data, and the actual data is stored in etcd
along with other Kubernetes objects. By default, the secret data is stored in plaintext (encoded format) in etcd
. etcd
can be configured to encrypt secrets at rest. Similarly, if etcd
is not configured to encrypt communication using Transport Layer Security (TLS), secret data is transferred in plaintext too. Unless the security requirement is very low, it is recommended to use a third-party solution to manage secrets in a Kubernetes cluster.
In this section, we're going to introduce Vault, a Cloud Native Computing Foundation (CNCF) secrets management project. Vault supports secure storage of secrets, dynamic secrets' generation, data encryption, key revocation,...