Pour qu’un utilisateur puisse effectuer une action (comme lister, modifier ou supprimer des parties de la configuration d’une VM/CT), l’utilisateur doit avoir les permissions appropriées.

Proxmox VE utilise un système de gestion des permissions basé sur les rôles et les dossiers. Une entrée dans la table des permissions permet à un utilisateur, un groupe ou un token(jeton) d’assumer un rôle spécifique lorsqu’il accède à un objet ou à un dossier. Cette règle d’accès est représentée en trois partis (dossier, utilisateur, rôle), (dossier, groupe, rôle) ou (dossier, token, rôle), le rôle contenant un ensemble d’actions autorisées, et le dossier représentant la cible de ces actions pour un utilisateur, un groupe ou un token.
Un token est une sorte de jeton ou l’on définis un rôle qui va permettre d’augmenter les privilèges d’un utilisateur ou d’un groupe lors d’une action spécifique, sans modifier les privilèges de cet utilisateur ou de ce groupe.

Les rôles

Un rôle est simplement une liste de privilèges. Proxmox VE est livré avec un certain nombre de rôles prédéfinis, qui répondent à la plupart des besoins.

  • Administrator : a tous les privilèges
  • NoAccess : n’a aucun privilège (utilisé pour interdire l’accès)
  • PVEAdmin : peut effectuer la plupart des tâches, mais n’a pas le droit de modifier les paramètres du système (Sys.PowerMgmt, Sys.Modify, Realm.Allocate).
  • PVEAuditor : a un accès en lecture seule.
  • PVEDatastoreAdmin : crée et alloue l’espace et les modèles de sauvegarde
  • PVEDatastoreUser : alloue l’espace de sauvegarde et visualise le stockage.
  • PVEPoolAdmin : allouer des pools
  • PVESysAdmin : ACLs utilisateurs, audit, console système et logs système
  • PVETemplateUser : visualiser et cloner des templates
  • PVEUserAdmin : gestion des utilisateurs
  • PVEVMAdmin : administration complète des VM/CT
  • PVEVMUser : visualisation, sauvegarde, configuration de CD-ROM, console VM/CT, gestion de l’alimentation des VM/CT.

Vous pouvez voir l’ensemble des rôles prédéfinis dans l’interface graphique.

Vous pouvez ajouter de nouveaux rôles via l’interface graphique ou la ligne de commande.

Dans l’interface graphique:
Onglet Datacenter → Permissions → Rôles et cliquez sur le bouton Créer.
Vous pouvez y définir un nom de rôle et sélectionner les privilèges souhaités dans le menu déroulant Privilèges.

Pour ajouter un rôle via la ligne de commande, vous pouvez utiliser l’outil CLI pveum, par exemple :

pveum role add PVE_Power-only --privs "VM.PowerMgmt VM.Console"
pveum role add Sys_Power-only --privs "Sys.PowerMgmt Sys.Console"

Les privilèges

Un privilège est le droit d’effectuer une action spécifique. Pour simplifier la gestion, les listes de privilèges sont regroupées en rôles, qui peuvent ensuite être utilisés dans la table des autorisations. Notez que les privilèges ne peuvent pas être directement attribués aux utilisateurs et aux dossiers sans faire partie d’un rôle.

Les privilèges suivants sont pris en charge:

Les privilèges liés aux noeuds / systèmes

  • Permissions.Modify : modifier les autorisations d’accès
  • Sys.PowerMgmt : gestion de l’alimentation du noeud (démarrage, arrêt, réinitialisation, fermeture, …)
  • Sys.Console : accès à la console du nœud
  • Sys.Syslog : visualisation du syslog
  • Sys.Audit : visualisation du statut/configuration du nœud, de la configuration du cluster Corosync et de la configuration HA
  • Sys.Modify : créer/modifier/supprimer les paramètres réseau du noeud
  • Sys.Incoming : autorise les flux de données entrants depuis d’autres clusters (expérimental)
  • Group.Allocate : créer/modifier/supprimer des groupes
  • Pool.Allocate : créer/modifier/supprimer un pool
  • Pool.Audit : visualiser un pool
  • Realm.Allocate : créer/modifier/supprimer des domaines d’authentification
  • Realm.AllocateUser : assigner un utilisateur à une zone d’authentification
  • User.Modify : créer/modifier/supprimer l’accès et les détails d’un utilisateur.


Les privilèges liés aux machines virtuelles ou conteneurs LXC

  • VM.Allocate : créer/supprimer une machine virtuelle sur un serveur
  • VM.Migrate : migration d’une VM/CT vers un autre serveur du cluster
  • VM.PowerMgmt : gestion de l’alimentation (démarrage, arrêt, réinitialisation, fermeture, …)
  • VM.Console : accès à la console de la VM/CT
  • VM.Monitor : accès au moniteur de la VM/CT (kvm)
  • VM.Backup : sauvegarde/restauration de VM/CT
  • VM.Audit : visualisation de la configuration de la VM/CT
  • VM.Clone : clone/copie d’une VM/CT
  • VM.Config.Disk : ajouter/modifier/supprimer des disques
  • VM.Config.CDROM : éjecter/changer un CD-ROM
  • VM.Config.CPU : modifier les paramètres du CPU
  • VM.Config.Memory : modifier les paramètres de la mémoire
  • VM.Config.Network : ajouter/modifier/supprimer des périphériques réseau
  • VM.Config.HWType : modifier les types de matériel émulé
  • VM.Config.Options : modifie toute autre configuration VM/CT
  • VM.Config.Cloudinit : modifier les paramètres de Cloud-init
  • VM.Snapshot : créer/supprimer des instantanés VM/CT

Les privilèges liés au stockage

  • Datastore.Allocate : créer/modifier/supprimer un datastore et supprimer des volumes.
  • Datastore.AllocateSpace : Allouer de l’espace sur un centre de données.
  • Datastore.AllocateTemplate : Allouer/charger des modèles et des images ISO.
  • Datastore.Audit : visualisation/navigation d’un datastore

Source

Traduit avec www.DeepL.com/Translator (version gratuite)