10.7.2. Vault OpenID Connect について
Vault OpenID Connect (OIDC) と SPIRE を組み合わせると、信頼できる OIDC プロバイダーとして SPIRE を Vault で使用して、セキュアな認証方法を実現できます。ワークロードは、一意の SPIFFE ID を持つローカル SPIRE Agent から JWT-SVID を要求します。次に、ワークロードはこのトークンを Vault に提示します。Vault はそれを SPIRE Server 上の公開鍵と照合して検証します。すべての条件が満たされた場合、Vault は有効期間の短い Vault トークンをワークロードに発行します。ワークロードはこのトークンを使用してシークレットにアクセスし、Vault 内でアクションを実行できます。
10.7.2.1. Vault のインストール リンクのコピーリンクがクリップボードにコピーされました!
Vault を OIDC として使用する前に、Vault をインストールする必要があります。
前提条件
- ルートを設定します。詳細は、ルート設定 を参照してください。
- Helm がインストールされている。
- Vault API からの出力を簡単に読み取るためのコマンドライン JSON プロセッサー。
- HashiCorp Helm リポジトリーが追加されている。
手順
vault-helm-value.yamlファイルを作成します。global: enabled: true openshift: true1 tlsDisable: true2 injector: enabled: false server: ui: enabled: true image: repository: docker.io/hashicorp/vault tag: "1.19.0" dataStorage: enabled: true3 size: 1Gi standalone: enabled: true4 config: | listener "tcp" { tls_disable = 15 address = "[::]:8200" cluster_address = "[::]:8201" } storage "file" { path = "/vault/data" } extraEnvironmentVars: {}helm installコマンドを実行します。$ helm install vault hashicorp/vault \ --create-namespace -n vault \ --values ./vault-helm-value.yaml次のコマンドを実行して、Vault サービスを公開します。
$ oc expose service vault -n vault次のコマンドを実行して、
VAULT_ADDR環境変数を設定し、新しいルートからホスト名を取得してエクスポートします。$ export VAULT_ADDR="http://$(oc get route vault -n vault -o jsonpath='{.spec.host}')"注記TLS が無効になっているため、先頭に
http://が追加されます。
検証
Vault インスタンスが実行されていることを確認するために、次のコマンドを実行します。
$ curl -s $VAULT_ADDR/v1/sys/health | jq出力例
{ "initialized": true, "sealed": true, "standby": true, "performance_standby": false, "replication_performance_mode": "disabled", "replication_dr_mode": "disabled", "server_time_utc": 1663786574, "version": "1.19.0", "cluster_name": "vault-cluster-a1b2c3d4", "cluster_id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b" }