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 リポジトリーが追加されている。

手順

  1. vault-helm-value.yaml ファイルを作成します。

    global:
      enabled: true
      openshift: true 
    1
    
      tlsDisable: true 
    2
    
    injector:
      enabled: false
    server:
      ui:
        enabled: true
      image:
        repository: docker.io/hashicorp/vault
        tag: "1.19.0"
      dataStorage:
        enabled: true 
    3
    
        size: 1Gi
      standalone:
        enabled: true 
    4
    
        config: |
          listener "tcp" {
            tls_disable = 1 
    5
    
            address = "[::]:8200"
            cluster_address = "[::]:8201"
          }
          storage "file" {
            path = "/vault/data"
          }
      extraEnvironmentVars: {}
    1 1
    OpenShift 固有のセキュリティーコンテキストのデプロイメントを最適化します。
    2
    チャートによって作成される Kubernetes オブジェクトの TLS を無効にします。
    3
    Vault データを保存するための 1Gi の永続ボリュームを作成します。
    4
    1 つの Vault Pod をデプロイします。
    5
    Vault サーバーに TLS を使用しないように指示します。
  2. helm install コマンドを実行します。

    $ helm install vault hashicorp/vault \
      --create-namespace -n vault \
      --values ./vault-helm-value.yaml
  3. 次のコマンドを実行して、Vault サービスを公開します。

    $ oc expose service vault -n vault
  4. 次のコマンドを実行して、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"
    }

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る