Add PSAT authentication in event-ledger for NVCA otel collector
Open
@shelleyshen-0 is already working on this.
Since Sep 8, 2026.
- Dominant language
- Go
- Stars
- 218
- Forks
- 72
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 427
Description
Description
NVCA's otel collector authenticates with a Kubernetes projected service-account token (PSAT), not an OpenBao-issued JWT. event-ledger cannot verify a PSAT today; it only verifies OpenBao-issued JWTs locally.
Definition of Done
- event-ledger tries local OpenBao JWT verification first. Only when that fails does it fall back to SIS token introspection (
POST /v1/nvca/tokens/introspect) for NVCA's PSAT, the same ordered chain ReVal uses. The unverifiedaudclaim is never used to route or authorize the request. - A successful introspection result requires the expected NVCA subject and a non-empty cluster identifier before the caller is treated as authorized, and that identity is only honored on Event Ledger's write endpoints.
- The SIS-verified cluster identifier is authoritative over anything a request payload claims: a mismatch is rejected and a missing value is filled in before the event is stored.
- Returns 401 for a missing, malformed, expired, or inactive token; 403 for an authenticated identity lacking route, scope, or cluster authorization; 503 when SIS is unavailable. All cases fail closed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.