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@pveoujohn@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ôle | Description |
|---|---|
Administrator | Accès complet à tout |
PVEAdmin | Gérer les VMs, le stockage et le cluster |
PVEVMAdmin | Gestion complète des VMs |
PVEVMUser | Démarrer/arrêter/console des VMs, sans modification de configuration |
PVEDatastoreAdmin | Gérer le stockage |
PVEAuditor | Accès en lecture seule |
NoAccess | Refus d’accès explicite |
Créer un utilisateur
- Allez dans Datacenter → Permissions → Users
- Cliquez sur Add
- Définissez le User name, le Realm (
pvepour local) et le mot de passe - Cliquez sur Add
Via CLI :
pveum user add devops@pve --password SecurePass123! --comment "DevOps team"
Attribuer des permissions
- Allez dans Datacenter → Permissions
- Cliquez sur Add → User Permission
- Définissez le Path (ex. :
/vmspour autoriser l’accès à toutes les VMs) - Sélectionnez l’User et le Role
- 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 :
- Datacenter → Permissions → API Tokens → Add
- Sélectionnez l’utilisateur, définissez l’ID du jeton
- 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"