11.2. ボリュームローテーションを使用したバインドされたサービスアカウントトークンの設定


ボリュームの展開を使用してバインドされたサービスアカウントのトークンを要求するように Pod を設定できます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • サービスアカウントを作成している。この手順では、サービスアカウントの名前が build-robot であることを前提としています。

手順

  1. オプションで、サービスアカウントの発行者を設定します。

    通常、このステップはバインドされたトークンがクラスター内でのみ使用される場合には必要ありません。

    1. cluster Authentication オブジェクトを編集します。

      $ oc edit authentications cluster
      Copy to Clipboard Toggle word wrap
    2. spec.serviceAccountIssuer フィールドを、必要なサービスアカウント発行者の値に設定します。

      spec:
        serviceAccountIssuer: https://test.default.svc 
      1
      Copy to Clipboard Toggle word wrap
      1
      この値は URL である必要があり、バインドされたトークンの受信側はトークンの署名の検証に必要なパブリックキーを取得できます。デフォルトは https://kubernetes.default.svc です。
  2. ボリュームの展開を使用してバインドされたサービスアカウントのトークンを使用するように Pod を設定します。

    1. 以下の内容を含む pod-projected-svc-token.yaml ファイルを作成します。

      apiVersion: v1
      kind: Pod
      metadata:
        name: nginx
      spec:
        containers:
        - image: nginx
          name: nginx
          volumeMounts:
          - mountPath: /var/run/secrets/tokens
            name: vault-token
        serviceAccountName: build-robot 
      1
      
        volumes:
        - name: vault-token
          projected:
            sources:
            - serviceAccountToken:
                path: vault-token 
      2
      
                expirationSeconds: 7200 
      3
      
                audience: vault 
      4
      Copy to Clipboard Toggle word wrap
      1
      既存のサービスアカウントへの参照。
      2
      トークンの展開先となるファイルのマウントポイントに対する相対パス。
      3
      オプションで、サービスアカウントトークンの有効期限を秒単位で設定します。デフォルトは 3600 秒 (1 時間) で、600 秒 (10 分) 以上にする必要があります。トークンの有効期間がその 80% を過ぎている場合や、トークンの生成から 24 時間を経過している場合、kubelet はトークンのローテーションの試行を開始します。
      4
      オプションで、トークンの意図された対象を設定します。トークンの受信側は、受信側のアイデンティティーがトークンの適切対象の要求と一致することを確認し、一致しない場合はトークンを拒否する必要があります。対象はデフォルトで API サーバーの識別子に設定されます。
    2. Pod を作成します。

      $ oc create -f pod-projected-svc-token.yaml
      Copy to Clipboard Toggle word wrap

      kubelet は Pod に代わってトークンを要求し、保存し、トークンを設定可能なファイルパスで Pod に対して利用可能にし、有効期限に達するとトークンを更新します。

  3. バインドされたトークンを使用するアプリケーションは、ローテーション時にトークンのリロードを処理する必要があります。

    トークンの有効期間がその 80% を過ぎている場合や、トークンの生成から 24 時間を経過している場合、kubelet はトークンをローテーションします。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2025 Red Hat