שימוש ב-HashiCorp Vault ב-GKE ב-AWS

HashiCorp Vault הוא פתרון לניהול סודות של צד שלישי שמשתלב עם Kubernetes ו-GKE ב-AWS.

אפשר לפרוס את Vault ב-GKE ב-AWS באמצעות:

אפשר לגשת לסודות של Vault בתוך פודים באמצעות Agent Sidecar injector. ה-injector הוא Kubernetes Mutating Webhook Controller. הבקר מיירט אירועים של Pod ומעדכן את ההגדרה של ה-Pod.

ה-Vault Agent Injector משתמש בחשבון שירות Kubernetes (KSA) של Pod עם שיטת האימות של Vault Kubernetes. חשבון ה-KSA צריך להיות מקושר לתפקיד ב-Vault עם מדיניות שמעניקה גישה לסודות.

אחרי ההגדרה, אפשר לבקש סודות על ידי הוספת הערה ל-Pod.

קטע הקוד הבא כולל הערות שמוסיפים ל-Pod. אם לתפקיד myapp יש גישה לסוד secret/banana, ‏ Vault יטען אותו ב-/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"

אפשר להחיל את ההגדרה הזו:

  • ל-Pod עם kubectl edit pod/pod-name.
  • לפריסה עם kubectl edit deployment/deployment-name.

המאמרים הבאים