Permitir que el usuario anónimo solo vea la lista de trabajos sin explorar el espacio de trabajo en Jenkins

15

Estamos ejecutando un CI Jenkins. En general nos gustaría proporcionar

  1. acceso completo a usuarios autenticados de un grupo particular
  2. acceso de lectura completa a usuarios anónimos
  3. bloquear usuarios anónimos para acceder a ciertos proyectos (completamente)

Utilizamos la base de datos de usuarios / grupos de Unix y la estrategia de autorización de matriz basada en proyectos . Los puntos (1) y (2) funcionan bien pero estamos teniendo problemas para lograr (3).

Hemos tratado:

  • en Seguridad global eliminando todos los derechos a anónimo y luego otorgándolo en seguridad basada en proyectos, pero después de eso, todas las solicitudes anónimas (incluso a la página principal de Jenkins) producen la página de inicio de sesión
  • en Seguridad Global agregando en pasos los siguientes derechos: Ver-Leer (no funcionó), Job-Discover (no funcionó), Job-Leer (no funcionó), Overal-Leer - este último parecía funcionar sin embargo le dio demasiados derechos al usuario anónimo y no pudimos limitar el acceso al proyecto en particular.

tl; dr

queremos un CI de Jenkins completamente abierto (en cuanto a lectura) con algunos proyectos completamente ocultos / bloqueados para el anonimato.

Wojtek
fuente

Respuestas:

20

OK, así que me las arreglé para hacerlo:

  • necesita un complemento de estrategia de autorización basado en roles
  • habilite esta estrategia de autenticación en Configurar seguridad global
  • en Administrar y asignar roles / Administrar roles crea un nuevo rol anónimo y autenticado para roles globales y de proyecto
  • en Global papeles otorgan anónima papel derecho sólo a general / Lea (esto en la pantalla como mínimo principales Jenkins acceso anónimo de usuario con la navegación y el enlace a la página de inicio de sesión, no indicador de conexión inmediatamente)
  • en la función Proyecto, agregue una función anónima con un patrón regexp que coincida con los proyectos a los que desea que accedan los usuarios anónimos y, después de agregar esta función, concédale derecho a Trabajo / Leer y Trabajo / Descubrir
  • Vaya a Gestionar y Asignar roles / Asignar roles y asignar Anónimo grupo de usuarios al anónima papel (y los usuarios autenticados a grupos específicos). SALVAR
Wojtek
fuente
Un problema relacionado es que la estrategia de rol distingue entre mayúsculas y minúsculas en los nombres de usuario coincidentes. Ingresé nombres de usuario en mayúsculas en la página "Asignar roles". Inicié sesión con un nombre de usuario en minúsculas y aunque mi nombre de usuario se muestra en mayúsculas, ningún rol coincidía con mi usuario. Mis permisos permitidos volvieron a los del usuario anónimo. Si inicio sesión con nombre de usuario en mayúscula, funciona.
s_t_e_v_e
Si bien esta respuesta funciona, alguna vez explicó el propósito o la configuración del rol "autenticado".
Brad Wood
eso es solo un atajo: puede ser "anónimo" y "privilegiado"; Solía ​​"autenticado" porque el subconjunto de personas disponibles para ver y editar esas tareas ocultas particulares sería igual a las que realmente tienen la cuenta.
Wojtek
Este video me ayudó ... savjee.be/videos/get-started-with-jenkins/…
Anand Varkey Philips
2

Con el https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Plugincomplemento anterior

entonces NO necesita agregar un authenticatedrol en la página Administrar roles .

Capturas de pantalla: Administrar roles y asignar roles

Yanjiong Wang
fuente