ページの先頭行へ戻る
Enterprise Postgres 15 オペレーターユーザーズガイド

4.5.5 HashiCorp Vault Provider for Secret Store CSI Driverのインストール

4.5.5.1 Helmチャートを利用したHashiCorp Providerドライバのインストール

helm repo add hashicorp https://helm.releases.hashicorp.com
helm install vault hashicorp/vault --set "server.enabled=false"  --set "injector.enabled=false" --set "csi.enabled=true"

4.5.5.2 HashiCorp VaultのKubernetesの認証の設定

vault auth enable kubernetes
vault write auth/kubernetes/config \
token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
kubernetes_host="https://$KUBERNETES_PORT_443_TCP_ADDR:443" \
kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt

4.5.5.3 HashiCorp Vaultへのシークレットの格納

vault enable secret
vault kv put secret/<path> <secret name>=<secret value>

4.5.5.4 HashiCorp Vaultへの証明書の格納

HashiCorp Vaultに証明書をアップロードする前に、証明書を以下の形式にします。1つの.pemファイル(1つのファイルにキー、crt、および CAを含む)にする必要があります。

(証明書の形式のサンプルについては、“mycert.pem”を参照)

Vault kv put secret/<path> <secret name>=@<path to cert.pem>

4.5.5.5 HashiCorp Vaultからシークレットにアクセスするためのポリシーとロールの作成

ポリシー:

vault policy write <policy name> - <<EOF
path "secret/database/credentials" {
capabilities = ["read", "write", "update","delete"]
}
EOF

ロール:

vault write auth/kubernetes/role/<role name> \
bound_service_account_names=* \
bound_service_account_namespaces=*\
policies=<policy name> \
ttl=24h

注意: <fep-cluster>-sa サービス アカウントを bound_service_account_names に割り当てることでアクセスを制限でき、bound_service_account_namespaces に値を割り当てることで名前空間を制限することもできます。

注意

HashiCorp Vaultに格納されるシークレットのキー値は1つだけです。