Admin access is different

Django admin can change data, users, content, launch configuration, and operational flags. If Keycloak is used as the identity provider, admin access should require stricter policies than regular user access: MFA, role approval, short sessions, and audit visibility.

Recommended controls

Use a dedicated Keycloak role or group for Django admin eligibility. Map that role to Django staff status only through controlled logic. Require MFA for administrative roles and review assignments periodically. Avoid granting superuser privileges through broad identity groups.

Operating model

  • Separate staff access from superuser access.
  • Keep emergency access documented and monitored.
  • Log admin login and sensitive changes.
  • Remove access through the identity lifecycle, not manual cleanup alone.

Protecting the admin surface is protecting the business data behind the application.