PBS : connexion PVE sécurisée via l'API et le chiffrement
Introduction
Ce tutoriel explique comment connecter Proxmox VE à Proxmox Backup Server à l'aide de jetons d'API Proxmox, d'autorisations limitées à un namespace et du chiffrement côté client. Cette approche renforce la sécurité de Proxmox VE, car Proxmox VE n'a pas besoin du mot de passe complet d'un utilisateur PBS et le serveur de sauvegarde n'a pas accès aux données non chiffrées des sauvegardes de VM.
Vous allez configurer une authentification sécurisée par jeton d'API, enregistrer le stockage Proxmox Backup Server dans Proxmox VE, activer le chiffrement des sauvegardes côté client, puis configurer des planifications de prune et de garbage collection afin d'empêcher le datastore de consommer tout l'espace de stockage disponible.
Prérequis
Public cible : Administrateurs système de niveau intermédiaire.
Durée estimée : 45 à 60 minutes.
Objectif : À la fin de ce tutoriel, vous disposerez d'un dépôt de sauvegarde Proxmox sécurisé, connecté à Proxmox VE, avec un accès restreint par jeton d'API, des sauvegardes de VM chiffrées et des paramètres de rétention adaptés à votre capacité de stockage.
Environnement requis :
- Proxmox VE 8.x ou version ultérieure.
- Proxmox Backup Server 3.x ou version ultérieure.
- Accès administrateur à l'interface web ou au shell de Proxmox VE.
- Accès administrateur à l'interface web ou au shell de Proxmox Backup Server.
- Un datastore PBS existant.
- Connectivité réseau de Proxmox VE vers PBS sur le port TCP 8007.
- Capacité de datastore suffisante pour la durée de rétention des sauvegardes prévue.
Valeurs d'exemple utilisées dans ce tutoriel :
| Variable | Valeur d'exemple | Description |
|---|---|---|
<PBS_HOST> |
pbs.example.com |
Nom d'hôte ou adresse IP de PBS |
<PBS_PORT> |
8007 |
Port d'API par défaut de PBS |
<DATASTORE> |
backup-store |
Nom du datastore PBS |
<NAMESPACE> |
pve-prod |
Namespace pour cette source Proxmox VE |
<PBS_USER> |
pve-backup@pbs |
Utilisateur PBS créé pour Proxmox VE |
<TOKEN_NAME> |
pve-token |
Nom du jeton d'API |
<TOKEN_ID> |
pve-backup@pbs!pve-token |
ID complet du jeton d'API PBS |
<PVE_STORAGE_ID> |
pbs-secure |
ID du stockage affiché dans Proxmox VE |
<PBS_FINGERPRINT> |
AA:BB:CC:... |
Empreinte (fingerprint) du certificat PBS |
Les jetons d'API de Proxmox Backup Server se composent d'un ID de jeton et d'un secret. Le secret n'est affiché qu'une seule fois, lors de la création du jeton ; enregistrez-le donc immédiatement dans un gestionnaire de mots de passe. D'après la documentation Proxmox, les jetons d'API facilitent la révocation et permettent de limiter les autorisations par client.
Étape 1 : Planifier l'architecture de sauvegarde Proxmox sécurisée
Avant de modifier la moindre configuration, définissez comment Proxmox VE doit accéder à PBS.
Utilisez l'architecture suivante :
| Composant | Paramètre recommandé |
|---|---|
| Authentification | Jeton d'API au lieu d'un mot de passe utilisateur |
| Périmètre d'accès | Namespace du datastore, et non le datastore entier |
| Rôle PBS | DatastoreBackup plus DatastoreReader si la navigation dans les sauvegardes pour la restauration est nécessaire |
| Chiffrement | Chiffrement côté client activé dans Proxmox VE |
| Rétention | Tâche de prune PBS ou politique de rétention du datastore |
| Libération d'espace | Garbage collection planifiée après le prune |
| Réponse en cas de compromission | Révoquer le jeton et en créer un nouveau |
Cette architecture suit le principe du moindre privilège. Proxmox Backup Server utilise des autorisations basées sur les rôles et sur les chemins. L'accès peut être attribué à un datastore ou à un chemin de namespace précis, par exemple /datastore/<DATASTORE>/<NAMESPACE>.
Étape 2 : Créer un utilisateur PBS dédié
Connectez-vous au shell PBS en tant que root ou autre administrateur.
Créez un utilisateur dédié dans le realm PBS pour Proxmox VE :
proxmox-backup-manager user create <PBS_USER> \ --comment "Proxmox VE backup user"
Résultat attendu : sortie vide ou message
User '<PBS_USER>' created.
Vérifiez que l'utilisateur existe :
proxmox-backup-manager user list
Résultat attendu :
userid enable expire comment <PBS_USER> 1 Proxmox VE backup user root@pam 1 Superuser
Un utilisateur ou un jeton d'API PBS nouvellement créé n'a aucune autorisation par défaut. Vous devez lui attribuer explicitement un accès avant que Proxmox VE puisse l'utiliser.
Étape 3 : Créer un namespace pour les sauvegardes Proxmox VE
Un namespace permet de séparer un hôte ou un cluster Proxmox VE des autres sources de sauvegarde au sein du même datastore. C'est utile pour une authentification sécurisée des sauvegardes Proxmox, car les autorisations peuvent être limitées à ce seul namespace.
Vous pouvez créer le namespace depuis l'interface web de PBS :
- Ouvrez l'interface web de PBS.
- Allez dans Datastore.
- Sélectionnez
<DATASTORE>. - Ouvrez Content.
- Cliquez sur Add Namespace.
- Saisissez
<NAMESPACE>. - Cliquez sur Create.

Résultat attendu : PBS crée le namespace dans le datastore sélectionné.
Si vous préférez la ligne de commande, utilisez la commande namespace du client PBS :
proxmox-backup-client namespace create <NAMESPACE> \ --repository root@pam@localhost:<DATASTORE>
Vous devez saisir le mot de passe lors de la création d'un namespace. Pour les scripts automatisés, définissez les variables d'environnement PBS_PASSWORD et PBS_FINGERPRINT.
Résultat attendu : sortie vide ou message
Namespace '<NAMESPACE>' created.
Étape 4 : Générer un jeton d'API
Créez un jeton d'API pour l'utilisateur PBS via l'interface web en allant dans Configuration → Access Control → API Token → Add :

Vous pouvez aussi générer un jeton d'API pour l'utilisateur PBS via la CLI :
proxmox-backup-manager user generate-token <PBS_USER> <TOKEN_NAME>
Sortie attendue :
{ "tokenid": "<TOKEN_ID>", "value": "<TOKEN_SECRET>" }
Enregistrez immédiatement <TOKEN_SECRET>. Il ne peut plus être affiché après la création.
Ne collez pas le secret du jeton dans des outils de messagerie, de la documentation, l'historique du shell, des systèmes de tickets ou des captures d'écran. Conservez-le dans un gestionnaire de mots de passe ou un autre coffre de secrets approuvé.
Étape 5 : Attribuer des autorisations selon le moindre privilège
Les autorisations d'un jeton d'API dans PBS sont calculées à partir de l'ACL du jeton, puis recoupées avec les autorisations de l'utilisateur parent. En pratique, l'utilisateur et le jeton ont tous deux besoin d'un accès approprié, et le jeton ne peut jamais faire plus que son utilisateur parent.
Accordez à l'utilisateur parent un accès de sauvegarde uniquement au namespace souhaité :
proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <PBS_USER>
Accordez au jeton le même rôle de sauvegarde :
proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <TOKEN_ID>
Si vous souhaitez que Proxmox VE puisse parcourir et restaurer les sauvegardes existantes qui lui appartiennent dans le même namespace, ajoutez également DatastoreReader :
proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <PBS_USER> proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <TOKEN_ID>
Vérifiez les ACL :
proxmox-backup-manager acl list
Sortie attendue :
ugid path roleid <PBS_USER> /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup <TOKEN_ID> /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup <PBS_USER> /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader <TOKEN_ID> /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader
Étape 6 : Noter l'empreinte du certificat PBS
Si PBS utilise un certificat auto-signé, Proxmox VE doit faire confiance à l'empreinte (fingerprint) de PBS.
Sur le serveur PBS, exécutez :
proxmox-backup-manager cert info | grep Fingerprint
Sortie attendue :
Fingerprint (sha256): <PBS_FINGERPRINT>
Enregistrez l'empreinte pour l'étape suivante.
La documentation Proxmox décrit la procédure d'empreinte pour les certificats PBS auto-signés lors de l'ajout d'un stockage PBS à Proxmox VE.
Étape 7 : Ajouter le stockage PBS à Proxmox VE
Connectez-vous au shell de Proxmox VE en tant que root.
Ajoutez le stockage PBS en utilisant l'ID du jeton d'API comme nom d'utilisateur. Saisissez le secret du jeton lorsque vous y êtes invité :
pvesm add pbs <PVE_STORAGE_ID> \ --server <PBS_HOST> \ --port <PBS_PORT> \ --datastore <DATASTORE> \ --namespace <NAMESPACE> \ --username <TOKEN_ID> \ --fingerprint <PBS_FINGERPRINT> \ --password
Lorsque vous y êtes invité, collez le secret du jeton d'API :
Enter Password: <TOKEN_SECRET>
Résultat attendu : Proxmox VE ajoute la configuration du stockage PBS.
Vérifiez le stockage :
pvesm status --storage <PVE_STORAGE_ID>
Sortie attendue :
Name Type Status Total Used Available % <PVE_STORAGE_ID> pbs active ...
Avec un jeton d'API restreint à un namespace, les valeurs Total, Used et Available peuvent s'afficher à 0 même lorsque le statut est active. Ce comportement est normal.
Vous pouvez également le configurer depuis l'interface web de Proxmox VE :
- Ouvrez Datacenter.
- Allez dans Storage.
- Cliquez sur Add.
- Sélectionnez Proxmox Backup Server.
- Définissez ID sur
<PVE_STORAGE_ID>. - Définissez Server sur
<PBS_HOST>. - Définissez Datastore sur
<DATASTORE>. - Définissez Namespace sur
<NAMESPACE>. - Définissez Username sur
<TOKEN_ID>. - Définissez Password sur le secret du jeton d'API.
- Définissez Fingerprint sur
<PBS_FINGERPRINT>si nécessaire. - Cliquez sur Add.

Résultat attendu : le stockage apparaît dans les stockages Proxmox VE et son statut est actif.
Étape 8 : Activer le chiffrement côté client
Le chiffrement côté client protège les données de sauvegarde avant qu'elles ne quittent Proxmox VE. PBS stocke des sauvegardes de VM chiffrées, mais la clé de chiffrement reste du côté de Proxmox VE. Cela renforce la sécurité des sauvegardes Proxmox VE, car un datastore PBS compromis ne suffit pas à exposer le contenu des disques des VM.
Depuis l'interface web de Proxmox VE :
- Ouvrez Datacenter.
- Allez dans Storage.
- Sélectionnez
<PVE_STORAGE_ID>. - Cliquez sur Edit.
- Allez dans l'onglet Encryption et sélectionnez Auto-generate a client encryption key.
- Générez une nouvelle clé s'il s'agit d'un nouveau dépôt de sauvegarde sécurisé.
- Conservez une copie de la clé de chiffrement dans un gestionnaire de mots de passe ou un coffre de secrets hors ligne.
- Cliquez sur OK.

Résultat attendu : les nouvelles sauvegardes vers ce stockage PBS sont chiffrées côté client.
La perte de la clé de chiffrement peut rendre les sauvegardes chiffrées irrécupérables. Conservez la clé séparément de l'hôte Proxmox VE et testez l'accès à la restauration avant de vous fier au jeu de sauvegardes.
Gestion recommandée de la clé :
| Pratique | Raison |
|---|---|
| Stocker la clé en dehors du cluster Proxmox VE | Protège contre la perte du cluster |
| Restreindre les permissions du fichier | Réduit l'exposition locale |
| Sauvegarder la clé hors ligne | Permet la reprise après sinistre |
| Ne pas stocker la clé uniquement sur PBS | La perte ou la compromission de PBS ne doit pas empêcher la récupération |
| Tester la restauration avec la clé | Confirme que la récupération fonctionne avant un incident |
Étape 9 : Créer une tâche de sauvegarde Proxmox VE
Créez une tâche de sauvegarde qui écrit sur le stockage PBS chiffré.
Depuis l'interface web de Proxmox VE :
- Ouvrez Datacenter.
- Allez dans Backup.
- Cliquez sur Add.
- Sélectionnez les nœuds, VM ou conteneurs à protéger.
- Définissez Storage sur
<PVE_STORAGE_ID>. - Choisissez une planification, par exemple tous les jours à 02:00.
- Définissez le mode en fonction de votre charge de travail.
- Laissez la rétention vide si PBS gère le prune.
- Cliquez sur Create.

Résultat attendu : Proxmox VE crée une tâche de sauvegarde planifiée qui écrit des sauvegardes chiffrées sur PBS.
Étape 10 : Configurer les paramètres de prune
Le prune détermine quels snapshots de sauvegarde restent visibles et restaurables. Il ne supprime pas immédiatement du disque tous les chunks non référencés. Les tâches de prune PBS peuvent être configurées depuis l'onglet Prune & GC ou avec proxmox-backup-manager prune-job. La documentation Proxmox indique que la configuration des tâches de prune est stockée dans /etc/proxmox-backup/prune.cfg.
Une politique de rétention courante pour des sauvegardes de VM quotidiennes est :
| Paramètre | Valeur | Signification |
|---|---|---|
keep-daily |
7 | Conserver une sauvegarde par jour pendant les 7 derniers jours |
keep-weekly |
4 | Conserver une sauvegarde par semaine pendant les 4 dernières semaines |
keep-monthly |
6 | Conserver une sauvegarde par mois pendant les 6 derniers mois |
Configurez cette politique sur le datastore :
proxmox-backup-manager prune-job create <JOB_ID> \ --store <DATASTORE> \ --ns <NAMESPACE> \ --keep-daily 7 \ --keep-weekly 4 \ --keep-monthly 6 \ --prune-schedule "03:00"
Résultat attendu : PBS applique la rétention et exécute le prune tous les jours à 03:00.
Pour un datastore plus petit, utilisez une politique plus courte :
proxmox-backup-manager prune-job create <JOB_ID> \ --store <DATASTORE> \ --ns <NAMESPACE> \ --keep-daily 3 \ --keep-weekly 2 \ --keep-monthly 1 \ --prune-schedule "03:00"
Résultat attendu : PBS conserve moins de points de restauration et consomme moins d'espace.
Ne définissez pas de valeurs élevées telles que keep-daily 90, keep-weekly 52 et keep-monthly 36 sans avoir calculé la capacité nécessaire. La déduplication des sauvegardes aide, mais ne rend pas le stockage illimité.
Étape 11 : Estimer le volume de stockage des sauvegardes
PBS déduplique les chunks ; la consommation de stockage n'est donc pas simplement la taille totale de la VM multipliée par le nombre de sauvegardes. Il vous faut néanmoins une estimation prudente.
Utilisez cette formule :
Estimated required capacity = initial full protected data + changed data per backup * retained backup points + safety margin
Exemple 1 : Petit environnement
| Valeur | Quantité |
|---|---|
| Données de VM protégées | 600 GiB |
| Taux de modification quotidien moyen | 3 pour cent |
| Données modifiées par jour | 18 GiB |
| Rétention | 7 quotidiennes, 4 hebdomadaires, 6 mensuelles |
| Nombre approximatif de points conservés | 17 |
| Estimation des données modifiées | 306 GiB |
| Marge de sécurité | 30 pour cent |
Calcul :
600 GiB + (18 GiB * 17) = 906 GiB 906 GiB * 1.30 = 1177.8 GiB
Capacité de datastore recommandée : au moins 1,2 TiB, de préférence 1,5 TiB ou plus.
Exemple 2 : Environnement de production plus important
| Valeur | Quantité |
|---|---|
| Données de VM protégées | 4 TiB |
| Taux de modification quotidien moyen | 5 pour cent |
| Données modifiées par sauvegarde | 204.8 GiB |
| Rétention | 14 quotidiennes, 8 hebdomadaires, 12 mensuelles |
| Nombre approximatif de points conservés | 34 |
| Estimation des données modifiées | 6.8 TiB |
| Marge de sécurité | 30 pour cent |
Calcul :
4 TiB + (204.8 GiB * 34) = 10.8 TiB 10.8 TiB * 1.30 = 14.04 TiB
Capacité de datastore recommandée : au moins 14 TiB, de préférence 16 TiB ou plus.
Ces exemples sont volontairement prudents. L'utilisation réelle dépend du taux de modification des VM, du comportement du système de fichiers invité, de la compression, de la déduplication, de la fréquence des sauvegardes et de la fréquence à laquelle de gros fichiers sont réécrits dans les systèmes invités.
Étape 12 : Configurer la garbage collection
La garbage collection (GC) est le processus qui supprime réellement du datastore les chunks non référencés. Le prune supprime les snapshots de sauvegarde selon les règles de rétention, mais des chunks peuvent rester sur le disque si d'autres snapshots les référencent encore ou s'ils se trouvent encore dans la fenêtre de sécurité.
La garbage collection de PBS comporte deux phases :
| Phase | Ce qui se passe |
|---|---|
| Mark | PBS lit les fichiers d'index et met à jour l'heure d'accès des chunks référencés |
| Sweep | PBS parcourt les chunks et supprime ceux qui sont plus anciens que l'heure limite si aucun snapshot ne les référence |
PBS utilise une heure limite basée sur le plus ancien processus d'écriture de sauvegarde en cours, ou sur 24 heures et 5 minutes avant le début de la GC. Les chunks situés dans ce délai de grâce sont consignés comme suppressions en attente au lieu d'être supprimés immédiatement. Cela protège les sauvegardes en cours et tient compte du comportement relatime du système de fichiers.
Planifiez la GC après le prune :
proxmox-backup-manager datastore update <DATASTORE> \ --gc-schedule "04:30"
Résultat attendu : PBS exécute la garbage collection tous les jours à 04:30.
Planification recommandée pour une sauvegarde quotidienne à 02:00 :
| Tâche | Heure d'exemple | Objectif |
|---|---|---|
| Sauvegarde Proxmox VE | 02:00 | Créer des sauvegardes de VM chiffrées |
| Prune PBS | 03:00 | Appliquer la politique de rétention |
| Garbage collection PBS | 04:30 | Récupérer les chunks non référencés lorsque c'est sans risque |
Exécuter la GC immédiatement après le prune ne garantit pas une récupération immédiate de l'espace disque. Certains chunks sont volontairement conservés comme suppressions en attente jusqu'à ce qu'ils soient suffisamment anciens pour être supprimés en toute sécurité.
Vérifiez l'état de la GC :
proxmox-backup-manager garbage-collection status <DATASTORE>
Lancez la GC manuellement si nécessaire :
proxmox-backup-manager garbage-collection start <DATASTORE>
Résultat attendu : PBS lance une tâche de garbage collection au niveau du datastore. La documentation officielle de PBS fournit également ces commandes ainsi que l'option de l'interface web dans l'onglet Prune & GC du datastore.
Étape 13 : Exécuter une sauvegarde de test
Exécutez manuellement la tâche de sauvegarde depuis Proxmox VE :
- Ouvrez Datacenter.
- Allez dans Backup.
- Sélectionnez la tâche de sauvegarde.
- Cliquez sur Run now.
- Confirmez l'action.
Résultat attendu : la tâche de sauvegarde se termine avec succès.
Vous pouvez également vérifier depuis le shell de Proxmox VE :
pvesm status --storage <PVE_STORAGE_ID>
Sortie attendue :
Name Type Status <PVE_STORAGE_ID> pbs active
Sur PBS, ouvrez :
- Datastore.
<DATASTORE>.- Content.
<NAMESPACE>.
Résultat attendu : la nouvelle sauvegarde de VM ou de conteneur apparaît dans le namespace.
Vérification
Vérifiez les autorisations du jeton sur PBS :
proxmox-backup-manager user permissions <TOKEN_ID> \ --path /datastore/<DATASTORE>/<NAMESPACE>
Résultat attendu : le jeton affiche des autorisations sur le datastore uniquement pour le namespace cible.
Vérifiez l'accès au stockage depuis Proxmox VE :
pvesm status --storage <PVE_STORAGE_ID>
Résultat attendu :
<PVE_STORAGE_ID> pbs active
Vérifiez que les sauvegardes sont chiffrées :
- Ouvrez Proxmox VE.
- Sélectionnez la sauvegarde de la VM sur le stockage PBS.
- Vérifiez que les opérations de restauration sont disponibles depuis Proxmox VE.
- Vérifiez que la clé est sauvegardée en dehors du cluster.
Vérifiez la configuration du prune et de la GC :
proxmox-backup-manager datastore show <DATASTORE>
Résultat attendu : la configuration du datastore affiche les planifications du prune et de la garbage collection.
Que faire si le jeton d'API est compromis
Si le secret du jeton a été exposé, révoquez-le immédiatement.
Sur PBS, supprimez le jeton :
proxmox-backup-manager user delete-token <PBS_USER> <TOKEN_NAME>
Résultat attendu : PBS supprime le jeton.
Créez ensuite un jeton de remplacement :
proxmox-backup-manager user generate-token <PBS_USER> <NEW_TOKEN_NAME> proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup --auth-id '<PBS_USER>!<NEW_TOKEN_NAME>' proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader --auth-id '<PBS_USER>!<NEW_TOKEN_NAME>'
Mettez à jour le mot de passe du stockage Proxmox VE :
pvesm set <PVE_STORAGE_ID> --username '<PBS_USER>!<NEW_TOKEN_NAME>' pvesm set <PVE_STORAGE_ID> --password
Lorsque vous y êtes invité, collez le nouveau secret du jeton.
Résultat attendu : Proxmox VE utilise le nouveau jeton pour l'authentification sécurisée par jeton d'API.
Les jetons d'API sont conçus pour être facilement révoqués lorsqu'un client est compromis. C'est l'une des principales raisons d'utiliser des jetons plutôt que de stocker un mot de passe utilisateur dans Proxmox VE.
Annulation des modifications
Avant de supprimer le stockage, conservez une copie de la clé de chiffrement en dehors du cluster.
Supprimez l'entrée de stockage de Proxmox VE :
pvesm remove <PVE_STORAGE_ID>
Résultat attendu : Proxmox VE supprime la configuration du stockage PBS. Les sauvegardes existantes sur PBS restent dans le datastore.
Supprimez le jeton d'API :
proxmox-backup-manager user delete-token <PBS_USER> <TOKEN_NAME>
Résultat attendu : PBS révoque le jeton d'API.
Supprimez les entrées ACL :
proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <ID> --delete 1 proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <ID> --delete 1
Résultat attendu : PBS supprime les autorisations sur le namespace.
Supprimez l'utilisateur dédié s'il n'est plus nécessaire :
proxmox-backup-manager user remove <PBS_USER>
Résultat attendu : PBS supprime l'utilisateur.
Ne supprimez pas le namespace ni le datastore, sauf si vous souhaitez réellement supprimer les données de sauvegarde. Supprimer la configuration d'accès est différent de supprimer les sauvegardes.
Dépannage
Proxmox VE affiche le stockage PBS comme inactif
Vérifiez l'accès réseau :
nc -vz <PBS_HOST> 8007
Sortie attendue :
Connection to <PBS_HOST> 8007 port [tcp/*] succeeded!
Vérifiez l'empreinte de PBS :
proxmox-backup-manager cert info | grep Fingerprint
Si l'empreinte a changé, mettez-la à jour dans Proxmox VE :
pvesm set <PVE_STORAGE_ID> --fingerprint <PBS_FINGERPRINT>
L'authentification avec le jeton d'API échoue
Vérifiez que le nom d'utilisateur est l'ID complet du jeton :
<PBS_USER>!<TOKEN_NAME>
Exemple :
pve-backup@pbs!pve-token
Vérifiez que le champ du mot de passe contient le secret du jeton, et non le mot de passe de l'utilisateur PBS.
Vérifiez les autorisations :
proxmox-backup-manager acl list
Le jeton doit avoir des entrées ACL sur le chemin du namespace, et l'utilisateur parent doit également disposer d'autorisations compatibles.
La sauvegarde échoue avec des erreurs d'autorisation
Vérifiez le chemin du namespace :
/datastore/<DATASTORE>/<NAMESPACE>
N'utilisez pas le chemin du datastore dans le système de fichiers, tel que /mnt/datastore/<DATASTORE>, lors de l'attribution des ACL. Les chemins d'ACL de PBS utilisent le format /datastore/<DATASTORE>.
Le datastore continue de grossir après le prune
C'est généralement normal si la GC n'a pas encore été exécutée ou si des chunks se trouvent encore dans la fenêtre de sécurité. PBS ne supprime pas les chunks immédiatement après le prune, car ils peuvent encore être référencés par d'autres snapshots ou protégés par la fenêtre de l'heure limite de la GC.
Vérifiez l'état de la GC :
proxmox-backup-manager garbage-collection status <DATASTORE>
Si la GC n'est pas planifiée, configurez-la :
proxmox-backup-manager datastore update <DATASTORE> \ --gc-schedule "04:30"
Les sauvegardes chiffrées ne peuvent pas être restaurées
Vérifiez que le stockage Proxmox VE a toujours accès à la clé de chiffrement.
Consultez votre inventaire interne des clés de sauvegarde. Si le cluster Proxmox VE d'origine est perdu, la restauration nécessite la clé de chiffrement sauvegardée. Sans elle, le chiffrement des sauvegardes côté client peut empêcher la récupération.
Conclusion
Vous avez configuré une connexion sécurisée entre Proxmox VE et Proxmox Backup Server à l'aide d'un utilisateur PBS dédié, de jetons d'API Proxmox, d'autorisations limitées à un namespace et du chiffrement côté client. Vous avez également configuré des planifications de prune et de garbage collection afin que le chiffrement des sauvegardes dans Proxmox reste viable à mesure que l'historique des sauvegardes s'allonge.
Cette configuration améliore l'authentification des sauvegardes Proxmox VE, protège les sauvegardes de VM chiffrées contre une exposition côté serveur et fournit un dépôt de sauvegarde sécurisé et pratique pour la configuration à long terme de Proxmox Backup Server.
Prochaines étapes recommandées :
- Testez une restauration complète de VM.
- Testez une restauration au niveau des fichiers.
- Conservez la clé de chiffrement à au moins deux emplacements sécurisés.
- Surveillez la croissance du datastore après chaque cycle de prune et de GC.
- Ajoutez des tâches de vérification PBS pour détecter la corruption silencieuse des sauvegardes.
- Documentez la procédure de révocation des jetons dans votre plan de réponse aux incidents.
Version du document: 1.0
Dernière mise à jour: juin 2026
Responsable: Équipe de documentation technique