Admin Roles
Admin roles and privileged access (Authifi service)¶
This document describes how the Authifi service models "admin" privileges and where those privileges come from:
- Super Administrators (platform-wide)
- Tenant Administrators (tenant-wide)
- Delegated Admins (users granted elevated
admin::*permissions)
It complements the detailed operation inventory in Super Admin Access and the consolidated reference in Privileged Access Summary.
Terminology Note¶
In user-facing documentation, the platform-wide admin role is called "Super Administrator" to distinguish it from infrastructure system administrators who manage servers and operating systems.
Table of contents¶
- Super Administrators
- Tenant Administrators
- Delegated Admins (admin scopes)
- How these roles are enforced
- Common patterns and examples
- Securing admin accounts (best practices)
Super Administrators¶
What it means
- Super Administrators have platform-wide privileged access across all tenants.
How it is determined
- Super Administrator status is determined by membership in the designated Super Administrator group (configured via
auth.defaults.systemAdminGroup). - When a user authenticates, the system checks their group membership and sets an internal authorization flag accordingly.
What it enables
- Super Administrators can perform platform-wide privileged operations and are often treated as a bypass for limits and checks.
- Some actions are still blocked even for Super Administrators (e.g., certain protections around config-defined Super Administrators).
- See Super Admin Access for a comprehensive list of SA-only/SA-or-scope operations.
Tenant Administrators¶
What it means
- Tenant Administrators are treated as "full admin within a tenant" for most tenant-scoped APIs.
How it is determined
- Tenant Administrator status is determined by membership in the tenant's admin group (configured via
auth.defaults.adminGroup).
What it enables
- Within a tenant, Tenant Administrators are generally able to perform tenant admin actions, except where an operation is explicitly restricted to Super Administrators or to an elevated admin scope.
- Tenant Administrators are also used in cross-tenant authorization via "trusted tenants" delegation (see below).
Delegated Admins (admin scopes)¶
What it means
- "Delegated Admins" are users who are not Super Administrators, but have elevated permissions via
admin::*scopes.
How it is determined
- Scopes come from the user's permissions/roles and are evaluated at request time.
- These scopes are assigned through role-based access control (RBAC) configuration.
Naming Convention: By convention, delegated admin permissions use the
admin::prefix (e.g.,admin::mfa:reset). However, this naming convention alone does not make an entity privileged—theisPrivilegedflag must be set on the permission, role, or group. See Privileged Access Summary for details.
What it enables
- These scopes commonly grant access to operations that would otherwise be Super-Administrator-only (or allow edits on "privileged" entities).
- Examples of elevated admin scopes used in Authifi:
admin::admin-permissions:edit(privileged RBAC entities: admin groups/roles/permissions)admin::system-templates:edit(system templates)admin::trusted-provider:edit(trusted/verified IdP restrictions, some IdP type restrictions)admin::provider-scripts:edit(IdP claims mapping scripting)admin::access-scripts:edit/admin::clients:edit(client scripting / client updates)admin::view:idp-secrets(unmask IdP secrets in responses)admin::user-ssh-secret:edit(SSH key operations)
For the exact places these are enforced, see the relevant sections in Super Admin Access.
How these roles are enforced¶
1) API-level authorization checks¶
- Many API endpoints explicitly check Super Administrator status, Tenant Administrator status, and/or specific
admin::*permissions. - Example patterns:
- SA-only: Request is rejected unless the user is a Super Administrator
- SA-or-scope: Super Administrator is allowed, otherwise requires an
admin::*scope - SA-or-tenant-admin: Super Administrator is allowed, otherwise allows Tenant Administrators
2) Admin override for scope failures¶
- A large portion of
/auth/admin/tenants/{tenantId}/...endpoints are primarily protected by OAuth scopes. - When authentication fails due to
Insufficient scope, the authorization system can allow certain admin users to proceed:- Tenant Administrator of the target tenant (
{tenantId}), or - Tenant Administrator of the original token tenant and the target tenant is a trusted tenant.
- Tenant Administrator of the target tenant (
- This bypass is not applied to Client Credentials tokens.
This is why many "admin" APIs don't contain an explicit "Tenant Administrator required" check: Tenant Administrators may still be able to use them even when scopes are missing.
3) Trusted tenants delegation¶
- The service supports delegating admin access across tenants using "trusted tenants" relationships.
- See Trusted Tenant Implementation for details.
Common patterns and examples¶
-
Tenant Administrators can do "anything in the tenant", except what is SA-only or scope-gated
- Practically, Tenant Administrators can perform most tenant administration, but some operations remain reserved for:
- Super Administrators (SA-only), or
- Delegated Admins (SA-or-scope), especially around privileged RBAC entities and sensitive scripting/secrets.
- Practically, Tenant Administrators can perform most tenant administration, but some operations remain reserved for:
-
Privileged RBAC entities (admin groups/roles/permissions)
- Commonly enforced as SA-or-scope (
admin::admin-permissions:edit).
- Commonly enforced as SA-or-scope (
-
Trusted identity provider controls
- Commonly enforced as SA-or-scope (
admin::trusted-provider:edit), with additional Tenant-Administrator-specific logic for some IdP fields.
- Commonly enforced as SA-or-scope (
-
Monitoring / reporting APIs
- Often scope-gated (e.g. audit/log scopes, protected health scope), with Tenant Administrator access potentially enabled via the admin override mechanism.
Securing admin accounts (best practices)¶
-
Prefer "trusted" identity providers for admin identities
- Restrict admin sign-in to identity providers that are verified/trusted and centrally managed.
- Avoid granting admin access to accounts authenticated via ad-hoc or weakly verified providers.
-
Enforce MFA for all admin-capable accounts
- Require phishing-resistant MFA where possible (e.g. WebAuthn/FIDO2), at minimum TOTP.
- Ensure "break-glass" admin accounts are also MFA-protected (with tightly controlled recovery).
-
Apply least privilege and minimize standing access
- Keep the number of Super Administrators small.
- Prefer delegated admin access (
admin::*) over Super Administrator where possible. - Remove unused admin scopes; time-bound or approval-gated elevation where feasible.
-
Separate admin and day-to-day user accounts
- Use dedicated admin accounts for privileged actions.
- Do not browse email/drive/chat from privileged accounts; reduce exposure to phishing and token theft.
-
Review admin access regularly
- Periodically review:
- Super Administrator assignments,
- Tenant Administrator group membership,
- users holding
admin::*privileges, - "trusted tenant" delegations.
- Treat emergency additions as temporary and require follow-up removal/review.
- Periodically review:
-
Monitor and audit admin activity
- Audit logs should be routinely reviewed for privileged actions (RBAC changes, secrets access, IdP changes, template/script changes, tenant exports).
- Alert on anomalous admin behavior (new admin grants, repeated denied attempts, unusual login patterns, cross-tenant access via delegation).
-
Harden sessions and tokens
- Shorter session lifetimes for admin contexts; revoke sessions promptly on role removal.
- Rotate credentials/secrets used by admin automation; avoid long-lived tokens.
-
Have an incident-ready process
- Document how to revoke admin access quickly (including removing scopes, disabling accounts, revoking sessions).
- Validate restore/recovery paths for audit logs and configuration (and restrict restore operations appropriately).