Aller au contenu principal

Équipes et Gestion des Rôles (RBAC)

La page Équipes (/teams, code source src/app/teams/page.tsx) permet aux administrateurs de piloter les membres de l'organisation, d'attribuer précisément les profils d'habilitation RBAC et de superviser la conformité d'accès (MFA, dates de dernière connexion).

Le modèle RBAC de TkushPatch est fondé sur le principe de moindre privilège et intègre nativement la séparation des responsabilités exigée dans les environnements critiques.


1. Vue d'Ensemble des 5 Rôles Plateforme​

Chaque utilisateur invité dans l'organisation se voit affecter l'un des 5 rôles stricts :

Rôle RBACNom d'usagePérimètre fonctionnelRestrictions majeures
ROLE_ADMINSuper Administrateur / Tenant OwnerContrôle total du compte, gestion des abonnements, invitation des membres, réglage des politiques globales et des clés de signature.Ne peut pas s'auto-approuver en mode multi-membres strict.
ROLE_RELEASE_DEVELOPERDéveloppeur Mobile Lead (Maker)Déclaration des versions Store multi-ABI, création de patchs OTA, téléversement des assets, symboles Dart et support N3.❌ Aucun accès à la Signature cryptographique (/approvals), au rollout canary (/rollout) ni aux logs d'audit (/audit).
ROLE_SECURITY_OFFICERResponsable Sécurité (Checker / RSSI)Approbation 4-yeux, ordonnancement des signatures moteur cryptographique, promotion des patchs et audit de sécurité.❌ Pas de modification des assets OTA ni d'administration d'infrastructure.
ROLE_SRE_ADMINIngénieur SRE / InfrastructureGestion des pourcentages de déploiement progressif, ciblage pays, engagement du Kill-Switch et purge Day-2.❌ Incapable de signer du code ou d'inviter des membres dans l'organisation.
ROLE_AUDITOR_READONLYAuditeur Réglementaire (Externe)Consultation en lecture seule stricte du cockpit, des journaux d'audit certifiés et des métriques de télémétrie.❌ Tout bouton d'action ou de modification est strictement masqué et rejeté par l'API.

2. Cycle de Vie d'un Compte Collaborateur​

La gestion des membres suit trois statuts normalisés :

Cycle de vie d'un membre d'équipe
  • INVITED : Invitation transmise par email avec le rôle attribué (Administrateur, Développeur, Auditeur).
  • ACTIVE : Compte configuré avec mot de passe et authentification à deux facteurs activée.
  • SUSPENDED : Accès révoqué par un administrateur en cas de départ ou d'incident de sécurité.

Statuts disponibles​

  • INVITED : L'invitation a été envoyée par courriel. Le jeton d'invitation est valide pendant 48 heures.
  • ACTIVE : L'utilisateur s'est connecté, a défini son mot de passe et a validé son défi 2FA OTP initial.
  • SUSPENDED : L'accès à la console et aux API de management est immédiatement révoqué sans supprimer l'historique d'audit.

3. Inviter un Nouveau Collaborateur​

Seuls les utilisateurs disposant du rôle ROLE_ADMIN peuvent ajouter de nouveaux membres.

  1. Rendez-vous sur la page /teams.
  2. Cliquez sur le bouton Inviter un collaborateur.
  3. Renseignez l'adresse email professionnelle du membre.
  4. Sélectionnez le rôle approprié parmi les 5 options disponibles.
  5. Cliquez sur Envoyer l'invitation (POST /api/admin/v1/teams/invite).

L'utilisateur reçoit un courriel contenant un lien sécurisé à usage unique pointant vers la mire d'enregistrement (/register?token=...).


4. Supervision de l'Authentification MFA et Réinitialisation​

La conformité de sécurité bancaire requiert l'activation systématique du second facteur (2FA OTP) pour l'accès au Control Plane.

Sur le tableau des membres de /teams :

  • Une pastille verte 2FA Actif indique que le collaborateur valide un code à chaque connexion.
  • Une pastille ambre 2FA En attente signale un compte dont le premier enrôlement OTP n'est pas encore finalisé.

Procédure de Réinitialisation 2FA (Perte de boîte mail ou d'appareil)​

En cas de perte d'accès aux codes de secours ou de dysfonctionnement du canal OTP :

  1. L'administrateur clique sur le menu contextuel du collaborateur.
  2. Il sélectionne Réinitialiser le facteur 2FA.
  3. L'action exige la confirmation du mot de passe administrateur et déclenche un enregistrement immédiat dans le journal d'audit légal (audit_action: USER_MFA_RESET).
  4. À sa prochaine connexion, l'utilisateur est guidé vers une procédure d'enrôlement réinitialisée.

5. Sécurité et Révocation Immédiate​

Lorsqu'un collaborateur quitte l'organisation ou que ses habilitations changent :

  • Suspension instantanée : En cliquant sur Suspendre, tous les jetons JWT actifs du membre sont invalidés côté serveur.
  • Révocation des sessions CLI : Si le collaborateur s'était authentifié sur son poste via tk-ota-push login, ses sessions en ligne de commande sont automatiquement fermées lors de la suspension de son compte web.
  • Immuabilité de l'audit : Les actions passées du collaborateur (approbations, créations de releases) restent scellées dans le journal d'audit avec son identité d'origine.