10.7.2.6. 認証とシークレットの取得


デモアプリケーションを使用して SPIFFE Workload API から JWT トークンを取得し、それを使用して Vault にログインしてシークレットを取得します。

手順

  1. 実行中のクライアント Pod 内で次のコマンドを実行して、JWT-SVID を取得します。

    $ oc -n $APP_NAMESPACE exec -it $(oc get pod -o=jsonpath='{.items[*].metadata.name}' -l app=$APP_NAME -n $APP_NAMESPACE) \
      -- /opt/spire/bin/spire-agent api fetch jwt \
      -socketPath /run/spire/sockets/spire-agent.sock \
      -audience $AUDIENCE
  2. 出力からトークンをコピーし、次のコマンドを実行してローカルマシン上で環境変数としてエクスポートします。

    $ export IDENTITY_TOKEN=<Your-JWT-Token>
  3. 次のコマンドを実行して、新しい環境変数を作成します。

    $ export ROLE="${NAME}-role"
  4. 次のコマンドを実行して、curl を使用して JWT トークンを Vault ログインエンドポイントに送信し、Vault クライアントトークンを取得します。

    $ VAULT_TOKEN=$(curl -s --request POST --data '{ "jwt": "'"${IDENTITY_TOKEN}"'", "role": "'"${ROLE}"'"}' "${VAULT_ADDR}"/v1/auth/jwt/login | jq -r '.auth.client_token')

検証

  • 次のコマンドを実行し、新しく取得した Vault トークンを使用してキー/値ストアからシークレットを読み取ります。

    $ curl -s -H "X-Vault-Token: $VAULT_TOKEN" $VAULT_ADDR/v1/secret/$NAME | jq

    出力にシークレットの内容 ("version": "v0.1.0") が表示されます。これにより、ワークフロー全体が成功したことを確認できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る