====== SAML Single Sign-On avec Pandora FMS ====== {{indexmenu_n>12}} ===== SAML Single Sign-On avec Pandora FMS ===== SAML est une norme ouverte d'authentification et d'autorisation basée sur XML. Pandora FMS peut fonctionner comme un fournisseur de services avec votre fournisseur d'identité SAML interne. Les administrateurs s'authentifient toujours contre la base de données locale. ==== Configuration de Pandora FMS ==== Vous devrez aller vers **Management** → **Setup** → **Setup** → **Authentication** et sélectionner SAML dans **Authentication method**. {{ :wiki:pfms-management-setup-setup-authentication.png }} ==== Configuration du fournisseur de services ==== Pour configurer le fournisseur de services, téléchargez [[https://simplesamlphp.org/|SimpleSamlphp]] et l'installer dans /opt/simplesamlphp/. Configurez un //endpoint// pour gérer les authentifications dans /simplesaml : ln -s /opt/simplesamlphp/www /var/www/html/simplesaml Ajoutez votre SP à **authsources /opt/simplesamlphp/config/authsources.php**> 'test-sp' => [ 'saml:SP', 'entityID' => 'http://app.example.com', 'idp' => 'http://172.16.0.3:8080/simplesaml/saml2/idp/metadata.php', ], Enregistrez les métadonnées de l'IdP : $metadata['http://172.16.0.3:8080/simplesaml/saml2/idp/metadata.php'] = array( 'name' => array( 'en' => 'Test IdP', ), 'description' => 'Test IdP', 'SingleSignOnService' => 'http://172.16.0.3:8080/simplesaml/saml2/idp/SSOService.php', 'SingleLogoutService' => 'http://172.16.0.3:8080/simplesaml/saml2/idp/SingleLogoutService.php', 'certFingerprint' => '119b9e027959cdb7c662cfd075d9e2ef384e445f', ); Il est recommandé d'utiliser la validation de certificat avec certificat direct au lieu de certFingerprint. Vous devez vous assurer que le fichier///opt/simplesamlphp/lib/_autoload.php// existe. Une fois que vous avez installé simplesamlphp, vérifiez si le login fonctionne directement dans le saml. Pour ce faire, accédez à l'adresse IP suivante et sélectionnez la source d'authentification. http:///simplesaml/module.php/core/authenticate.php {{ :wiki:saml1.jpg |saml1.jpg}} Un écran de connexion apparaîtra comme le suivant où un utilisateur et un mot de passe saml que vous avez créés seront entrés. {{ :wiki:saml2.jpg |saml2.jpg}} Si le login est correct, un écran récapitulatif apparaîtra avec tous les attributs de l'utilisateur. Le guide est également disponible sur [[https://simplesamlphp.org/docs/stable/simplesamlphp-sp|SimpleSAMLphp Service Provider QuickStart]]. ==== Configurer votre fournisseur d'identité ==== Pour que les utilisateurs de SAML soient générés correctement dans Pandora FMS, il est nécessaire de définir dans chacun d'eux les attributs d'identification suivants qui apparaissent dans les paramètres SAML : {{ :wiki:saml3.jpg |saml3.jpg}} * **Failback to local authentication**> Si elle est désactivée, elle ne permet pas à un utilisateur qui n'existe pas dans SAML de se connecter (à l'exception des utilisateurs administrateurs de l'outil). Dans le cas où l'authentification contre SAML échoue et que cette option est désactivée, elle ne sera pas consultée dans la base de données du serveur. * **Automatically create remote users**> Crée automatiquement les utilisateurs lors de leur première connexion à l'aide de SAML dans l'outil. S'il est désactivé, il doit être créé manuellement à l'avance. * **SimpleSAML path**> Configure le chemin vers le dossier où se trouve le répertoire **simplesamlphp**. * **SAML Source**> Nom de la source SAML contre laquelle nous souhaitons faire des demandes. Le nom doit correspondre à la source que vous avez sélectionnée dans : http:///simplesaml/module.php/core/authenticate.php * **SAML user id attribute**> Le champ récupéré à partir de SAML qui sera utilisé comme nom d'utilisateur (par exemple **uid**). * **SAML mail attribute**> Le champ récupéré à partir de SAML qui sera utilisé comme nom d'utilisateur (par exemple **email**). * **SAML group name attribute**> Le champ récupéré à partir de SAML qui sera utilisé comme groupe utilisateur (par exemple **group1PersonAffiliation**). * **Profile attribute**> Le champ récupéré de SAML qui sera utilisé comme profil de groupe de l'utilisateur (par exemple **urn:profile_example:Operator Read**). * **Simple attribute / Multivalue attribute**> Option qui vous permet de sélectionner si vous voulez utiliser un attribut simple pour les champs Profil et Tag dans Pandora FMS ou un attribut multi-valeur. Si vous choisissez **Simple attribute**, deux nouveaux champs appelés **Profile attribute** et **Tag attribute** apparaîtront, où les noms des attributs SAML seront sélectionnés pour correspondre au nom du Profil et Tag dans Pandora FMS lors de sa création. Lorsque vous sélectionnez **Multivalue attribute** vous devez utiliser un attribut qui suit ce format : PREFIX:role:rolename PREFIX:tag:tagname Une fois l'attribut dans le SAML créé et sélectionné de cette manière avec la configuration dans Pandora FMS, les paramètres suivants seront indiqués : {{ :wiki:saml4.jpg |saml4.jpg}} * **SAML profiles and tag attribute**> Nom de l'attribut multivaleur. * **SAML profile and tags prefix**> Préfixe qui précède la clé de rôle et la balise dans la valeur de l'attribut. Si c'est urn:artica:role: et urn:artica:tag:, il faut configurer le préfixe urn:artica. ==== Ouverture de session ==== Vous devrez naviguer dans la console Pandora FMS et cliquer sur //Login//. Vous serez redirigé vers le fournisseur d'identité. {{ :wiki:saml_idp.png?800 }} Après une connexion réussie, vous serez redirigé vers la console Pandora FMS. [[:fr:documentation:start|Retour à l'index de documentation Pandora FMS]].