3.6 KiB
Tuto CLI Proxmox : utilisateur API
Commandes a lancer sur le shell Proxmox en root.
Creer l'utilisateur, le role et le token
pveum user add api@pam --comment "Prox Visualizer API user"
pveum role add ProxVisualizerFullAdmin \
-privs "Sys.Audit Sys.Modify Sys.PowerMgmt VM.Audit VM.Allocate VM.PowerMgmt VM.Clone VM.Migrate VM.Backup VM.Snapshot VM.Config.Disk VM.Config.CDROM VM.Config.CPU VM.Config.Memory VM.Config.Network VM.Config.HWType VM.Config.Options VM.Config.Cloudinit Datastore.Audit Datastore.AllocateSpace Datastore.AllocateTemplate"
pveum aclmod / \
--users api@pam \
--roles ProxVisualizerFullAdmin
pveum user token add api@pam prox_visualizer_full \
--privsep 1 \
--comment "Prox Visualizer full admin token"
pveum aclmod / \
--tokens 'api@pam!prox_visualizer_full' \
--roles ProxVisualizerFullAdmin
La commande pveum user token add affiche le secret une seule fois. A conserver dans le fichier .env de l'application :
{
"name": "PVE-NODE",
"url": "https://10.0.3.203:8006",
"token_name": "api@pam!prox_visualizer_full",
"token_value": "SECRET_AFFICHE_PAR_PROXMOX"
}
Lister et verifier
Lister les ACL :
pveum acl list
Lister les utilisateurs :
pveum user list
Lister les roles Prox Visualizer :
pveum role list | grep ProxVisualizer
Verifier les permissions effectives du token :
pveum user permissions 'api@pam!prox_visualizer_full' --path /
Lister les tokens de l'utilisateur :
pveum user token list api@pam
Ajouter un serveur dans l'application
Edite le fichier de configuration local de l'application :
cd /home/gilles/Documents/projet/proxmox_list/prox-visualizer
nano backend/.env
Ajoute une entree dans la variable PROXMOX_SERVERS. Exemple avec deux serveurs :
PROXMOX_SERVERS='[
{
"name": "PVE-M710q",
"url": "https://10.0.3.203:8006",
"token_name": "api@pam!prox_visualizer_full",
"token_value": "SECRET_DU_TOKEN_M710Q"
},
{
"name": "PVE-MSI",
"url": "https://10.0.3.202:8006",
"token_name": "api@pam!prox_visualizer_full",
"token_value": "SECRET_DU_TOKEN_MSI"
}
]'
Attention : le contenu de PROXMOX_SERVERS doit rester du JSON valide. Il ne faut pas mettre de virgule apres le dernier serveur.
L'application relit automatiquement cette liste au prochain appel API. Apres modification de backend/.env, il suffit donc de rafraichir le dashboard ou de cliquer sur le bouton de rafraichissement.
Relancer l'application
Depuis la racine du projet :
cd /home/gilles/Documents/projet/proxmox_list/prox-visualizer
./start.sh
Le frontend affiche une URL locale et une URL reseau, par exemple :
http://127.0.0.1:5173/
http://10.0.1.45:5173/
Pour arreter backend et frontend :
Ctrl+C
Si le port 5173 est deja occupe, Vite utilise automatiquement le port suivant, par exemple 5174.
Effacer et nettoyer
Supprimer les ACL :
pveum acl delete / \
--tokens 'api@pam!prox_visualizer_full' \
--roles ProxVisualizerFullAdmin
pveum acl delete / \
--users api@pam \
--roles ProxVisualizerFullAdmin
Supprimer le token :
pveum user token remove api@pam prox_visualizer_full
Supprimer l'utilisateur :
pveum user delete api@pam
Supprimer le role :
pveum role delete ProxVisualizerFullAdmin
Verifier que tout est nettoye :
pveum acl list
pveum user list
pveum role list | grep ProxVisualizer
Si une commande indique que le token, le role ou l'utilisateur n'existe pas, ce n'est pas bloquant : l'element etait deja absent.