10.7.2.4. SPIRE での JSON Web Token 認証の設定


アプリケーションが SPIFFE のアイデンティティーを使用して Vault にセキュアにログインできるように、JSON Web Token (JWT) 認証を設定する必要があります。

前提条件

  • Vault が初期化およびアンシールされていることを確認する。
  • テストシークレットがキー値シークレットエンジンに保存されていることを確認します。

手順

  1. ローカルマシンで、次のコマンドを実行して SPIRE 認証局 (CA) バンドルを取得し、ファイルに保存します。

    $ oc get cm -n zero-trust-workload-identity-manager spire-bundle -o jsonpath='{ .data.bundle\.crt }' > oidc_provider_ca.pem
  2. Vault Pod シェルに戻り、次のコマンドを実行して一時ファイルを作成し、oidc_provider_ca.pem の内容をそのファイルに貼り付けます。

    $ cat << EOF > /tmp/oidc_provider_ca.pem
    -----BEGIN CERTIFICATE-----
    <Paste-Your-Certificate-Content-Here>
    -----END CERTIFICATE-----
    EOF
  3. 次のコマンドを実行して、JWT 設定に必要な環境変数を設定します。

    $ export APP_DOMAIN=<Your-App-Domain>
    $ export JWT_ISSUER_ENDPOINT="oidc-discovery.$APP_DOMAIN"
    $ export OIDC_URL="https://$JWT_ISSUER_ENDPOINT"
    $ export OIDC_CA_PEM="$(cat /tmp/oidc_provider_ca.pem)"
  4. 次のコマンドを実行して、新しい環境変数を作成します。

    $ export ROLE="${NAME}-role"
  5. 次のコマンドを実行して、JWT 認証方法を有効にします。

    $ vault auth enable jwt
  6. 次のコマンドを実行して、ODIC 認証方法を設定します。

    $ vault write auth/jwt/config \
      oidc_discovery_url=$OIDC_URL \
      oidc_discovery_ca_pem="$OIDC_CA_PEM" \
      default_role=$ROLE
  7. 次のコマンドを実行して、ztwim-policy という名前のポリシーを作成します。

    $ export POLICY="${NAME}-policy"
  8. 次のコマンドを実行して、先ほど作成したシークレットへの読み取りアクセス権を付与します。

    $ vault policy write $POLICY -<<EOF
    path "secret/$NAME" {
        capabilities = ["read"]
    }
    EOF
  9. 次のコマンドを実行して、以下の環境変数を作成します。

    $ export APP_NAME=client
    $ export APP_NAMESPACE=demo
    $ export AUDIENCE=$APP_NAME
  10. 次のコマンドを実行して、特定の SPIFFE ID を持つワークロードにポリシーをバインドする JWT ロールを作成します。

    $ vault write auth/jwt/role/$ROLE -<<EOF
    {
      "role_type": "jwt",
      "user_claim": "sub",
      "bound_audiences": "$AUDIENCE",
      "bound_claims_type": "glob",
      "bound_claims": {
        "sub": "spiffe://$APP_DOMAIN/ns/$APP_NAMESPACE/sa/$APP_NAME"
      },
      "token_ttl": "24h",
      "token_policies": "$POLICY"
    }
    EOF
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る