Files
proxmox_list/tuto_config_proxmox.md
T
2026-06-07 09:30:30 +02:00

3.3 KiB

Pour que ton application puisse lister les ressources et modifier les descriptions des VMs sans compromettre la sécurité de ton infrastructure, il ne faut surtout pas utiliser le compte root@pam.Nous allons créer un utilisateur dédié (api-visualizer@pve) et lui associer un API Token avec les privilèges minimaux nécessaires (Moindre privilège).Voici le tutoriel pas à pas à réaliser sur ton Proxmox à l'adresse https://10.0.3.203:8006.

🛠️ Étape 1 : Créer le rôle personnalisé (Optionnel mais recommandé)

Par défaut, Proxmox propose le rôle PVEVMAdmin, mais il donne trop de droits (allumer/éteindre, supprimer des VMs, etc.). Nous allons créer un rôle sur-mesure qui ne permet que de lire et de modifier les configurations (pour les notes).Connecte-toi à l'interface web de ton Proxmox (https://10.0.3.203:8006).Va dans Datacenter (tout en haut de l'arbre à gauche) \rightarrow Permissions \rightarrow Roles.Clique sur Create.Nomme le rôle : VM-Visualizer.Dans le champ Privileges, coche exactement ces cases :VM.Audit (Pour voir et lister les VMs/LXCs)VM.Config.Options (Pour pouvoir modifier le champ description/notes)Sys.Audit (Pour voir l'état des nœuds et du cluster)Clique sur Create.

👥 Étape 2 : Créer l'utilisateur API

Reste dans Datacenter \rightarrow Permissions \rightarrow Users.Clique sur Add.Remplis les champs suivants :User name : api-visualizerRealm : pve (Proxmox VE authentication)Password : Mets un mot de passe robuste (il servira uniquement à valider la création du token).Clique sur Add.

🔑 Étape 3 : Générer l'API Token

Le Token permettra à ton script FastAPI de s'authentifier sans utiliser de mot de passe.Reste dans Datacenter \rightarrow Permissions \rightarrow API Tokens.Clique sur Add.Sélectionne l'utilisateur : api-visualizer@pve.Token ID : visualizer-token (ou le nom de ton choix).⚠️ Décoche impérativement la case Privilege Separation. Si tu la laisses cochée, le token aura des restrictions supplémentaires complexes à gérer. En la décochant, le token hérite exactement des droits qu'on va donner à l'utilisateur.Clique sur Add.🔴 ATTENTION : Une boîte de dialogue s'ouvre avec le Token ID et la Secret Value. Copie immédiatement la "Secret Value", car elle ne sera plus jamais affichée !

🛡️ Étape 4 : Assigner les permissions

Maintenant, il faut dire à Proxmox où cet utilisateur a le droit d'agir (sur tout le datacenter).Reste dans Datacenter \rightarrow Permissions.Clique sur Add \rightarrow User Permission.Remplis les champs :Path : / (Cela signifie tout le Proxmox : nœuds, VMs, LXCs).User : api-visualizer@pve.Role : VM-Visualizer (Le rôle créé à l'étape 1).Propagate : Coché (pour que ça s'applique à toutes les sous-ressources).Clique sur Add.

📝 Étape 5 : Intégration dans ton fichier .env

Maintenant que tu as ton Token, voici comment tu dois remplir le fichier backend/.env dans VS Code pour ce serveur spécifique :Extrait de code

API_ENV=development
API_PORT=8000

# Remplace par tes vraies valeurs récupérées à l'étape 3
PROXMOX_SERVERS='[
  {
    "name": "PVE-203",
    "url": "https://10.0.3.203:8006",
    "token_name": "api-visualizer@pve!visualizer-token",
    "token_value": "993a4bc2-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
]'

Une fois cette configuration faite, ton Proxmox est prêt et sécurisé