J'utilise une combinaison de plusieurs plugins - pour l'attribution de base des rôles et des autorisations, j'utilise Plugin Stratégie de rôles .
Lorsque j'ai besoin de diviser certains rôles en fonction de paramètres (par exemple, tout le monde avec job-runner est capable d'exécuter des travaux, mais seul l'utilisateur UUU est autorisé à exécuter le travail de déploiement sur la machine MMM), j'utilise Plugin Python et définir un script python comme première étape de construction et terminer avec sys.exit(-1) lorsque l'exécution du job est interdite avec la combinaison de paramètres donnée.
Plugin Build User Vars me fournit les informations sur l'utilisateur qui exécute le travail sous forme de 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)