Vai al contenuto

IAM Control Plane

Questo progetto distingue quattro concetti diversi:

  • Platform Admin: utente di control-plane con ruolo FAB Admin.
  • Super Admin User: utente eccezionale definito da SUPER_ADMIN_USERNAMES, usato per operazioni trasversali e scelta tenant dal control-plane.
  • Tenant Admin: utente con ruolo tenant ROLE_PROFILE_ADMIN_TENANT.
  • Tenant User: utente normale assegnato a uno specifico tenant.

Regole

  • I privilegi di piattaforma non devono essere modellati come privilegi del tenant.
  • Il tenant corrente deve essere risolto da app.modules.iam.policy.effective_tenant_key().
  • Il contesto control-plane deve essere verificato da app.modules.iam.policy.is_control_plane_context().
  • I controlli Admin/super admin/tenant admin devono usare gli helper centralizzati di app.modules.iam.policy.

Naming

  • tenant_ids e' un tenant applicativo/brand, non un livello di privilegio.
  • In UI e documentazione preferire sempre:
  • Platform Admin
  • Tenant Admin
  • Tenant User

Obiettivo architetturale

app/modules/iam e' il primo nucleo del motore IAM/control-plane comune ai tenant. L'obiettivo e' fare convergere qui:

  • resolver identita e ruoli
  • mapping utente <-> tenant
  • scope e assegnazioni
  • policy condivise tra moduli

Console utenti globali

Nel control-plane e' disponibile la vista IAM Utenti Globali sotto Controllo Accessi.

Serve per:

  • vedere gli utenti FAB globali
  • vedere in quali tenant sono collegati
  • vedere i ruoli IAM attivi per tenant
  • vedere i profili tenant assegnati

Le modifiche operative restano deliberate sulle viste dedicate:

  • IAM Utenti
  • IAM Assegnazioni
  • User Role Profile Assignment