Como usar o HashiCorp Vault nos clusters do Anthos na AWS

O HashiCorp Vault (em inglês) é uma solução de gerenciamento de secrets de terceiros que se integra ao Kubernetes e aos clusters Anthos na AWS.

É possível implantar o Vault nos cluster do Anthos na AWS usando:

É possível acessar os secrets do Vault nos pods usando o injetor do arquivo secundário do agente. O injetor é um controlador de webhook mutante do Kubernetes. O controlador intercepta os 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, na sigla em inglês) de um pod com o método de autenticação do Kubernetes no Vault. A conta de KSA precisa estar vinculada a um papel do Vault com uma política que conceda acesso aos secrets.

Depois de configurado, é possível solicitar secrets anotando um pod.

O snippet a seguir inclui anotações que você adicionaria a um pod. Se o papel myapp tiver acesso ao secret secret/banana, o Vault o ativará 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"

É possível aplicar esta configuração:

  • em um pod com kubectl edit pod/pod-name;
  • em uma implantação com kubectl edit deployment/deployment-name.

A seguir