Вход в Jenkins с использованием аутентификации GitHub не был администратором

Я настраивал механизм аутентификации для нашей организации jenkins, у которой не было механизма безопасности, "ananoumos" может делать что угодно, удалять задания, строить и т. Д. Я сделал

  1. Установите плагин github-oauth jenkins

  2. В моем https://github/..com/ a. OAuthApplication -> создал новое приложение б. предоставил все детали, главным был обратный вызов авторизации -> http://myserver.example.com:8080/securityRealm/finishLogin myserver.example.com = мой сервер jenkin

  3. Хорошо

  4. Он создал "ClientId" и "Client Secrete" -> отметил вниз

  5. Перейдите в Jenkins и настройте "Глобальную безопасность: как упомянуто здесь"

Когда я нажал "Сохранить" в настройках безопасности Jenkin, он выдал большую страшную ошибку

STDERR: hudson.security.AccessDeniedException2: анонимному не хватает разрешения "Полное / Администрирование" в hudson.security.ACL.checkPermission(ACL.java:57)

а затем, когда я нажал на домашнюю страницу jekins, он попытался перенаправить меня на мой org github, но не смог с "404"

Выход в разделе "Ответ"

1 ответ

Вдохновлен Дженкинсом: доступ запрещен после включения глобальной безопасности. Как вернуть?:

Поскольку в предыдущем выпуске они не использовали плагин Github Auth, в моем jenkings config.xml были другие теги, вот что я сделал:

  1. в моем сервере jenkin -> JENKIN_HOME/config.xml
  2. Сначала под <authorizationStrategy> -> установить истину для ниже

    authenticatedUserReadPermission

    useRepositoryPermissions

    authenticatedUserCreateJobPermission

    allowAnonymousReadPermission

    allowAnonymousJobStatusPermission

  3. Тогда я, по крайней мере, мог просматривать задания Jekins как "Анонимный" пользователь

  4. Затем я создал новый Auth in, My Org GitHub -> Мой профиль -> Настройки -> "Приложение OAuth" -> Приложение для разработчиков и предоставил аналогичные входные данные, в основном URL-адрес обратного вызова авторизации: http://myjenkinsserver:8080/securityRealm/finishLogin

  5. Создан новый идентификатор клиента и секретный

  6. Модифицированный jekins config.xml
  7. перезапустил Дженкинс
  8. попытался войти в систему Jenkins, на этот раз он был перенаправлен на мою организацию GitHub и спрашивает, что Jenkins хочет выполнить Authentical, я "получил", но получил новую ошибку

org.kohsuke.github.HttpException: сервер вернул код ответа HTTP: -1, сообщение: 'null' для URL: https://ghe.acme.com/api/v3/user

  1. Обнаружено, что этот API не является правильным,
  2. Модифицированный jenkins config.xml <githubApiUri>https://github.<myorg>.com/api/v3</githubApiUri>

и на этот раз это сработало:)

Другие вопросы по тегам