Utilisation LoginLdap Piwik 2.0 : Différence entre versions
(Page créée avec « Cet article présente l'utilisation de l'application tierce <code>LoginLdap</code> dans <code>Piwik</code>. == link= Votre avis == {| |{{#w4grb_ra... ») |
(Aucune différence)
|
Version actuelle en date du 20 avril 2018 à 15:53
Cet article présente l'utilisation de l'application tierce LoginLdap
dans Piwik
.
Sommaire
Votre avis
Nobody voted on this yet
|
|
Compte administrateur
Par mesure de sécurité, il est recommandé de créer un compte administrateur temporaire, si tous les comptes doivent basculer sur l'authentification LDAP. Pour cette mise en place, une seul compte était disponible. En cas d'échec, il aurait pu être compliqué de retourner sur la page d'administration. Donc un compte admin a été ajouté en assurant le mot de passe, en cas de reprise, pour désactiver le plugin par exemple.
Finalement, cela n'a pas été nécessaire, mais cela a permit d'effectuer les configurations sereinement.
Attention, le plugin peut ne pas fonctionner lors du premier affichage. L'erreur s'est produite sur Chrome. En affichant les outils de développement, le message suivant a été observé.
Error: [ng:areq] http://errors.angularjs.org/1.2.28/ng/areq?p0=LoginLdapAdminController&p1=not%20a%20function%2C%20got%20undefined at Error (native) at .../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:118:450 at Db (.../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:131:106) at Ya (.../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:131:193) at .../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:179:405 at .../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:166:25 at r (.../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:119:392) at J (.../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:165:396) at g (.../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:159:256) at g (.../index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:159:273)(anonymous function) @ index.php?module=Proxy&action=getCoreJs&cb=19ae1037bf784de630222d6084afe79b:204
Il faut s'assurer d'avoir fait un refresh du cache du navigateur, touches <Ctrl> + <F5>.
Paramètres
Le paramétrage du plugin s'effectue dans le nouvel onglet Paramètres → LDAP
dans la page d'administration.
La première partie de la page de configuration concerne les paramètres globaux du plugin. Dans le cadre de cette installation, les valeurs par défaut sont conservées, sauf pour la restriction sur le groupe d'appartenance dans l'annuaire.
Paramètre | Valeur |
---|---|
Toujours utiliser LDAP pour l'authentification | Cochée
Ainsi l'authentification est systématiquement validée sur l'annuaire LDAP, et n'utilise plus la base interne des comptes. |
Synchroniser l'utilisateur après une authentification réussie | Suite à une authentification, les informations de l'utilisateur, en fonction du mapping mis en place, sont répercuté depuis l'annuaire vers la déclaration dans Piwik.
Cela est utile pour des utilisateurs se connectant la première fois. |
Utiliser Auth. Server Web | Non utilisé dans le cadre de cette installation. |
Champ LDAP memberOf | Nom du champ LDAP, sur les comptes utilisateur, pour identifier les groupe auquel appartiennent les comptes.
Pour un annuaire OpenLDAP, la valeur |
Groupe utilisateur requis | Par défaut vide. Permet de spécifier un groupe d'appartenance requis pour les comptes. Ce qui permet d'éviter de synchroniser tout l'annuaire.
Dans le cadre de cette installation, seuls les comptes appartenant au groupe |
Filtre de recherche LDAP avancé | Si le "groupe utilisateur requis" n'est pas suffisant pour filtrer, il est possible d'écrire une requête LDAP spécifique pour restreindre les comptes. |
Synchronisation utilisateurs
La seconde partie va permettre de configurer le mapping entre l'annuaire et la déclaration dans Piwik. Ce type de configuration est classique, et dans le cadre de l'utilisation d'un annuaire OpenLDAP, les valeurs par défaut sont satisfaisantes.
Paramètre | Valeur |
---|---|
Générer au hard un jeton d'authentification pour les nouveaux utilisateurs | Lors de la première authentification d'un utilisateur, un identifiant est généré à partir du MD5 de son mot de passe si l'option n'est pas sélectionnée.
Si l'annuaire ne permet pas l'accès à ce MD5, il faut activer cette option afin d'obtenir une valeur aléatoire. |
Champ ID utilisateur | uid
Attribut LDAP contenant l'identifiant de l'utilisateur, qui va correspondre au login à saisir sur la page d'authentification. |
Champ mot de de passe utilisateur | userPassword
Attribut LDAP contenant le MD5 du mot de passe utilisateur. |
Champ adresse e-mail | mail
Attribut LDAP contenant l'email de l'utilisateur. |
Champ alias utilisateur | cn |
Champ Prénom | givenName |
Champ Nom | sn |
Suffixe d'adresse e-mail | vide
Ajoute un suffixe pour la génération de l'adresse mail de l'utilisateur |
Sites initialement accessible en consultation pour les nouveaux utilisateurs | all
Lors de la première authentification, permet de configuré les sites visibles par défaut sous Piwik |
Le plugin permet également de synchroniser les droits d'accès aux sites depuis des attributs spécifiques des comptes LDAP. Pour une installation personnelle est simple, cela n'est pas le plus simple car il faut modifier les modèles dans l'annuaire. Dans un premier temps, ce n'est pas exploité.
Déclaration annuaire
Enfin, il faut configurer l'emplacement de l'annuaire LDAP. Mis à part le numéro de port, renseigné par défaut, tous les champs doivent être saisis.
Paramètre | Valeur |
---|---|
URL du serveur | localhost
Dans le cas où l'annuaire est sur la même machine localhost est satisfaisant, sinon saisir le nom ou l'IP du serveur. |
Port du serveur LDAP | 389
Le numéro de port de l'annuaire. |
DN de base | dc=ejnserver,dc=fr
La base de recherche dans l'annuaire. |
Login connection LDAP | Compte utilisé pour se connecter l'annuaire. |
Mot de passe LDAP | Mot de passe du compte administrateur.
Lors de la modification de la configuration, ce champ doit être laissé vide pour ne pas le modifier. |
A noter qu'il est possible de configurer plusieurs annuaires LDAP en cliquant sur le bouton Ajouter
.
Enregistrement
Une fois les paramètres saisis, il suffit de cliquer sur le bouton Enregistrer
. Si aucune erreur n'est constatée dans la configuration, un message de confirmation est présenté à l'utilisateur connecté.
Validation configuration
Sur cette page de configuration, il est possible de tester certains éléments. Par exemple, le groupe utilisateur requis
peut être problématique si il ne retourne aucun utilisateur. Lors que'une valeur est saisie, un lien Test
est mis à disposition. En cliquant dessus, le nombre de compte répondant à ce critère est présenté.
Les paramètres de synchronisation peuvent également est validés / exploités depuis cette interface afin de synchroniser manuellement des comptes identifiés. Au niveau des paramètres de synchronisation, un encadré Charger l'utilisateur depuis le LDAP
propose une zone de saisie pour indiquer le compte LDAP. Puis en cliquant sur le lien Aller
, celui-ci est synchronisé. C'est un moyen très efficace pour valider le paramétrage mis en place.
Dans le cadre de cette installation, le compte a synchronisé était déjà existant dans la liste des utilisateurs. Lors du test, le message d'erreur Unable to synchronize LDAP user '...', non LDAP user with same name exists
est affiché.
En travaillant sur la base de données, il est possible de paramétrer le compte comme si il avait toujours été créé depuis ce plugin. Dans le cadre de cette utilisation, la génération du jeton automatique est désactivé. Comme indiqué sur l'interface, le MD5 du mot de passe est alors utilisé.
Au niveau de la base de donnée de Piwik, le compte est représenté par une ligne dans la table piwik_user
et le jeton généré est inséré dans la colonne password
.
Connaissant le mot de passe, il faut effectuer une transformation MD5. Cette valeur est alors préfixée avec {LDAP}
puis injecté dans la table pour le compte souhaité. Cependant, la concaténation du préfixe avec le MD5, du mot de passe LDAP, entraîne une chaîne de 38 caractères. Or la colonne est configurée pour uniquement 32 caractères. Par conséquent, il faut supprimer les 6 derniers.
La modification peut alors être réalisée avec la requête SQL suivante.
UPDATE `piwik`.`piwik_user` SET `password`='{LDAP}<MD5 Mot passe LDAP>' WHERE `login`='<LOGIN UTILISATEUR>';
Echec authentification
Lors d'un échec d'authentification, suivi par un succès, un message de Warning est affiché sur l'interface indiquant une erreur de binding sur LDAP. En fait, ce message correspond au premier échec est n'est pas lié à la session en cours. Cela peut s'expliquer par le fait qu'une "erreur" est remontée, mais ne pouvant pas être affichée dans l'interface, compte anonyme n'ayant aucun accès pour cette installation, elle est affichée qu'une fois l'utilisateur connectée. Le message peut donc être fermé, en cliquant sur la croix à droite du message, sans aucune crainte.
Voir aussi
Documentation officielle: https://plugins.piwik.org/LoginLdap