Подтвердить что ты не робот

"У пользователя отсутствует общее разрешение на чтение" с плагином Jenkins GitHub OAuth

Я использую github oauth plugin для наших логинов, но для всех наших пользователей в Организации я получаю сообщение об ошибке:

Access Denied

<user> is missing the Overall/Read permission

Я пробовал все, что я могу придумать, чтобы попытаться сделать эту работу, и я, вероятно, собираюсь отступить, чтобы сделать всех пользователей admin, которые я бы предпочел не делать.

Любые рекомендации будут оценены.

4b9b3361

Ответ 1

Вот как я решил проблему аутентификации:

  • Изменить config.xml файл, например

    sudo vi /var/lib/jenkins/config.xml
    
    • Измените значение элемента useSecurity на false, например

      <useSecurity>false</useSecurity>
      
    • Удалите authorizationStrategy block

  • Перезапустите Jenkins: /etc/init.d/jenkins restart.

  • Получите доступ к Jenkins через URL как обычно и снова настройте защиту.

Ответ 2

Вы выполнили этот шаг со страницы плагина?

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

Кроме того, убедитесь, что вы действительно разрешаете пользователям, прошедшим проверку подлинности, доступ к Jenkins

  • В соответствии с глобальной конфигурацией Jenkins в разделе "Авторизация" добавьте пользователя/группу под названием authenticated
  • Дайте этой группе полное разрешение на чтение
  • Группа должна появиться с иконкой "группа" (два пользователя), в отличие от одного пользователя.

Ответ 3

У меня была та же проблема: "... отсутствует разрешение" Общее/чтение "на Jenkins (1.651.2) с активированным плагином Credentials.

Но это был мой собственный провал: я только настроил пользователя на стороне проекта (по плану учетных данных), но пропустил настройку глобальной безопасности.

Поэтому я исправил его, выбрав:

Дженкинс → Управление Дженкинсом → Настройка глобальной безопасности

И установили отсутствующие глобальные настройки (или матрицу на основе проекта)

Ответ 4

reset от <useSecurity>true</useSecurity> до <useSecurity>false</useSecurity> в config.xml и снова установите разрешение.

Ответ 5

Отредактируйте файл /var/lib/jenkins/config.xml и добавьте следующие строки:

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

Перезапустить Jenkins

Ответ 6

  • Перейдите в $JENKINS_HOME (linux, jenkins в windows) и найдите файл config.xml.
  • Откройте этот файл в редакторе. (возьмите резервную копию дома .jenkins)
  • Найдите элемент <useSecurity>true</useSecurity> в этом файле.
  • Заменить "true" на "false"
  • Удалите элементы authorizationStrategy и securityRealm
  • Начать Jenkins

Ответ 7

У меня была такая же проблема здесь, но это затронуло только некоторых пользователей, а не все из них. В любом случае, вы должны проверить членство в общественной организации: в документации плагина указано, что "вы должны быть публичным членом организации для правильной работы авторизации". (https://wiki.jenkins-ci.org/display/JENKINS/Github+OAuth+Plugin).

Следуйте инструкциям от GitHub (https://help.github.com/articles/publicizing-or-hiding-organization-membership/), чтобы сделать членство в организации общедоступным, и это может решить вашу проблему.

Ответ 8

Также проверьте имена пользователей case в элементе authorizationStrategy. Я сделал новое имя пользователя в нижнем регистре и перезапустил службу, и ошибка исчезла.

Ответ 9

Что я сделал, когда получил эту ошибку, это отредактировать файл config.xml, как указано другими пользователями, и правильно добавить мое имя пользователя в LOWERCASE на странице "Конфигурация безопасности" Jenkins. Я использовал "KrustyHack" при добавлении разрешений, но это не сработало. Я должен был добавить "krustyhack", и это сработало.

Надеюсь, это поможет.

Ответ 10

Исправить это двумя командами оболочки на сервере (требуется разрешение sudo):

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

Это удалит строки useSecurity и authorizationStrategy из вашего файла конфигурации.

Смотрите также: Отключить безопасность на веб-сайте Jenkins

Ответ 11

Мы удалили эту же ошибку, когда администратор организации github изменил настройки организации для "стороннего доступа", чтобы "ограничить доступ сторонних приложений". Возврат к предыдущим настройкам в организации github разрешил проблему.

Подробнее о том, как правильно настроить его, см. github oauth-app-access-limits.

Ответ 12

Матричная безопасность не очень понятна. Я являюсь членом определенной группы в нашей организации, у которой есть привилегии администратора, но я также являюсь аутентифицированным пользователем. Я бы подумал, что одна группа супер-уступает другой, но мне нужно иметь оба, чтобы фактически войти в систему и быть администратором. Это привинчило ИМО.

Ответ 13

Назначение ролей пользователям сохраняется в файле config.xml. Добавьте идентификатор пользователя непосредственно в роль и перезапустите Jenkins.

В моем случае у меня есть роль с именем editor и группа пользователей, назначенных на эту роль.

 <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>

Ответ 14

У меня была такая же проблема, ваше приложение OAuth требует, чтобы ваш владелец организации одобрил, то плагин OAuth может получить доступ к личным данным в нем

Ответ 15

Я использую плагин Crowd 2, и у меня такая же проблема. Я исправил его, понизив плагин OWASP Markup Formatter от varsion 1.2 до версии 1.1, а затем изменив параметр "Разметка форм" в "Настроить значение глобальной безопасности" на "Необработанный HTML", прежде чем он станет обычным текстом.

Ответ 16

У меня была точно такая же проблема, и добавление плагина Role Strategy плагина устранило проблему.

Все, что мне нужно было сделать, это установить плагин, создать две группы - admin/developer, а затем добавить пользователей в группы.

Гораздо лучшее решение, чем воссоздание всей матрицы разрешений:)

Ответ 17

У меня была аналогичная проблема: у меня не было доступа к учетной записи Jenkin, и система была заблокирована.  У меня было сообщение об ошибке. "Отказано в доступе"

Когда я попытался переустановить Jenkins, тогда он предложил параметр "Ремонт". Если нажать кнопку "Восстановить", она устранит проблему.

Ответ 18

Я отредактировал файл /var/lib/jenkins/config.xml и заменил

<authorizationStrategy>...</authorizationStrategy> 

с

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

Это настройки по умолчанию после установки. Затем перезапустите службу jenkins.

Ответ 19

Просто используйте Jenkins > Настроить нижнюю матрицу глобальной безопасности, чтобы предоставить разрешения пользователю (начало w/read)