Skip to content

SPIFFE/SPIRE クイズ ​

最終更新: September 13, 2026

問題 ​

1. 有効な SPIFFE ID はどれですか? ​

  • A) https://example.org/app
  • B) spiffe://example.org/app
  • C) spiffe://example.org:8443/app
  • D) spiffe://example.org/app?role=admin
答えを表示

回答: B) spiffe://example.org/app

spiffe スキーム、trust domain(信頼ドメイン)、および任意のパスを使用します。ポート、クエリ、フラグメントは許可されません。パス構造はサイト側で定義するものであり、/ns/.../sa/... に限定されません。

2. X.509/JWT-SVID の検証について正しく説明しているのはどれですか? ​

  • A) X.509 の CN のみを確認する
  • B) JWT の署名が有効であれば audience は不要になる
  • C) X.509 の URI SAN/証明書チェーンと、JWT の署名/sub/audience/有効期限を検証する
  • D) JWT の audience チェックによってすべてのリプレイを防止できる
答えを表示

回答: C) X.509 の URI SAN/証明書チェーンと、JWT の署名/sub/audience/有効期限を検証する

証明書の CN は SPIFFE identity ではありません。JWT bearer token は audience が一致していてもリプレイされる可能性があります。有効期間はポリシーに依存し、本章で扱う X.509/JWT の範囲は Incubating の WIT-SVID 仕様とは別ものです。

3. SPIRE Server の役割は何ですか? ​

  • A) すべてのアプリケーション接続を自動的に暗号化する
  • B) agent の attestation、登録、SVID の署名を管理する
  • C) すべてのサービスリクエストを自動的に認可する
  • D) CSI を通じてすべての Pod に秘密鍵ファイルを配布する
答えを表示

回答: B) agent の attestation、登録、SVID の署名を管理する

CA/JWT 署名、DataStore、KeyManager の責務を区別してください。AWS PCA を upstream にすると SPIRE の中間 CA に署名されますが、ローカルでの leaf 署名や鍵管理がなくなるわけではありません。

4. Workload API を呼び出しているアプリケーションを識別するのは誰ですか? ​

  • A) ローカルの SPIRE agent の workload attestor
  • B) DNS リゾルバー
  • C) ファイル名を確認する CSI
  • D) アプリケーションが自己申告した SPIFFE ID のみ
答えを表示

回答: A) ローカルの SPIRE agent の workload attestor

agent は呼び出し元の PID/cgroups/Pod メタデータを調べ、認可済みのエントリ/キャッシュと照合します。agent Pod 内から取得した場合は、実際のアプリケーションのコンテキストではなくその呼び出し元が attest されます。

5. server は k8s_psat token をどのように検証しますか? ​

  • A) IRSA ロールの S3 権限を確認する
  • B) Kubernetes の TokenReview に加えて、設定された audience/SA の許可リストで検証する
  • C) token を base64 デコードするだけ
  • D) 有効期限のない join token に変換する
答えを表示

回答: B) Kubernetes の TokenReview に加えて、設定された audience/SA の許可リストで検証する

server/agent の論理クラスター名、token の audience、SA 許可リスト、TokenReview の権限を一致させてください。aws_iid は異なる信頼の前提を持つ代替手段であり、常に優れているわけでも EKS で禁止されているわけでもありません。

6. k8s:container-image:nginx:* はどのように解釈すべきですか? ​

  • A) すべての nginx タグに対する自動的な glob マッチング
  • B) selector の値であり、ワイルドカードマッチングを前提にしてはならない
  • C) イメージ署名が検証されていることの証明
  • D) namespace の RBAC を自動的に強制すること
答えを表示

回答: B) selector の値であり、ワイルドカードマッチングを前提にしてはならない

Kubernetes が実際に報告する image/ImageID の値と一致させてください。タグだけではサプライチェーンの信頼は確立できません。Pod/SA/label の作成・変更権限も identity の適格性に影響します。

7. SPIFFE CSI 0.2.13 は Pod に何をマウントしますか? ​

  • A) 自動生成された svid.pem/svid.key ファイル
  • B) Workload API の Unix socket を含むディレクトリ
  • C) SPIRE の CA 秘密鍵
  • D) 共有された PostgreSQL のデータ
答えを表示

回答: B) Workload API の Unix socket を含むディレクトリ

CSI は API socket へのアクセスを提供します。ファイルベースのアプリケーションには別途アダプターとリロード処理が必要です。API を利用するのは依然としてアプリケーションまたは proxy であり、統合が常に自動で行われるわけではありません。

8. https_spiffe の federation をブートストラップするには何が必要ですか? ​

  • A) エンドポイント URL のみ
  • B) 初期の信頼済み bundle と正しいエンドポイントの SPIFFE ID
  • C) 双方の CA 秘密鍵を交換すること
  • D) すべてのリモート workload を自動的に認可すること
答えを表示

回答: B) 初期の信頼済み bundle と正しいエンドポイントの SPIFFE ID

信頼の方向ごとに設定してください。bundle の更新、接続性、TLS 検証、workload の認可はそれぞれ別の責務です。https_web はエンドポイントの Web PKI 検証パスを使用します。

9. IRSA と SPIFFE/SPIRE を正しく比較しているのはどれですか? ​

  • A) IRSA の更新には必ず Pod の再起動が必要である
  • B) SPIFFE を使えば AWS IAM ポリシーは不要になる
  • C) IRSA は AWS の認証情報の経路であり、SPIFFE は workload identity で、いずれも検証が必要である
  • D) Pod の annotation だけで IRSA と CSI による証明書ファイルの配布が完結する
答えを表示

回答: C) IRSA は AWS の認証情報の経路であり、SPIFFE は workload identity で、いずれも検証が必要である

IRSA はサポートされている SDK/projected token の挙動によって更新され、クロスアカウント構成にも対応します。ServiceAccount の annotation、aud/sub の信頼関係、AWS の権限を検証してください。SPIFFE の mTLS でも、認証情報の利用とピアの認可が必要です。

10. trust domain と CA ローテーションについて正しいのはどれですか? ​

  • A) trust domain は解決可能な DNS 名でなければならない
  • B) bundle set は CA 秘密鍵を自動的にローテーションする
  • C) 安定した名前を選び、bundle の変更と CA 鍵のローテーションを区別する
  • D) 数値や IPv4 形式のドメインはパーサーによって常に拒否される
答えを表示

回答: C) 安定した名前を選び、bundle の変更と CA 鍵のローテーションを区別する

DNS 風の命名はガイダンスであり、構文規則のすべてではありません。bundle は公開された信頼情報であり、鍵のローテーションは別のライフサイクルです。authority の重複期間と利用側の更新を確認してください。

スコア計算 ​

  • 9〜10: しっかり理解できています
  • 7〜8: 信頼、認可、配布の経路を再確認しましょう
  • 6 以下: ガイドと検証済みの例を復習しましょう

関連ドキュメント ​

ドキュメントに質問する

Enter で送信、Shift+Enter で改行します。