Roles
P17 - Role grants & permissions (scoped)
Attribuer un rôle (grant)
Crée un grant `(profile, role, scope, startDate, endDate?)`. Idempotent via `Idempotency-Key`. Un seul ACTIVE par tuple identique. Gouvernance MOCOSAG-432 : réservé à `IAMAdmin` (tout périmètre) et aux admins délégués `FacilityAdmin`/`InsurerAdmin`/`PharmacyAdmin` dans leur organisation — scope `GLOBAL`/`REGION` refusé aux délégués (403), cible hors périmètre → 404 anti-énumération. Step-up MFA requis : vérification MFA < 60 s, sinon 403 `mfa_recent_verification_required`.
Lister les grants
Lister les grants
Lire un grant
Lire un grant
Approuver/Refuser un grant (workflow)
Gouvernance MOCOSAG-432 : réservé à `IAMAdmin` et aux admins délégués (`FacilityAdmin`/`InsurerAdmin`/`PharmacyAdmin`) sur les grants de leur organisation (hors périmètre → 404). Step-up MFA < 60 s requis (403 `mfa_recent_verification_required`).
Suspendre un grant (retrait temporaire)
Gouvernance MOCOSAG-432 : réservé à `IAMAdmin` et aux admins délégués (`FacilityAdmin`/`InsurerAdmin`/`PharmacyAdmin`) sur les grants de leur organisation (hors périmètre → 404). Step-up MFA < 60 s requis (403 `mfa_recent_verification_required`).
Révoquer un grant (définitif)
Gouvernance MOCOSAG-432 : réservé à `IAMAdmin` et aux admins délégués (`FacilityAdmin`/`InsurerAdmin`/`PharmacyAdmin`) sur les grants de leur organisation (hors périmètre → 404). Step-up MFA < 60 s requis (403 `mfa_recent_verification_required`).
Finir un grant (endDate)
Gouvernance MOCOSAG-432 : réservé à `IAMAdmin` et aux admins délégués (`FacilityAdmin`/`InsurerAdmin`/`PharmacyAdmin`) sur les grants de leur organisation (hors périmètre → 404). Step-up MFA < 60 s requis (403 `mfa_recent_verification_required`).
Attribuer des rôles en lot (bulk)
Applique jusqu’à 200 grants par requête. Idempotent via `Idempotency-Key` (et/ou `BulkAssignCommand.id`). Gouvernance MOCOSAG-432 : réservé à `IAMAdmin` (cross-tenant uniquement). Step-up MFA < 60 s requis (403 `mfa_recent_verification_required`).
Référentiel SoD des rôles (P17)
Matrice machine-readable de séparation des devoirs (SoD) appliquée à l'assignation des grants, plus la liste des rôles dont le grant est créé en PENDING_APPROVAL. Permet au FE (écran Habilitations) de pré-valider un conflit `SOD_CONFLICT` avant soumission. Référentiel statique sans donnée tenant — lecture ouverte à tout utilisateur authentifié porteur du scope `onboarding:read`.