Existe-t-il un moyen de limiter l'utilisateur à l'affichage de certains travaux uniquement dans Jenkins?.
Jenkins permet de limiter la capacité utilisateur par projet via la "Stratégie d'autorisation de matrice basée sur projet". Le problème est qu'un utilisateur ne peut accéder à rien sans le paramètre "Général" "Lire". Cela semble leur permettre de voir tous les emplois.
Y at-il un autre plugin qui permettrait la restriction de travail?
Pensez que c’est ce que vous recherchez: Autoriser l’accès à des projets spécifiques pour les utilisateurs
Brève description sans captures d'écran:
Utilisez Jenkins "Stratégie d’autorisation de matrice basée sur le projet" sous "Gérer Jenkins" => "Configurer le système". Sur la page de configuration de chaque projet, vous avez maintenant "Activer la sécurité basée sur le projet". Ajoutez maintenant chaque utilisateur que vous souhaitez autoriser.
Un seul plugin m'aide: Stratégie basée sur les rôles :
wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin
Mais la documentation officielle (wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin) est déficiente.
Les configurations suivantes ont fonctionné pour moi:
http://kblearningacademy.com/configure-role-strategy-plugin-in-jenkins
En gros, il vous suffit de créer des rôles et de les faire correspondre à des noms de travail à l'aide de regex.
Vous pouvez utiliser la stratégie d'authentification de la matrice basée sur le projet et activer l'autorisation de lecture globale, mais désactiver la tâche de lecture au niveau du système. Ensuite, vous devez activer le travail de lecture pour chaque projet spécifique que vous souhaitez rendre visible pour l'utilisateur actuel. Veuillez vous référer à ce problème résol pour plus d'informations. Quelques infos à partir de là:
J'implémente l'autorisation READ au niveau du travail. Lorsque cela est fait, un utilisateur ne disposant pas de l'autorisation READ pour un travail en particulier ne verra pas ce travail dans n'importe quelle vue, pourra accéder directement à la page du travail, verra toute référence au travail (par exemple dans les dépendances en amont ou en aval).
De plus, je vous recommande d'aller plus loin et de vérifier plugin de stratégie de rôle . Il peut simplifier la gestion des utilisateurs/rôles, vous pouvez utiliser ce qui est décrit ci-dessus pour donner accès à certains travaux.
Comme mentionné ci-dessus par Vadim, utilisez Jenkins "Stratégie d’autorisation de matrice basée sur projet" sous "Gérer Jenkins" => "Configurer le système". N'oubliez pas d'y ajouter votre administrateur et de lui donner toutes les autorisations. Ajoutez maintenant l'utilisateur restreint à cet endroit et donnez un accès en lecture global. Ensuite, allez à la page de configuration de chaque projet, vous avez maintenant l'option "Activer la sécurité basée sur le projet". Ajoutez maintenant chaque utilisateur que vous souhaitez autoriser.
J'utilise une combinaison de plusieurs plugins - pour l'attribution de base des rôles et les autorisations que j'utilise plugin de stratégie de rôle.
Lorsque je dois séparer un rôle en fonction de paramètres (par exemple, tout utilisateur de job-runner est capable d'exécuter des travaux, mais l'utilisateur UUU uniquement est autorisé à exécuter le travail de déploiement à déployer sur un ordinateur MMM), j'utilise plug-in Python et définissez un script python) comme première étape de construction et terminez avec sys.exit (-1) lorsque le travail ne peut pas être exécuté avec la combinaison de paramètres donnée.
Build User Vars Plugin me fournit les informations sur l'utilisateur exécutant le travail en tant que variables d'environnement.
Par exemple:
import os
import sys
print os.environ["BUILD_USER"], "deploying to", os.environ["target_Host"]
# only some users are allowed to deploy to servers "MMM"
mmm_users = ["UUU"]
if os.environ["target_Host"] != "MMM" or os.environ["BUILD_USER"] in mmm_users:
print "access granted"
else:
print "access denied"
sys.exit(-1)
Vous pouvez installer le plug-in "Extended Read Permission". Ensuite, dans les "Paramètres généraux" ou dans la configuration individuelle des tâches, vous pouvez donner à l'utilisateur la permission "Lecture étendue".
Essayez d'aller dans "Manage Jenkins" -> "Manage Users", allez à l'utilisateur spécifique, modifiez sa configuration par défaut "Ma section de vues".