Authentification et Habilitations avec l'Active Directory dans SONAR
Sonar est un outil de mesure de qualité de code. Il permet entre autres d'automatiser la revue de code pour des projets JAVA, C++, WEB, ... en appliquant des règles fournies par findbugs, pmd ou encore checkstyle.
Cet outil dispose de son propre système d'identification. Pour se faciliter la vie en entreprise (pour une fois...) il peut être utile de configurer le connecteur LDAP pour se connecter avec un annuaire ou ici avec Active Directory.
Pré-requis
Installer le plugin LDAP
Configuration
Dans le fichier $SONAR_HOME/conf/sonar.properties
, ajouter les lignes suivantes
sonar.security.realm: LDAP ldap.url: ldap://monserveurad:389 ldap.authentication: SIMPLE sonar.authenticator.createUsers: true ldap.bindDn: CN=user,OU=... ldap.bindPassword: ... ldap.user.baseDn: OU=users,... ldap.user.request: (&(objectClass=user)(sAMAccountName={login})) ldap.group.baseDn: OU=users ldap.group.request: (&(objectClass=group)(member={dn})) ldap.user.loginAttribute: sAMAccountName ldap.user.objectClass: user ldap.group.objectClass: group ldap.group.memberAttribute: member
Ici j'ai opté pour un mode d'identification simple. Il y au d'autres modes d'identification qui sont décrit sur la documentation officielle du plugin. Aussi, j'ai configuré SONAR pour que les utilisateurs soient crées lors de la première connexion ( paramètre sonar.authenticator.createUsers
) . Ca suffit pour une instance interne. Ce paramètre devra bien évidemment être positionné à false pour une instance publique.
Création des groupes
Il faut créer deux groupes • Un groupe pour l’administration • Un groupe pour les utilisateurs Nous allons faire correspondre les groupes AD aux groupes SONAR Dans la partie sécurité
Renseigner les éléments suivants :
Renseigner les groupes d’utilisateurs correspondants aux groupes AD
Nous obtenons les groupes suivants :
Définition des rôles
Renseigner les appartenances aux rôles via les groupes
Pour chaque rôle, cliquer sur « select »
Ajouter les groupes appartenant à chaque rôle.
Dans l’écran « Administrateurs Système »,
renseigner les groupes de la même manière. Nous obtenons l’écran final :
Maintenant vous devriez pouvoir vous connecter avec votre identifiant et mot de passe AD.