Secrets Manager: Backfill short TTL onto existing user_jwt CEL auth roles
Context
This is a follow-up to #604545 (closed), which added a ~5 minute token TTL to the user_auth_cel_program (the user_jwt CEL role) for newly provisioned roles.
That issue covers the forward path only. This issue covers the backfill: existing user_jwt CEL roles already provisioned in OpenBao do not yet have the short TTL and will continue to mint tokens with OpenBao's default lifetime (~32 days) if revoke-self fails.
Goal
Backfill the ~5 minute LeaseOptions TTL (set via pb.Auth in the CEL program) onto all existing user_jwt CEL roles already provisioned in OpenBao.
Notes
- The backfill does not block !240596 (merged) or any other in-flight MR; it can follow independently.
- The short TTL is the real fix and caps the blast radius. The backfill closes the window for tokens minted before the forward fix landed.
- See #604545 (closed) for full context on the mechanism (JWT
expvs. OpenBao token TTL, CELLeaseOptionssyntax, integration test requirements).
Open question (carried from #604545 (closed))
Do we need a cron reaper that re-revokes tokens whose revoke-self failed, at least until the backfill completes? Initial take: probably unnecessary once the TTL is in place and backfilled, but worth confirming before committing to building one.
Related
- #604545 (closed) (parent issue — adds TTL to new roles)
- !240596 (merged) — first code path that mints a non-ephemeral token
- !240364 (merged) — proves CEL
LeaseOptionssyntax onapi_jwtmount