# V7.2.0 — Enterprise Admin : SCIM + 2FA + Audit UI > **Statut** : 📝 Planifié · **Roadmap** : `ROADMAP.md § v7.2.0` > **Référence Notion** : SCIM, audit log, domain verification, agent permissions/governance. > **Existant** : SSO SAML/OIDC + provisioning + `sso_only` (v6.7.0), `api_audit_log` + `permission_audit_log` + `sso_login_history` (API seule), `SessionManager`, `PermissionManager`. --- ## 1. SCIM 2.0 (provisioning auto) `GET|POST /scim/v2/Users`, `GET|PUT|PATCH|DELETE /scim/v2/Users/{id}` (Bearer `scim_tokens`, admin) : mapping `userName→login`, `emails[0]→email`, `name→full_name`, `active→users.is_active`. `active=false` → `is_active=0`, sessions révoquées, login refusé (401 « suspended ») sauf admin. Groupes IdP → `sync_sso_permissions()` existant réutilisé. ## 2. 2FA + passkeys - TOTP : `users.totp_secret_enc` (Fernet), setup QR (`otpauth://`), vérif au login après password (fenêtre ±1), 10 backup codes (`sha256`, usage unique). - WebAuthn : `webauthn_credentials (id, user_id, credential_id, public_key, sign_count)` ; login `password + key` ou `passkey seule` si `passwordless_allowed`. - Combinable avec `sso_only` (local password refusé, TOTP conservé si `require_2fa=1`). ## 3. Domain claim + audit UI - `domain_claims (domain UNIQUE, txt_token, verified BOOL, auto_join_role, enforce_sso BOOL)` ; vérif DNS TXT ; `enforce_sso` → login local du domaine redirigé IdP. - Settings → Audit : table unifiée (`api_audit_log` + `permission_audit_log` + `sso_login_history` + `worker_runs`), filtres acteur/ressource/date, export CSV (10k max), rétention 365j (purge scheduler). ## 4. Gouvernance agents `agent_policies (workspace_id, allowed_tools_json, max_steps, require_approval BOOL)` + `agent_approvals (action_id, status pending/approved/rejected, approver_id)` : si `require_approval` et outil write → `agent.run.approval_requested` (webhook + cloche) → exécution après approve, sinon 403. File Settings → Agents. ## 5. Migrations 28 + tests (~25) `scim_tokens`, `domain_claims`, `webauthn_credentials`, `agent_policies`, `agent_approvals`, `users.is_active/totp_secret_enc`. Tests : SCIM CRUD + suspend, TOTP ±fenêtre + backup, WebAuthn mock, domain TXT mock, audit filtres/export, policies approve/reject.