SPIFFE/SPIRE Quiz
Last Updated: September 13, 2026
Questions
1. Which is a valid 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
Show Answer
Answer: B) spiffe://example.org/app
Use the spiffe scheme, a trust domain, and an optional path. Ports, queries, and fragments are disallowed. Path structure is site-defined, not limited to /ns/.../sa/... .
2. Which statement correctly describes X.509/JWT-SVID validation?
- A) Only inspect X.509 CN
- B) A valid JWT signature makes audience unnecessary
- C) Validate X.509 URI SAN/chain and JWT signature/sub/audience/expiry
- D) JWT audience checks prevent every replay
Show Answer
Answer: C) Validate X.509 URI SAN/chain and JWT signature/sub/audience/expiry
Certificate CN is not the SPIFFE identity. A JWT bearer token may be replayed despite a matching audience. Lifetimes are policy-dependent; this chapter’s X.509/JWT scope is separate from the Incubating WIT-SVID specification.
3. What is the role of SPIRE Server?
- A) Automatically encrypt every application connection
- B) Manage agent attestation, registration, and SVID signing
- C) Automatically authorize every service request
- D) Distribute private-key files to all Pods through CSI
Show Answer
Answer: B) Manage agent attestation, registration, and SVID signing
Distinguish CA/JWT signing, DataStore, and KeyManager responsibilities. An AWS PCA upstream signs SPIRE intermediate CAs; it does not eliminate local leaf signing or key management.
4. Who identifies the application calling the Workload API?
- A) The local SPIRE agent’s workload attestor
- B) A DNS resolver
- C) CSI checking filenames
- D) The application’s self-declared SPIFFE ID alone
Show Answer
Answer: A) The local SPIRE agent’s workload attestor
The agent examines caller PID/cgroups/Pod metadata and matches authorized entries/cache. Fetching inside an agent Pod attests that caller, not the actual application context.
5. How does the server validate a k8s_psat token?
- A) Checking an IRSA role’s S3 permissions
- B) Kubernetes TokenReview plus configured audience/SA allowlist
- C) Only base64 decoding the token
- D) Converting it to a non-expiring join token
Show Answer
Answer: B) Kubernetes TokenReview plus configured audience/SA allowlist
Match server/agent logical cluster names, token audience, SA allowlist, and TokenReview permissions. aws_iid is an alternative with different trust assumptions, not universally stronger or prohibited on EKS.
6. How should k8s:container-image:nginx:* be interpreted?
- A) Automatic glob matching for every nginx tag
- B) A selector value; do not assume wildcard matching
- C) Proof that the image signature is verified
- D) Automatic enforcement of namespace RBAC
Show Answer
Answer: B) A selector value; do not assume wildcard matching
Match actual Kubernetes-reported image/ImageID values. Tags alone do not establish supply-chain trust. Pod/SA/label creation and modification permissions also influence identity eligibility.
7. What does SPIFFE CSI 0.2.13 mount into a Pod?
- A) Automatically generated svid.pem/svid.key files
- B) A directory containing the Workload API Unix socket
- C) The SPIRE CA private key
- D) Shared PostgreSQL data
Show Answer
Answer: B) A directory containing the Workload API Unix socket
CSI delivers access to the API socket. File-based applications need a separate adapter and reload handling. Applications or proxies still consume the API; integration is not universally automatic.
8. What is required to bootstrap https_spiffe federation?
- A) Only an endpoint URL
- B) An initial trusted bundle and correct endpoint SPIFFE ID
- C) Exchange both CA private keys
- D) Automatically authorize every remote workload
Show Answer
Answer: B) An initial trusted bundle and correct endpoint SPIFFE ID
Configure each trust direction. Bundle refresh, connectivity, TLS verification, and workload authorization are separate responsibilities. https_web uses the endpoint’s Web PKI validation path.
9. Which statement correctly compares IRSA and SPIFFE/SPIRE?
- A) IRSA refresh always requires Pod restart
- B) SPIFFE removes the need for AWS IAM policy
- C) IRSA is an AWS credential path; SPIFFE is workload identity, each requiring validation
- D) A Pod annotation completes IRSA and CSI certificate-file delivery
Show Answer
Answer: C) IRSA is an AWS credential path; SPIFFE is workload identity, each requiring validation
IRSA refreshes through supported SDK/projected-token behavior and supports cross-account designs. Validate ServiceAccount annotations, aud/sub trust, and AWS permissions. SPIFFE mTLS also requires credential consumption and peer authorization.
10. Which statement about trust domains and CA rotation is correct?
- A) A trust domain must be a resolvable DNS name
- B) bundle set automatically rotates the CA private key
- C) Choose stable names and distinguish bundle changes from CA-key rotation
- D) Numeric or IPv4-shaped domains are always rejected by the parser
Show Answer
Answer: C) Choose stable names and distinguish bundle changes from CA-key rotation
DNS-like naming is guidance, not the entire syntax rule. Bundles are public trust material; key rotation is a separate lifecycle. Verify authority overlap and consumer updates.
Score Calculation
- 9–10: Strong understanding
- 7–8: Revisit trust, authorization, and delivery paths
- 6 or fewer: Review the guide and validated examples