O HashiCorp Vault é uma solução de gerenciamento de segredos de terceiros que se integra ao Kubernetes e ao GKE na AWS.
Você pode implantar o Vault no GKE na AWS usando:
- Gráfico oficial do Helm da HashiCorp
- Vault no GKE , que é instalado com o Terraform.
Você pode acessar os segredos do Vault dentro dos pods usando o injetor do Agent Sidecar. O injetor é um Controlador Webhook Mutante do Kubernetes . O controlador intercepta eventos do Pod e atualiza a configuração do Pod.
O Injetor do Agente do Vault usa a Conta de Serviço do Kubernetes (KSA) de um Pod com o método de Autenticação do Kubernetes do Vault. A conta KSA deve estar vinculada a uma função do Vault com uma política que conceda acesso aos segredos.
Uma vez configurado, você pode solicitar segredos anotando um Pod.
O snippet a seguir inclui anotações que você adicionaria a um Pod. Se a função myapp
tiver acesso ao secret/banana
, o Vault o montará em /vault/secrets/apple
.
spec:
template:
metadata:
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-secret-apple: "secrets/banana"
vault.hashicorp.com/role: "myapp"
Você pode aplicar esta configuração:
- Para um Pod com
kubectl edit pod/ pod-name
. - Para uma implantação com
kubectl edit deployment/ deployment-name
.
O que vem a seguir
- Leia a documentação do Vault Injector .
- Revise o repositório GitHub vault-k8s .