Utiliser HashiCorp Vault sur GKE sur AWS

HashiCorp Vault est une solution tierce de gestion des secrets qui s'intègre à Kubernetes et à GKE sur AWS.

Vous pouvez déployer Vault sur GKE sur AWS à l'aide des ressources suivantes :

Vous pouvez accéder aux secrets Vault à l'intérieur des pods à l'aide de l'injecteur side-car d'agent. L'injecteur est un contrôleur webhook à mutation Kubernetes. Le contrôleur intercepte les événements du pod et met à jour sa configuration.

L'injecteur d'agent Vault utilise le compte de service Kubernetes (KSA) d'un pod avec la méthode d'authentification Vault Kubernetes. Le compte KSA doit être associé à un rôle Vault avec une stratégie accordant l'accès aux secrets.

Une fois configuré, vous pouvez demander des secrets en annotant un pod.

L'extrait suivant inclut les annotations pouvant être ajoutées à un pod. Si le rôle myapp a accès au secret secret/banana, Vault l'installe à l'adresse /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"

Vous pouvez appliquer cette configuration :

  • à un pod avec kubectl edit pod/pod-name ;
  • dans un déploiement avec kubectl edit deployment/deployment-name.

Étapes suivantes