reseau:cloud:accesdistance:guacamoleauthsaml
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| reseau:cloud:accesdistance:guacamoleauthsaml [2026/01/11 18:57] – créée admin | reseau:cloud:accesdistance:guacamoleauthsaml [2026/01/12 15:34] (Version actuelle) – [Contrôler le comportement de connexion] admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Configuration d'une authentification SAML pour Guacamole ====== | ====== Configuration d'une authentification SAML pour Guacamole ====== | ||
| + | |||
| + | Lien : https:// | ||
| + | ===== Installation de l' | ||
| + | |||
| + | |||
| + | * Téléchargez guacamole-auth-sso-1.6.0.tar.gz, | ||
| + | |||
| + | < | ||
| + | wget https:// | ||
| + | tar -xzf guacamole-auth-sso-1.6.0.tar.gz | ||
| + | sudo mv guacamole-auth-sso-1.6.0/ | ||
| + | </ | ||
| + | |||
| + | ===== Publier l' | ||
| + | * Accéder au portail Azure → Microsoft Entra ID → Applications d’entreprise. | ||
| + | * Nouvelle application → Créer votre propre application. | ||
| + | * Choisir **Configurer le proxy d’application pour un accès à distance sécurisé à une application locale** | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | |||
| + | ===== Configurer l’authentification SAML ===== | ||
| + | * Accéder à l' | ||
| + | * Dans l’application créée → Authentification unique → SAML. | ||
| + | * Renseigner : | ||
| + | * Identificateur (Entity ID) : fourni par le service. | ||
| + | * URL de réponse (ACS) : fourni par le service. | ||
| + | * URL de connexion (facultatif) : page de login du service. | ||
| + | |||
| + | |||
| + | Télécharger le fichier de métadonnées XML d’Entra ID (il contient le certificat et les endpoints). | ||
| + | |||
| + | ===== Configurer le service web avec les infos Entra ID ===== | ||
| + | * Modifiez guacamole.properties avec les valeurs D' | ||
| + | |||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | Renseigner l'URI du fichier de métadonnées XML SAML d' | ||
| + | |||
| + | < | ||
| + | saml-idp-metadata-url: | ||
| + | </ | ||
| + | |||
| + | L'URL que l'IdP utilisera une fois l' | ||
| + | |||
| + | < | ||
| + | saml-callback-url: | ||
| + | </ | ||
| + | |||
| + | Pour le Débug | ||
| + | < | ||
| + | saml-debug: true | ||
| + | </ | ||
| + | |||
| + | ==== Contrôler le comportement de connexion ==== | ||
| + | |||
| + | Guacamole charge les extensions d' | ||
| + | * Si l' | ||
| + | * Si une extension non-SSO a la priorité : Les utilisateurs qui ne sont pas encore authentifiés verront un écran de connexion Guacamole. De plus, des liens vers le(s) fournisseur(s) d' | ||
| + | |||
| + | La priorité par défaut des extensions est déterminée par leurs noms de fichiers, les extensions apparaissant plus tôt dans l' | ||
| + | |||
| + | * Rediriger automatiquement tous les utilisateurs non authentifiés vers SAML, en donnant la priorité à l' | ||
| + | |||
| + | < | ||
| + | extension-priority : saml | ||
| + | </ | ||
| + | |||
| + | |||
| + | * Présenter un écran de connexion Guacamole normal avec la possibilité de se connecter avec des identifiants traditionnels ou avec SAML, ne pas donner la priorité à l' | ||
| + | |||
| + | < | ||
| + | extension-priority : mysql, saml | ||
| + | </ | ||
| + | |||
| + | * Redémarre Tomcat9 | ||
| + | |||
| + | < | ||
| + | sudo systemctl restart tomcat9 | ||
| + | </ | ||
| + | |||
| + | * saml-entity-id: | ||
| + | |||
| + | * Fournir au service : | ||
| + | * Entity ID d’Entra ID (souvent https:// | ||
| + | * SSO URL : https:// | ||
| + | * Certificat public (X.509) pour vérifier les signatures. | ||
| + | |||
| + | |||
| + | Importer le metadata XML d’Entra ID si le service le supporte. | ||
| + | |||
| + | |||
| + | ✅ 5. Attribuer des utilisateurs | ||
| + | |||
| + | Dans Entra ID → Utilisateurs et groupes → attribuer les comptes qui peuvent se connecter. | ||
| + | |||
| + | |||
| + | ✅ 6. Tester la connexion | ||
| + | |||
| + | Utiliser le bouton Tester l’authentification unique dans Azure. | ||
| + | Vérifier les logs SAML (ACS du service) pour les assertions. | ||
| + | |||
| + | |||
| + | ✅ Points clés | ||
| + | |||
| + | Format des claims : Par défaut, Entra ID envoie NameID (UPN). Vous pouvez personnaliser les attributs dans Attributs et revendications. | ||
| + | Certificat : Surveillez la rotation automatique (Azure change le certificat tous les 3 ans). | ||
| + | Sécurité : Activez la signature des assertions et la validation des audiences. | ||
| + | |||
| + | |||
| + | ---------------------- | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | * Modification du fichier **guacamole.properties** pour configurer SAML. | ||
| + | |||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | * Ajoutez dans ce fichier les lignes suivantes | ||
| + | |||
| + | < | ||
| + | # MySQL | ||
| + | mysql-hostname: | ||
| + | mysql-port: 3306 | ||
| + | mysql-database: | ||
| + | mysql-username: | ||
| + | mysql-password: | ||
| + | </ | ||
| + | |||
| + | * Déclarez le serveur Guacamole (ici, on déclare une connexion locale sur le port par défaut, à savoir 4822). | ||
| + | |||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | * Voici le code à intégrer : | ||
| + | |||
| + | < | ||
| + | [server] | ||
| + | bind_host = 0.0.0.0 | ||
| + | bind_port = 4822 | ||
| + | </ | ||
| + | |||
| + | * Redémarrez les trois services liés à Apache Guacamole : | ||
| + | |||
| + | < | ||
| + | sudo systemctl restart tomcat9 guacd mariadb | ||
| + | </ | ||
reseau/cloud/accesdistance/guacamoleauthsaml.1768154247.txt.gz · Dernière modification : 2026/01/11 18:57 de admin
