AWS 上の Anthos クラスタでの HashiCorp Vault の使用

HashiCorp Vault は、Kubernetes と AWS 上の Anthos クラスタを統合するサードパーティの Secret 管理ソリューションです。

次のコマンドを使用して、AWS 上の Anthos クラスタに Vault をデプロイできます。

Agent Sidecar インジェクタを使用して、Pod 内の Vault Secret にアクセスできます。インジェクタは Kubernetes Mutating Webhook Controller です。このコントローラは Pod イベントをインターセプトし、Pod の構成を更新します。

Vault Agent Injector は、Pod の Kubernetes サービス アカウント(KSA)と Vault Kubernetes Auth メソッドを使用します。KSA アカウントは Vault ロールにバインドし、Secret へのアクセス権を付与するポリシーを設定する必要があります。

構成が完了すると、Pod にアノテーションを付けて Secret をリクエストできます。

次のスニペットには、Pod に追加するアノテーションが含まれています。myapp ロールが Secret secret/banana にアクセスできる場合、Vault は /vault/secrets/apple に Secret をマウントします。

spec:
  template:
    metadata:
      annotations:
        vault.hashicorp.com/agent-inject: "true"
        vault.hashicorp.com/agent-inject-secret-apple: "secrets/banana"
        vault.hashicorp.com/role: "myapp"

次の構成を適用できます。

  • kubectl edit pod/pod-name を使用して Pod に適用。
  • kubectl edit deployment/deployment-name を使用して Deployment に適用。

次のステップ