Uso la combinación de varios complementos - para la asignación básica de roles y permisos, uso Role Strategy Plugin.
Cuando necesito dividir algún rol dependiendo de los parámetros (por ejemplo, todos los que tienen job runner pueden ejecutar trabajos, pero el usuario UUU solo puede ejecutar el trabajo de implementación para implementar en la máquina MMM), utilizo Python Complemento y defina un script de python como primer paso de compilación y finalice con sys.exit (-1) cuando el trabajo está prohibido para ejecutarse con la combinación de parámetros dada.
Build User Vars El complemento me proporciona la información sobre el usuario que ejecuta el trabajo como variables de entorno.
E.g:
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)
Parece que todavía necesita abrir la configuración de lectura general como sugiere OP. Intenté todo y no puedo hacer que la configuración de seguridad basada en proyectos haga nada sin verificar esa lectura general. Podría ser que estoy usando LDAP, pero funciona bien a nivel mundial. – quickshiftin
Tiene que verificar la Lectura general, pero luego, en el proyecto que está asegurando, solo asegúrese de marcar "No heredar permisos globales". De esta forma, el usuario que no quiera ver el proyecto no lo verá. – metaforge