Autoriser un utilisateur anonyme à afficher uniquement la liste des travaux sans parcourir l'espace de travail dans Jenkins

15

Nous exécutons un CI Jenkins. En général, nous aimerions fournir

  1. accès complet aux utilisateurs authentifiés d'un groupe particulier
  2. accès en lecture complète aux utilisateurs anonymes
  3. bloquer les utilisateurs anonymes pour accéder à certains projets (complètement)

Nous utilisons la base de données d'utilisateurs / groupes Unix et la stratégie d'autorisation matricielle basée sur les projets . Les points (1) et (2) fonctionnent bien mais nous avons du mal à atteindre (3).

Nous avons essayé:

  • dans Global Security, supprimer tous les droits sur les anonymes, puis les accorder dans la sécurité basée sur le projet, mais après cela, toutes les demandes anonymes (même sur la page principale de Jenkins) génèrent une page de connexion
  • dans Global Security en ajoutant par étapes les droits suivants: Affichage-Lecture (ne fonctionnait pas), Job-Discover (ne fonctionnait pas), Job-Read (ne fonctionnait pas), Overal-Read - ce dernier semblait cependant fonctionner cela a donné trop de droits à l'utilisateur anonyme et nous n'avons pas pu limiter l'accès au projet en question.

tl; dr

nous voulons que Jenkins CI soit complètement ouvert (en lecture) avec quelques projets complètement cachés / bloqués pour l'anonymat.

Wojtek
la source

Réponses:

20

OK, j'ai donc réussi à le faire:

  • vous avez besoin du plug-in de stratégie d'autorisation basée sur les rôles
  • activer cette stratégie d'authentification dans Configurer la sécurité globale
  • dans Gérer et attribuer des rôles / Gérer les rôles créer un nouveau rôle anonyme et authentifié pour les rôles globaux et de projet
  • dans les rôles globaux, accordez un rôle anonyme uniquement à l' ensemble / lecture (cela permettra au moins d'accéder à l'écran principal de l'utilisateur anonyme jenkins avec navigation et lien vers la page de connexion, pas d'invite de connexion immédiatement)
  • dans le rôle de projet, ajoutez un rôle anonyme avec un modèle d'expression régulière qui correspondra aux projets auxquels vous souhaitez que les utilisateurs anonymes accèdent et après l'ajout de ce rôle, accordez-le droit à Job / Lire et Job / Découvrir
  • Accédez à gérer et attribuer des rôles / attribuer des rôles et assign Anonyme groupe d'utilisateurs anonymes rôle (et les utilisateurs authentifiés à des groupes spécifiques). ENREGISTRER
Wojtek
la source
Un problème connexe est que la stratégie de rôle est sensible à la casse dans la correspondance des noms d'utilisateur. J'avais entré des noms d'utilisateur en majuscules sur la page "Attribuer des rôles". Je me suis connecté avec un nom d'utilisateur en minuscules et même si mon nom d'utilisateur est affiché en majuscules, aucun rôle ne correspond à mon utilisateur. Mes autorisations autorisées sont retombées sur celles d'un utilisateur anonyme. Si je me connecte avec un nom d'utilisateur en majuscules, cela fonctionne.
s_t_e_v_e
Pendant que cette réponse fonctionne, vous avez déjà expliqué l'objectif ou la configuration du rôle "authentifié".
Brad Wood
ce n'est qu'un raccourci - il peut être "anonyme" et "privilégié"; J'ai utilisé "authentifié" car le sous-ensemble de personnes disponibles pour afficher et modifier ces tâches cachées particulières serait égal à ceux qui ont réellement le compte.
Wojtek
Cette vidéo m'a aidé .. savjee.be/videos/get-started-with-jenkins/…
Anand Varkey Philips
2

Avec le https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Pluginplugin ci-dessus

alors vous n'avez PAS besoin d'ajouter de authenticatedrôle dans la page Gérer les rôles .

Captures d'écran: Gérer les rôles et attribuer des rôles

Yanjiong Wang
la source