Jenkins limite la vue des tâches par utilisateur

Existe-t-il un moyen de restreindre l'utilisateur à afficher uniquement certaines tâches dans Jenkins.

Jenkins permet la restriction de la capacité de l'utilisateur par projet via la "stratégie D'autorisation matricielle basée sur le projet". Le problème est qu'un utilisateur ne peut accéder à rien sans le paramètre' global '' Read'. Cela semble leur permettre de voir tous les emplois.

Existe-t-il un autre plugin qui permettrait la restriction de travail?

53
demandé sur ulrichenslin 2011-11-30 12:41:47

7 réponses

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 matricielle basée sur un 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". Maintenant, ajoutez chaque utilisateur que vous souhaitez autoriser.

47
répondu Christian 2018-01-22 19:17:31

Un seul plugin m'aide: stratégie basée sur les rôles :

Wiki.jenkins-ci.org/display/JENKINS/Role + Stratégie + Plugin

Mais la documentation officielle (wiki.jenkins-ci.org/display/JENKINS/Role + stratégie + Plugin) est pauvre.

C'est un exemple réel d'une grande documentation:

Kblearningacademy.com/configure-role-strategy-plugin-in-jenkins

J'ai converti cette page en pdf en cas d'arrêts de travail:

Kblearningacademy_com_jenkins_Role+Stratégie+Plugin

J'espère que cela aide quelqu'un.

9
répondu JRichardsz 2016-07-21 23:58:53

Vous pouvez utiliser la stratégie D'authentification matricielle basée sur le projet et activer L'autorisation globale de lecture, mais désactiver le travail de lecture au niveau du système. Après cela, 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ésolu pour plus d'informations. Quelques informations à partir de là:

J'implémente l'autorisation de lecture au niveau du travail. Lorsque cela est fait, un utilisateur qui n'a pas l'autorisation de lecture pour un travail particulier n': voir ce travail dans n'importe quelle vue, pouvoir accéder directement à la page du travail, voir toute référence au travail (par exemple dans les dépendances en amont ou en aval)

Aussi, 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 à certaines tâches.

7
répondu Vadim Kotov 2012-11-21 11:39:18

J'utilise la combinaison de plusieurs plugins - pour l'attribution de base des rôles et l'autorisation que j'utilise Plugin de stratégie de rôle .

Quand j'ai besoin de diviser un rôle en fonction de paramètres (par exemple, tout le monde avec job-runner est capable d'exécuter des travaux, mais l'utilisateur seul UUU utilisateur est autorisé à exécuter le travail de déploiement à déployer sur la machine MMM), j'utilise Python Plugin et définir un script python comme première étapeexit(-1) lorsque le travail est interdit de l'utiliser avec le combinaison de paramètres.

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)
2
répondu Rostislav Matl 2015-09-24 13:12:20

Comme mentionné ci-dessus par Vadim Utilisez Jenkins "stratégie D'autorisation matricielle basée sur un projet" sous "Gérer Jenkins" = > "Configurer Le Système". N'oubliez pas d'y ajouter votre administrateur et de donner toutes les autorisations. Maintenant, ajoutez l'utilisateur restreint 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". Maintenant, ajoutez chaque utilisateur que vous souhaitez autoriser.

1
répondu NMS 2018-01-16 09:14:52

Essayez d'aller dans "Gérer Jenkins" - > "Gérer les utilisateurs" allez à l'utilisateur spécifique, modifiez sa configuration "section Mes Vues" vue par défaut.

0
répondu jordilin 2011-12-01 21:10:03

Vous pouvez installer le plug-in "Extended Read Permission". Ensuite, dans les "paramètres globaux" ou dans la configuration de travail individuelle, vous pouvez donner à l'utilisateur l'autorisation de "lecture étendue".

0
répondu Rahul Singhai 2014-08-28 12:01:51