Configuration de l'accès SSO Proxmox via Authentik

Informations
- Date de création : 2026-05-27
- Service ciblé : Proxmox
- Auteur : Louis MEDO
- Responsable : Louis MEDO
1. Architecture et contexte
Ce document décrit la procédure d'intégration SSO (OIDC) entre Authentik (v.2026.5.0) et Proxmox VE. L'objectif est de déléguer l'authentification et l'autorisation à Authentik. L'accès est strictement restreint aux utilisateurs membres du groupe inf-pve-prd-adm. Proxmox est configuré pour associer automatiquement ce groupe au rôle Administrateur via les claims OIDC, garantissant une gestion des accès centralisée et sécurisée au sein de l'infrastructure LoutikCLOUD.
2. Prérequis
- Réseau : Enregistrements DNS configurés pour les FQDN d'Authentik et de Proxmox. Flux HTTPS (443) et API Proxmox (8006) ouverts.
- Dépendances : Instance Authentik 2026.5.0 opérationnelle. Nœud ou cluster Proxmox VE opérationnel.
- Gestion des accès et secrets : Les valeurs générées lors de cette procédure (
Client IDetClient Secret) devront être stockées de manière sécurisée (ex: Vault) si intégrées ultérieurement dans des modules IaC (Ansible/Terraform).
3. Configuration du Fournisseur Authentik
-
Création du Scope Mapping. Dans Authentik, naviguez vers Customization > Property Mappings et créez un OIDC Scope Mapping pour exposer les groupes de l'utilisateur.

return request.user.ak_groups.values_list('name', flat=True)Name: Proxmox-Groups-ClaimScope name: groups
-
Création du Provider. Naviguez vers Applications > Providers et créez un OAuth2/OpenID Provider.

Name: Provider-ProxmoxAuthorization Flow: default-provider-authorization-implicit-consent (Authorize Application)Client Type: ConfidentialScopes: Sélectionner openid, email, profile, et le nouveau scope groups.Redirect URIs: https://:8006
4. Configuration de l'Application Authentik et Restriction
-
Création de la Policy d'accès. Naviguez vers Customization > Policies et créez une Expression Policy pour bloquer l'accès aux utilisateurs non autorisés.

return ak_is_group_member(request.user, name="inf-pve-prd-adm")Name: Policy-Proxmox-Admin-Only
-
Création et liaison de l'Application. Naviguez vers Applications > Applications, créez l'application, associez-lui le Provider. Dans l'onglet Policy / Group / User Bindings de l'application, liez la Policy créée précédemment.

Name: Proxmox VESlug: proxmox
5. Configuration du Rôle et du Realm sur Proxmox
-
Préparation du groupe local et des ACL. Connectez-vous en shell sur le serveur Proxmox pour créer le groupe correspondant et lui attribuer les droits Administrateur globaux.
pveum group add inf-pve-prd-adm pveum acl modify / -group inf-pve-prd-adm -role Administratorinf-pve-prd-adm: Nom du groupe cible, devant correspondre exactement à la valeur transmise par le claim Authentik.Administrator: Rôle natif Proxmox accordant les privilèges d'administration.
-
Ajout du Realm OIDC. Dans l'interface web Proxmox, naviguez vers Datacenter > Permissions > Realms et ajoutez une méthode OpenID Connect.

Issuer URL: https:///application/o/proxmox/ Client ID / Client Key: Renseigner les secrets générés par le Provider Authentik.Username Claim: preferred_usernameDefault: cochéScopes: openid profile email groupsAutocreate Users: Coché (permet le provisionnement JIT de l'utilisateur dans Proxmox).
6. Validation post-déploiement
-
Tests de connexion. Valider l'intégration selon la matrice d'autorisation configurée.

Cas nominal: Connexion avec un utilisateur du groupeinf-pve-prd-adm. Résultat attendu : succès, accès total (Administrator).Cas de rejet: Connexion avec un utilisateur valide mais n'appartenant pas au groupeinf-pve-prd-adm. Résultat attendu : blocage par la Policy Authentik ("Access denied").