Jenkins : authentification SAML avec ADFS


Windows Server 2012R2 Windows Server 2016 Windows Server 2019

Dans ce tutoriel, je vais vous expliquer comment configurer l’authentification SAML sur Jenkins avec une liaison ADFS.

Ayant déjà présenter ADFS et SAML dans différent tutoriel sur le site, je ne vais pas revenir dessus ici.

Pour avoir l’authentification SAML sur Jenkins, nous allons devoir installer un plugin supplémentaire, que nous allons configurer, dans un second temps, il faut configurer la partie de confiance dans la console ADFS

Installation du plugin SAML sur Jenkins

Il existe plusieurs plugin pour ajouter l’autentification SAML à Jenkins, ici nous allons utiliser celui de Miniorange.

Depuis la page d’accueil de Jenkins, cliquer sur Administrer Jenkins 1.

Dans la partie System Configuration, cliquer sur Plugins 1.

Cliquer sur Available plugins 1 pour accéder à la liste des plugins disponible sur Jenkins.

Dans la zone de recherche entrer SAML 1 pour filtrer les plugins disponibles.

Sélectionner le plugin SAML Single Sign On (SSO) 1 et cliquer Install without restart 2.

Cocher la case Redémarrer Jenkins quand l’installation est terminée et qu’aucun job n’est en cours 1 et patienter pendant l’installation …

Activation de l’authentification SAML

Maintenant que le plugin est installé, nous allons activer l’authentification SAML par le plugin dans Jenkins.

Retourner dans l’administration de Jenkins et cette fois ci, cliquer sur Security 1.

Configurer le paramètre Royaume pour la sécurité en sélectionnant miniOrange SAML 2.0 1 et Enregistrer 2.

L’authentification SAML est maintenant disponible, si vous allez sur le formulaire de connexion, vous verrez un nouveau bouton pour utiliser le SSO, pour le moment rien n’est configuré.

Configurer du plugin miniOrange SAML dans Jenkins

Retourner dans l’administration de Jenkins, maintenant dans la section Security, on a miniOrange SAML SSO 1, cliquer dessus pour accéder à la configuration.

On arrive à la configuration du plugin, qui est assez complète.

Normalement, la partie SP Configuration est faite automatiquement.

On va s’occuper de la configuration de IdP en manuel, aller à la section IDP configuration / I will do manual configuration.

Remplir les champs suivants :

  • 1 IDP Entity ID / Issuer : qui correspond à l’URL des services ADFS https://url-adfs/adfs/services/trust
  • 2 Single Sign On URL : adresse du formulaire d’authentification https://adfs-url/adfs/ls
  • 3 Name ID Format : urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
  • 4 IDP Signing Certificate : le certificat utilisé par ADFS pour signer les transactions

Pour terminer, cliquer sur Applquer 5.

Vérifier le reste de la configuration disponible sur la page et une fois terminée, cliquer sur le bouton Save.

Le module est configuré, dernière chose à faire avant de passer à la configuration sur ADFS est de téléchargé le fichier de configuration pour ADFS qui va nous permettre d’ajouter la partie de confiance. Dans le menu de gauche sur la page de configuration du plugin SAML sur Jenkins, cliquer sur Download SAML Configuration 1.

AD FS : ajouter l’approbation de la partie de confiance

Ayant déjà traité dans plusieurs tutoriels étape par étape cette partie, je vais passer quelques étapes de l’assistant

Avant d’aller plus loin , je vous conseille de créer un groupe Active Directory qui sera dédié pour autoriser l’accès à Jenkins par l’authentification SAML, sinon tout les utilisateurs pourront se connecter sur Jenkins car le compte est autoapprovisionné.

Commencer par coller sur le serveur, le fichier télécharger précédemment et ouvrir la console AD FS est aller sur le dossier Approbation de partie de confiance.

Lancer l’assistant en cliquant sur Ajouter une approbation de partie de confiance 1.

Au lancement de l’assistant, cliquer sur Démarrer.

A la seconde étape, sélectionner Importer les données concernant la partie de confiance à partir d’un fichier 1, sélectionner le fichier 2 et cliquer sur Suivant 3.

A l’étape 3, nommer la partie de confiance et cliquer sur Suivant.

L’étape 4 permet de configurer l’accès, comme indiquer ci-dessus, limiter l’accès à un groupe comme sur la capture ci-dessous :

Aller jusqu’à la fin de l’assistant pour créer la partie de confiance dans la console AD FS.

Il reste la règle de revendication à créer, on va simplement passer l’adresse e-mail comme ID de nom dans une règle :

Voici un aperçu de la règle :

La configuration de AD FS est terminée.

Tester l’authentification SAML sur Jenkins

Sur la page d’authentification, il yu a maintenant un bouton Login with IDP 1, cliquer dessus.

Sur tout est bien configuré, on arrive sur le formulaire d’authentification AD FS.

Si les identifiants sont correctes et que l’utilisateur est membre du groupe, on est bien connecté à Jenkins.

Si on regarde les utilisateurs, in peut voir que le compte a été créé avec comme Identifiant et Nom complet qui sont l’adresse e-mail.


Vous savez maintenant comment configurer Jenkins pour s’authentification avec un serveur AD FS.




Laisser un commentaire