Tenant/Project Authorization Incident Runbook
Trigger
- Spike in tenant/project membership authorization failures.
- Requests rejected for missing project context header.
Required Request Context
X-Project-ID must be present for project-scoped operations.
- Missing
X-Project-ID should be treated as request-context failure (not infrastructure outage).
- Confirm whether failures are concentrated to one project or tenant.
- Validate client/request path is sending
X-Project-ID.
- If widespread, pause risky admin mutations until scope checks are verified.
Diagnosis
- Start with API error envelope
code + correlation_id.
- Query logs by
correlation_id and confirm X-Project-ID presence.
- Distinguish:
- missing/invalid
X-Project-ID context
- valid context with denied tenant/project membership
- Verify membership records and recent role/scope changes for impacted actor.
- Review control-plane authz counters in Admin Ops:
platform_role_admin_denied_total
platform_role_mutation_failure_total
platform_role_service_unavailable_total
to classify expected authorization denial vs backend/schema degradation.
Recovery
- Restore correct project-context propagation (
X-Project-ID) in caller path.
- Correct tenant/project membership assignment where policy allows.
- Re-run failing operation and confirm deterministic success/failure behavior.
Post-Incident
- Record affected tenant/project identifiers and correlation trail.
- Capture whether failure class was context-missing vs membership-denied.
- Add follow-up tasks for recurring client-side context propagation gaps.