Base de connaissances

Contrôle d'accès basé sur les rôles (RBAC)

Contrôle d'accès basé sur les rôles (RBAC)

Dans un environnement de niveau entreprise, un accès administratif généralisé constitue un risque inacceptable. L'exploitation d'une plateforme de sauvegarde exige un contrôle granulaire sur qui peut modifier les politiques de rétention, qui peut lancer une restauration bare metal et qui détient l'autorité de gérer les clés cryptographiques.

StateWarden applique le principe du moindre privilège via un contrôle d'accès basé sur les rôles (RBAC) à deux niveaux : les rôles système au niveau de la plateforme (utilisés par les équipes Cyberprime et les intégrateurs) et les rôles propres à chaque Realm, que vous définissez pour votre équipe.


1. Comment l'accès est évalué

Chaque requête API protégée est autorisée par la WebAPI selon un ordre fixe :

  1. Contournement du propriétaire du Realm. Le compte enregistré comme propriétaire du Realm est toujours autorisé, indépendamment de toute attribution de rôle. Il existe exactement un propriétaire par Realm, et seul le propriétaire peut supprimer le Realm.
  2. Rôles système de la plateforme. Les comptes des équipes et des intégrateurs sont évalués ensuite (voir section 3).
  3. Appartenance au Realm. Pour tous les autres utilisateurs, la WebAPI charge le rôle attribué au membre pour ce Realm et évalue son ensemble de permissions. Une permission n'est accordée que lorsque la clé correspondante est explicitement définie à true ; une clé absente signifie un refus.

Les vérifications de permissions sont exécutées à chaque requête sur l'état actuel de la base de données. Si le rôle d'un membre est modifié ou si le membre est retiré, les nouvelles contraintes s'appliquent à ses sessions existantes dès l'appel API suivant : il ne reste aucun accès mis en cache à expirer.

2. Rôles du Realm et ensembles de permissions

Les rôles du Realm sont stockés par Realm sous la forme d'ensembles de permissions nommés. Vous pouvez créer autant de rôles personnalisés que nécessaire et les attribuer aux membres.

À la création d'un Realm, StateWarden crée automatiquement un rôle par défaut Administrator détenant toutes les permissions et l'attribue au créateur du Realm. Ce rôle par défaut ne peut être ni modifié ni supprimé ; utilisez des rôles personnalisés pour restreindre les autres membres.

Modèle de permissions

Les permissions sont des clés avec espace de noms, de la forme category.action. Les clés suivantes sont activement appliquées par la WebAPI :

CatégoriePermissionAutorise
Realmrealm.manage_settingsModifier les métadonnées du Realm et la politique de sécurité du Realm (y compris la politique MFA)
Realmrealm.manage_billingConsulter et modifier l'abonnement, le plan, les modules complémentaires, les codes promotionnels et le paiement
Realmrealm.manage_membersGérer les rôles personnalisés, les membres et les invitations
Realmrealm.view_audit_logsLire le journal d'audit du Realm et les journaux par appareil
Devicedevice.viewConsulter la configuration de sécurité d'un appareil
Devicedevice.pairGénérer, lister et révoquer les codes d'appairage d'appareils
Devicedevice.manage_configRenommer les appareils ; armer/désarmer le suivi des modifications ; configurer le proxy racine ; redémarrer ; déclencher les mises à jour système
Devicedevice.removeDésappairer un appareil (supprime également logiquement ses sauvegardes)
Backupbackup.viewLister les sauvegardes et les politiques de sauvegarde
Backupbackup.start_manualDéclencher une sauvegarde manuelle sur un agent
Backupbackup.deleteSupprimer une archive de sauvegarde
Backup Policybackup_policy.manageCréer, modifier et supprimer les planifications de sauvegarde et les politiques de rétention
Restorerestore.file_levelRestauration au niveau fichier et migration de VM à chaud
Restorerestore.instant_mountMonter et démonter les archives de sauvegarde
Restorerestore.bmr_tokenGénérer un jeton Bare-Metal Recovery
Vigilvigil.view_dashboardConsulter les statistiques, l'historique, les constats et les règles de suppression de Vigil
Vigilvigil.triage_risksTrier, ignorer ou supprimer des constats ; créer et supprimer des règles de suppression
Vigilvigil.manage_policiesModifier les politiques de sécurité par appareil
Vigilvigil.start_scanDéclencher une analyse antimalware ou de vulnérabilités à la demande
Cryptocrypto.rotate_keysInitialiser le chiffrement ; provisionner les clés d'appareils ; effectuer la rotation des clés maîtres et des clés d'appareils

Remarque sur la suppression Vigil : supprimer ou trier un constat Vigil exige vigil.triage_risks. L'accès en lecture aux constats (vigil.view_dashboard) ne permet jamais la suppression.

Remarque sur les opérations destructives : le RBAC et la MFA sont deux couches d'application distinctes. Les actions destructives ou cryptographiques (suppression de sauvegardes ou d'appareils, modification de politiques, gestion des clés, restauration de données) exigent en outre une vérification MFA récente conformément à la politique MFA du Realm, même pour les utilisateurs disposant de la permission adéquate. Voir Gérer la MFA et l'identité : la logique à trois états.

3. Rôles système de la plateforme

Indépendamment des rôles du Realm, chaque compte porte un rôle système au niveau de la plateforme :

  • ADMIN / SUPPORT_L3 : accès complet en lecture-écriture sur tous les Realms. Réservé aux opérations de la plateforme et au support avancé.
  • SUPPORT_L1 / SUPPORT_L2 : strictement en lecture seule. Ces niveaux ne sont autorisés que pour les opérations de consultation (clés de permission contenant .view, .list, .dashboard ou audit_logs). Ils ne peuvent ni supprimer des constats, ni modifier une configuration, ni effectuer aucune opération d'écriture.
  • INTEGRATOR_ADMIN : accès complet, mais limité aux Realms appartenant à sa propre organisation d'intégrateur.
  • USER : compte standard. L'accès est accordé exclusivement via l'appartenance à un Realm et le rôle attribué dans ce Realm.

4. Gérer votre équipe

La gestion de l'équipe s'effectue sur la page Équipe & Rôles (/members), affichée dans la barre latérale sous la section du Realm actif.

Inviter un nouveau membre

  1. Ouvrez Équipe & Rôles et cliquez sur Inviter un membre.
  2. Saisissez l'adresse e-mail de l'utilisateur et sélectionnez son rôle initial.
  3. Le système enregistre l'invitation et le service de messagerie Hermes envoie un e-mail contenant un lien d'acceptation à durée limitée (valide 7 jours).
  4. Le destinataire accepte l'invitation sur /invite/accept ; l'appartenance est alors créée avec le rôle attribué.

Les invitations en attente peuvent être listées et révoquées depuis la même page.

Modifier les accès

Les utilisateurs disposant de realm.manage_members peuvent changer le rôle d'un membre ou le retirer du Realm à tout moment. L'autorisation étant évaluée à chaque requête, les permissions réduites prennent effet dès l'appel API suivant du membre.

5. La piste d'audit

Chaque action modifiant l'état au sein d'un Realm est consignée dans le journal d'audit du Realm avec l'identité de l'utilisateur agissant, un horodatage, le type d'événement et des métadonnées structurées. L'administration des membres et des rôles, les opérations liées à la sécurité et les opérations de sauvegarde sont toutes enregistrées dans le journal d'audit du Realm, ce qui conserve un historique complet de qui a modifié quoi et quand.

La WebAPI n'expose aucune opération permettant de modifier ou de supprimer des entrées d'audit individuelles. Le journal constitue le système de référence pour les revues de conformité et l'analyse forensique post-incident ; sa lecture exige la permission realm.view_audit_logs.


StateWarden : la résilience par l'ingénierie.

Cet article vous a-t-il été utile ?