wget https://dlcdn.apache.org/guacamole/1.6.0/binary/guacamole-auth-sso-1.6.0.tar.gz tar -xzf guacamole-auth-sso-1.6.0.tar.gz sudo mv guacamole-auth-sso-1.6.0/saml/guacamole-auth-sso-saml-1.6.0.jar /etc/guacamole/extensions/
Télécharger le fichier de métadonnées XML d’Entra ID (il contient le certificat et les endpoints).
sudo nano /etc/guacamole/guacamole.properties
Renseigner l'URI du fichier de métadonnées XML SAML d'Entra ID qui contient toutes les informations dont l'extension SAML de Guacamole a besoin pour savoir comment s'authentifier auprès de l'IdP Entra ID en renseignant le paramètre saml-idp-metadata-url. Dans Entra ID cette information est donnée à : URL des métadonnées de fédération d'application.
saml-idp-metadata-url: <App Federation Metadata Url>
L'URL que l'IdP utilisera une fois l'authentification réussie pour revenir à l'application web Guacamole et fournir les détails d'authentification à l'extension SAML. L'extension SAML ne prend actuellement en charge que le rappel en tant qu'opération POST vers cette URL de rappel. Cette propriété est obligatoire.
saml-callback-url: https://sio.0870019Y.lan:8080/ole.votre-domaine.com/api/ext/saml/callback
Pour le Débug
saml-debug: true
Guacamole charge les extensions d'authentification par ordre de priorité et évalue les tentatives d'authentification dans le même ordre. Cela a des implications sur le comportement du processus de connexion de Guacamole lorsqu'une extension SSO est présente :
La priorité par défaut des extensions est déterminée par leurs noms de fichiers, les extensions apparaissant plus tôt dans l'ordre alphabétique ayant une priorité plus élevée que les autres. Cela peut être modifié en définissant explicitement la priorité des extensions.
extension-priority : saml
extension-priority : mysql, saml
* Redémarre Tomcat9
sudo systemctl restart tomcat9
* saml-entity-id: https://guacamole.votre-domaine.com/
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.
sudo nano /etc/guacamole/guacamole.properties
# MySQL mysql-hostname: 127.0.0.1 mysql-port: 3306 mysql-database: guacamole_db mysql-username: guacamole_user mysql-password: P@$$w0rd2025Secure
sudo nano /etc/guacamole/guacd.conf
[server] bind_host = 0.0.0.0 bind_port = 4822
sudo systemctl restart tomcat9 guacd mariadb