Skip to content

Credential Rotation and JIT Access

Standard procedure for scheduled rotation, JIT grants, and lockout recovery. Executes SPB-05, SPB-06, SPB-08, SPB-12.

Scheduled rotation

Trigger: cadence reached (default 90 days) or manual reissue.

  1. Pre-flight.
  2. Confirm the credential's label and current consumers.
  3. Confirm rollback path: keep the old credential alive until the new one is verified.
  4. Mint new. Same scope (SPB-04). Same runtime injection target.
  5. Update consumers. Update env var binding / secret manager entry.
  6. Verify. Run a known-good integration test. Capture pass evidence.
  7. Revoke old. Only after verification. Audit: key_rotated (with old + new identifiers, never the secret value).
  8. Update rotation timestamp in the credential entry.
  9. Schedule next rotation.

JIT grant for privileged operations

Trigger: a privileged op (release tag, governance edit, bulk mutation) is requested and is approval-gated by SPB-06.

  1. Request. Requester opens a JIT request with: action, scope, target, justification, expected duration.
  2. Approve. Security owner approves with explicit expiry (default 1 hour).
  3. Issue. Mint the JIT token with hard TTL ≤ approved duration.
  4. Use. Token is bound to the requester or the named agent only; runtime-injected at execution time.
  5. Audit each privileged action during the JIT window (SPB-12).
  6. Auto-expire. Token expires automatically at TTL. Confirm via probe.
  7. Post-action attestation. Requester records what was done; security owner spot-checks.

Lockout / failure recovery

Symptom First action
New credential rejected by service Confirm scope; re-mint with corrected scope; do NOT widen scope to "make it work".
Old credential revoked but new not yet propagated Re-deploy new credential to all runtimes; if any runtime is unreachable, halt that runtime until reachable.
Suspected leak post-rotation Treat as compromise; emergency revoke; rotate dependent credentials; trigger SPB-14 incident response.
Rotation script failure mid-way Use orchestration-recovery.md decision tree; never partially deploy a credential.

Validation post-rotation

  • Old credential rejected at service.
  • New credential accepted with intended scope.
  • Disallowed endpoints still rejected.
  • Audit log shows key_rotated event.
  • Calendar reminder for next rotation set.