Enhancement Proposal

Proposal: Delegated administration

A tenant or organization admin must manage their own scope without global access. This specs scoped admin roles on the existing Forseti self-authorization model (ADR-0021 / ADR-0006) — no new architecture.

Motivation

A multi-tenant platform cannot route all administration through a global admin. Tenant and org admins, helpdesk, and auditors each need a bounded slice — and that bound must be enforced, not conventional.

Design

  • An admin capability is a Forseti relation (ADR-0006) scoped to a tenant, realm, or organization (ADR-0012 / proposal 0015): standard roles such as tenant-admin, realm-admin, helpdesk (reset/unlock only, no secret read), auditor (read-only).
  • The admin API (ADR-0021) authorizes every operation against Forseti at the caller's scope — a tenant admin cannot touch another tenant (rule 3); custom admin roles are relation/policy definitions.
  • The break-glass principal (ADR-0021) remains the bootstrap; every admin action is an event (ADR-0022).

Alternatives considered

  • Global-admin-only — rejected (does not scale to multi-tenant/org).
  • A separate admin-RBAC subsystem — rejected: dogfood Forseti (ADR-0021), one authorization engine.

Graduation criteria

Scoped admin roles are enforced via Forseti; a tenant/org admin is confined to their scope (a property test in the spirit of V7); helpdesk can reset but cannot read secrets.

Backward compatibility

On Forseti + the admin API; admin scoping is relations — no architecture change.

Open questions

  • The standard role catalog; custom-role definition surface.