web-dev-qa-db-fra.com

Erreur 'L'utilisateur ne dispose pas de l'autorisation globale / lecture' avec Jenkins GitHub OAuth Plugin

J'utilise le plugin github oauth ==) == pour nos connexions mais pour tous nos utilisateurs de l'organisation, une erreur se produit:

Access Denied

<user> is missing the Overall/Read permission

J'ai essayé tout ce que je pouvais penser pour essayer de faire ce travail et je vais probablement me rabattre sur le fait de faire de tout le monde un utilisateur administrateur, ce que je préférerais ne pas faire.

Tout conseil serait apprécié.

42
real_ate

Voici comment j'ai résolu le problème d'authentification:

  1. Modifier config.xml fichier, par exemple.

    Sudo vi /var/lib/jenkins/config.xml
    
    1. Remplacez la valeur de l'élément useSecurity par false, par exemple.

      <useSecurity>false</useSecurity>
      
    2. Supprimer le bloc authorizationStrategy

  2. Redémarrer Jenkins: /etc/init.d/jenkins restart.

  3. Accédez à Jenkins via l’URL comme d’habitude et reconfigurez la sécurité.
65
Tom Johns

Avez-vous suivi cette étape, à partir de la page du plugin?

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

Assurez-vous également que vous autorisez les utilisateurs authentifiés à accéder à Jenkins.

  • Sous Configuration globale Jenkins, sous Autorisation, ajoutez un utilisateur/groupe appelé authenticated.
  • Donner à ce groupe l'autorisation de lecture globale
  • Le groupe doit apparaître avec une icône "groupe" (deux utilisateurs), par opposition à une icône utilisateur unique.
14
Slav

J'ai eu le même problème avec "... il manque l'autorisation globale/lecture" sur Jenkins (1.651.2) avec le plugin Credentials activé.

Mais c’est mon propre échec: je n’ai configuré l’utilisateur que côté projet (avec le plug-in de données d’identité), mais j’ai manqué de configurer la sécurité globale.

Je l'ai donc corrigé en sélectionnant:

Jenkins -> Gérer Jenkins -> Configurer la sécurité globale

Et avez-vous configuré les paramètres globaux manquants (ou ceux basés sur la matrice de projet)

9
hexadez

réinitialiser de <useSecurity>true</useSecurity> à <useSecurity>false</useSecurity> dans config.xml et redéfinissez l'autorisation.

8
BMW

Editez le fichier /var/lib/jenkins/config.xml et ajoutez les lignes suivantes:

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

Redémarrer Jenkins

5
metatechbe

Vérifiez également les noms d'utilisateur de cas dans l'élément authorizationStrategy. J'ai mis mon nouveau nom d'utilisateur en minuscule et j'ai redémarré le service et l'erreur a disparu.

3
Terry Mandin

J'ai eu le même problème ici, mais cela ne concernait que certains utilisateurs, pas tous. Quoi qu'il en soit, vous devez vérifier l'appartenance à une organisation publique: la documentation du plug-in indique que "Vous devez être un membre public de l'organisation pour que l'autorisation fonctionne correctement". ( https://wiki.jenkins-ci.org/display/JENKINS/Github+OAuth+Plugin ).

Suivez les instructions de GitHub ( https://help.github.com/articles/publicizing-or-hiding-organization-membership/ ) afin de rendre publique l'appartenance à une organisation, ce qui pourrait résoudre votre problème.

3
grams

Résolvez-le avec ces 2 commandes Shell sur le serveur (l'autorisation Sudo est requise):

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

Ceci supprimera les lignes useSecurity et authorizationStrategy de votre fichier de configuration.

Voir aussi: Désactiver la sécurité sur le site Web de Jenkins

3
kenorb
  • Accédez à $ JENKINS_HOME (Linux, Jenkins dans Windows) et recherchez le fichier config.xml.
  • Ouvrez ce fichier dans l'éditeur. (prenez une sauvegarde de .jenkins à la maison)
  • Cherchez le <useSecurity>true</useSecurity> élément dans ce fichier.
  • Remplacer "true" par "false"
  • Supprimer les éléments authorizationStrategy et securityRealm
  • Démarrer Jenkins
3

Ce que j’ai fait quand j’ai eu cette erreur, c’est de modifier config.xml comme mentionné par d’autres utilisateurs et de rajouter correctement mon nom d’utilisateur dans LOWERCASE dans la page "configureSecurity" de Jenkins. J'utilisais "KrustyHack" lors de l'ajout d'autorisations, mais cela ne fonctionnait pas. J'ai dû ajouter "krustyhack" à la place, et cela a fonctionné.

J'espère que ça aide.

3
KrustyHack

Nous avons rencontré la même erreur lorsqu'un administrateur d'organisation github a modifié les paramètres de l'organisation pour "Accès tiers" par "restreindre l'accès aux applications tierces". Le retour aux paramètres précédents dans l’organisation github a résolu le problème.

Voir github oauth-app-access-restrictions pour des détails sur la façon de configurer cela correctement.

2
Aled Sage

L'attribution des rôles aux utilisateurs est stockée dans config.xml fichier. Ajoutez l'ID de l'utilisateur directement au rôle, puis redémarrez Jenkins.

Dans mon cas, j'ai un rôle nommé editor et un groupe d'utilisateurs affectés à ce rôle.

 <role name="editor" pattern=".*">
     <permissions>
         <...>
         <permission>hudson.model.Item.Create</permission>
         <permission>hudson.model.Item.Workspace</permission>
         <permission>...</permission>
     </permissions>
     <assignedSIDs>
         <sid>bob</sid>
         <sid>alice</sid>
         <sid>**newuser**</sid>   
     </assignedSIDs>
  </role>
1
toppur

La sécurité de la matrice n'est pas très claire. Je suis membre d'un groupe spécifique de notre organisation qui dispose de privilèges d'administrateur, mais je suis également un utilisateur authentifié. Je penserais qu'un groupe super-cède l'autre mais je dois avoir les deux pour pouvoir me connecter au système et être administrateur. C'est foutu à l'OMI.

1
Caolan

J'avais le même problème auparavant, votre OAuth doit être approuvée par le propriétaire de votre entreprise, puis le OAuth peut accéder aux données privées qu'il contient).

0
Ethan Wu

J'ai eu un problème similaire, je n'ai pas pu accéder au compte Jenkin et le système était verrouillé. Je n'avais qu'un message d'erreur. "Accès refusé "

Quand j'ai essayé de réinstaller Jenkins, il m'a alors demandé de réparer l'option. En cliquant sur l'option de réparation, le problème a été résolu.

0
Shri

J'ai eu exactement le même problème et l'ajout du plugin Role Strategy Plugin a résolu le problème.

Tout ce que j'avais à faire était d'installer le plug-in, de créer deux groupes - admin/développeur, puis d'ajouter des utilisateurs aux groupes.

Une solution bien meilleure que de recréer toute la matrice des autorisations :)

0
Mark

J'utilise le plugin Crowd 2 et j'ai le même problème. Je l'ai résolu en rétrogradant le plug-in OWASP Markup Formatter de varsion 1.2 vers la version 1.1, puis en changeant Markup Formatter dans la valeur de configuration de la sécurité globale en HTML brut, avant que ce ne soit du texte brut.

0
koralgooll