Contrôle d'accès

Gérez les utilisateurs, les rôles et les permissions dans Proxmox VE grâce au système RBAC intégré.

Contrôle d’accès

Proxmox VE utilise un système de contrôle d’accès basé sur les rôles (RBAC). Les permissions sont attribuées en combinant des utilisateurs, des rôles et des chemins (ressources).

Concepts

  • User : un compte (ex. : admin@pve ou john@pam)
  • Realm : backend d’authentification (pve = local, pam = Linux PAM, ldap = LDAP/AD)
  • Role : un ensemble de privilèges (ex. : PVEVMAdmin)
  • Path : un chemin de ressource (ex. : /, /vms/100, /nodes/node1)
  • Permission : utilisateur + rôle + chemin = ce que l’utilisateur peut faire sur cette ressource

Rôles intégrés

RôleDescription
AdministratorAccès complet à tout
PVEAdminGérer les VMs, le stockage et le cluster
PVEVMAdminGestion complète des VMs
PVEVMUserDémarrer/arrêter/console des VMs, sans modification de configuration
PVEDatastoreAdminGérer le stockage
PVEAuditorAccès en lecture seule
NoAccessRefus d’accès explicite

Créer un utilisateur

  1. Allez dans Datacenter → Permissions → Users
  2. Cliquez sur Add
  3. Définissez le User name, le Realm (pve pour local) et le mot de passe
  4. Cliquez sur Add

Via CLI :

pveum user add devops@pve --password SecurePass123! --comment "DevOps team"

Attribuer des permissions

  1. Allez dans Datacenter → Permissions
  2. Cliquez sur Add → User Permission
  3. Définissez le Path (ex. : /vms pour autoriser l’accès à toutes les VMs)
  4. Sélectionnez l’User et le Role
  5. Cliquez sur Add

Via CLI :

# Donner à john@pve PVEVMAdmin sur toutes les VMs
pveum acl modify /vms -user john@pve -role PVEVMAdmin

# Donner à john@pve un accès en lecture seule sur une VM spécifique
pveum acl modify /vms/100 -user john@pve -role PVEAuditor

Groupes

Les groupes simplifient la gestion des permissions pour les équipes :

pveum group add developers --comment "Development team"
pveum user modify john@pve -group developers
pveum acl modify /vms -group developers -role PVEVMUser

Authentification à deux facteurs

Activez la 2FA dans Datacenter → Permissions → Two Factor :

  • TOTP (Google Authenticator, Authy)
  • WebAuthn (clé matérielle : YubiKey, etc.)
  • Recovery keys pour l’accès de secours

Imposer la 2FA à tous les utilisateurs :

pveum realm modify pve --tfa type=totp

Jetons API

Créez des jetons API pour l’automatisation sans partager les mots de passe :

  1. Datacenter → Permissions → API Tokens → Add
  2. Sélectionnez l’utilisateur, définissez l’ID du jeton
  3. Activez optionnellement la Privilege Separation pour limiter la portée du jeton
# Créer un jeton
pveum user token add john@pve automation --privsep 1

# Attribuer des permissions au jeton
pveum acl modify /vms -token 'john@pve!automation' -role PVEVMAdmin

Journal d’audit

Toutes les tentatives de connexion et les modifications de permissions sont journalisées. Consultez-les dans Datacenter → Cluster log ou :

journalctl -u pvedaemon | grep -E "login|permission|acl"