Error de authentication de Jenkins Github: al usuario le falta el permiso General / Lectura

Estoy usando el plugin github oauth para nuestros inicios de session, pero para todos nuestros usuarios en la Organización recibo un error:

Access Denied <user> is missing the Overall/Read permission 

He intentado todo lo que puedo pensar para intentar hacer que esto funcione y probablemente voy a recurrir a que todos sean usuarios administradores, lo que preferiría no hacer.

Cualquier consejo sería apreciado.

Así es como resolví el problema de authentication:

  1. Edite el file config.xml , por ejemplo

     sudo vi /var/lib/jenkins/config.xml 
    1. Cambiar el valor del elemento useSecurity a false , por ejemplo

       <useSecurity>false</useSecurity> 
    2. Eliminar authorizationStrategy Bloque de estrategia

  2. Reinicie Jenkins: /etc/init.d/jenkins restart .

  3. Acceda a Jenkins a través de la URL como de costumbre y vuelva a configurar la security nuevamente.

¿Has seguido este paso desde la página del complemento?

Control user authorization (ie who is allowed to see the jobs and build them) using the Github Commiter Authorization Strategy

Además, asegúrese de permitir que los usuarios autenticados accedan a Jenkins

  • En la configuration global de Jenkins, en Autorización, agregue usuario / grupo llamado authenticated
  • Dar permiso de lectura general a ese grupo
  • El grupo debe mostrarse con un ícono de "grupo" (dos usuarios), a diferencia del ícono de usuario único.

restablecer desde <useSecurity>true</useSecurity> a <useSecurity>false</useSecurity> en config.xml y establecer de nuevo el permiso.

Solucionarlo con estos 2 commands de shell en el server (se requiere el permiso de sudo):

 sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml sudo /etc/init.d/jenkins restart 

Esto eliminará las líneas useSecurity y authorizationStrategy de su file de configuration.

Ver también: Deshabilitar la security en el website de Jenkins

Tuve el mismo problema con "… falta el permiso General / Leer" en Jenkins (1.651.2) con el complemento de cnetworkingenciales activado.

Pero fue mi propio fracaso: solo configuré el usuario en el lado del proyecto (por el complemento de cnetworkingenciales) pero no configuré la security global.

Así que lo arreglé seleccionando:

Jenkins -> Gestiona Jenkins -> Configura la security global

Y configuró la configuration global faltante (o matriz de proyecto basada en uno)

Edite el file /var/lib/jenkins/config.xml y agregue las siguientes líneas:

  <authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy"> <permission>hudson.model.Hudson.Read:john.smith</permission> </authorizationStrategy> 

Reiniciar Jenkins

También verifique los nombres de usuarios de casos en el elemento de authorizationStrategy . Hice minúsculo mi nombre de usuario nuevo y reinicié el service y el error desapareció.

Lo que hice cuando recibí este error es editar config.xml como lo mencionaron otros usuarios y volver a agregar correctamente mi nombre de usuario en LOWERCASE en la página de "configureSecurity" de Jenkins. Estaba usando "KrustyHack" al agregar permissions, pero no funcionó. Tuve que agregar "krustyhack" en su lugar, y funcionó.

Espero que ayude.

  • Vaya a $ JENKINS_HOME (linux, jenkins en Windows) y encuentre el file config.xml.
  • Abra este file en el editor. (tomar copy de security de .jenkins en casa)
  • Busque el elemento <useSecurity>true</useSecurity> en este file.
  • Reemplazar "verdadero" con "falso"
  • Elimine los elementos authorizationStrategy y securityRealm
  • Comience Jenkins

La security de la matriz no es terriblemente clara. Soy miembro de un grupo específico en nuestra organización que tiene privilegios de administrador, pero también soy un usuario autenticado. Creo que el único grupo cede el uno al otro, pero tengo que tener ambos para iniciar session en el sistema y ser administrador. Está mal IMO.

Tuve el mismo problema aquí, pero afectó solo a algunos usuarios, no a todos. De todos modos, debe verificar la membresía de una organización pública: la documentation del complemento indica que "debe ser un miembro público de la organización para que la autorización funcione correctamente". ( https://wiki.jenkins-ci.org/display/JENKINS/Github+OAuth+Plugin ).

Siga las instrucciones de GitHub ( https://help.github.com/articles/publicizing-or-hiding-organization-membership/ ) para hacer que la membresía de la organización sea pública, y esto podría solucionar su problema.

Tuve el mismo problema antes, su aplicación OAuth necesita la aprobación de su propietario de la organización, luego el complemento OAuth puede acceder a los datos privados que contiene

Estoy usando el complemento Crowd 2 y tengo el mismo problema. Lo arreglé degradando OWASP Markup Formatter Plugin de la versión 1.2 a la versión 1.1 y luego cambiando Markup Formatter en Configurar security global a HTML sin formatting, antes de que fuera text sin formatting.

Tuve exactamente el mismo problema y al agregar el Complemento de Estrategia de Roles del complemento solucioné el problema.

Todo lo que tuve que hacer fue instalar el complemento, crear dos grupos: administrador / desarrollador y luego agregar usuarios a los grupos.

Una solución mucho mejor que recrear toda la matriz de permissions 🙂

Tuve un problema similar. No pude acceder a la count de Jenkin y el sistema estaba bloqueado. Solo tuve un post de error. "Acceso denegado "

Cuando intenté reinstalar a Jenkins, me puse a reparar la opción. Al hacer clic en la opción Reparar, solucionó el problema.

Simplemente use la matriz de la página inferior de Jenkins> Configure Global Security para proporcionar permissions al usuario (comience con la lectura)

Edité el file /var/lib/jenkins/config.xml y reemplacé el

 <authorizationStrategy>...</authorizationStrategy> 

con

 <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"> <denyAnonymousReadAccess>true</denyAnonymousReadAccess> </authorizationStrategy> 

Es la configuration pnetworkingeterminada después de la installation. Luego reinicie el service jenkins.