====== SAML Single Sign-On avec Pandora FMS ======
{{indexmenu_n>12}}
**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 par rapport à la base de données locale.
===== Configurant Pandora FMS =====
Il faudra se rendre à **Management → Setup → Setup → Authentication** et sélectionner SAML sous **Authentication method**.
{{ :wiki:pfms-management-setup-setup-authentication.png }}
===== Configuration du fournisseur de services =====
Pour configurer le fournisseur de services, téléchargez les éléments suivants [[https://simplesamlphp.org/|SimpleSamlphp]] et installez-les dans ''/opt/simplesamlphp/''.
Un //endpoint// devra être configuré pour gérer les authentifications en ''/simplesaml '':
ln -s /opt/simplesamlphp/www /var/www/html/simplesaml
Vous devrez ajouter votre SP dans ''/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',
],
Les métadonnées du ''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 du certificat avec un certificat direct au lieu de ''certFingerprint''.
Vous devrez vous assurer que le fichier ''/opt/simplesamlphp/lib/_autoload.php'' existe.
Une fois **simplesamlphp** installé, vérifiez si le //login// fonctionne directement dans **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 //login// comme celui ci-dessous s'affiche, dans lequel vous devez saisir l'utilisateur **SAML** et le mot de passe que vous avez créé.
{{ :wiki:saml2.jpg |saml2.jpg}}
Si le //login// est correct, un écran récapitulatif avec tous les attributs de l'utilisateur s'affiche.
Le guide est également disponible à l'adresse suivante [[https://simplesamlphp.org/docs/stable/simplesamlphp-sp|SimpleSAMLphp Service Provider QuickStart]].
===== Configuration de votre fournisseur d'identité =====
Pour que les utilisateurs SAML soient générés correctement dans Pandora FMS, il est nécessaire de définir les attributs d'identification suivants qui apparaissent dans la configuration SAML pour chacun d'entre eux :
* **Failback to local authentication** : Si cette option est désactivée, aucun utilisateur n'existant pas dans SAML (à l'exception des utilisateurs de type superadministrateur) ne sera autorisé à se connecter. Si l'authentification par SAML échoue et que cette option est désactivée, la base de données du serveur ne sera pas interrogée.
* **Automatically create remote users** : Il créera automatiquement les utilisateurs lorsque vous vous connecterez pour la première fois à l'aide de SAML dans l'outil. S'il est désactivé, il doit être créé manuellement au préalable.
* **SimpleSAML path** : Définir le chemin d'accès au dossier dans lequel se trouve le répertoire ''simplesamlphp''.
* **SAML Source** : Nom de la source SAML à laquelle les demandes doivent être adressées. Le nom doit correspondre à la source sélectionnée dans :
http:///simplesaml/module.php/core/authenticate.php
* **SAML user id attribute** : Le champ récupéré de SAML à utiliser comme nom d'utilisateur (par ex. **uid**).
* **SAML mail attribute** : Le champ récupéré de SAML à utiliser comme courriel de l'utilisateur (par ex. **email**).
* **SAML group name attribute** : Le champ récupéré de SAML à utiliser comme groupe de l'utilisateur (par ex. **group1PersonAffiliation**).
* **Profile attribute** : Le champ récupéré de SAML à utiliser comme profil de groupe de l'utilisateur (par ex. **urn:profile_example:Operator Read**).
* **Simple attribute / Multivalue attribute** : Option permettant de choisir entre l'utilisation d'un attribut simple pour les champs Profil et Etiquette dans Pandora FMS ou d'un attribut multivaleur.
En cas de choix **Simple attribute** deux nouveaux champs apparaissent, intitulés **Profile attribute** et **Tag attribute** où seront sélectionnés les noms des attributs SAML qui coïncideront avec le nom du profil et de l'étiquette dans Pandora FMS lors de sa création.
Lorsque l'on sélectionne **Multivalue attribute** un attribut respectant ce format doit être utilisé :
PREFIX:role:rolename
PREFIX:tag:tagname
Une fois l'attribut créé dans le SAML et sélectionné de cette manière avec la configuration dans Pandora FMS, les paramètres suivants seront indiqués :
* **SAML profiles and tag attribute** : Nom de l'attribut multivaleur.
* **SAML profile and tags prefix** : Préfixe précédant le code //role// et //tag// dans la valeur de l'attribut. Dans le cas où il est ''urn:pfms:role:< rolename >'' et ''urn:pfms:tag:'' le préfixe doit être configuré ''urn:pfms''.
===== Connexion =====
Vous devez vous rendre dans la console de Pandora FMS et cliquer sur le bouton //Login//. Vous serez redirigé vers le fournisseur d'identité.
{{ :wiki:saml_idp.png }}
Après une connexion réussie, vous serez redirigé vers la console Pandora FMS.
[[:fr:documentation:start|Retour à l'index de la documentation de Pandora FMS]]