Пользовательские пользователи при использовании Jenkins Google Login Plugin - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь в нашей компании Jenkins из базы данных Jenkins + безопасность на основе матрицы использовать плагин Google Login и плагин на основе ролевой стратегии, чтобы дать нам лучший контроль над нашими учетными записями пользователей.

С этой новой настройкой мне интересно, как я могу создать назначенного пользователя, который используется сценариями, которые запускают задания Jenkins удаленно. Я хотел бы сделать это, не добавляя пользователя в учетную запись GSuite нашей компании, поскольку это стоит несколько долларов в месяц. До перехода на Google Login я мог просто создать пользователя вручную в пользовательской базе данных Jenkins и взять оттуда токен API, но после переключения на Google Login нет возможности добавить пользователя (что имеет смысл, учитывая, что пользователи управляются Google сейчас). На данный момент мне кажется, что мне нужно выбрать:

  • Используйте старый подход и забудьте про аутентификацию через гугл. Это не очень хороший результат, так как мы хотим свести к минимуму количество учетных записей пользователей, которые мы должны настроить для новых людей, присоединяющихся к компании, для покрытия накладных расходов.
  • Используйте плагин Google Login и создайте нового выделенного пользователя "Jenkins" в GSuite для этих сценариев / требований. Это стоит денег.
  • Используйте существующий пользовательский API-токен, чтобы избежать затрат на нового пользователя Google в нашей учетной записи GSuite. Это кажется плохой практикой, о которой я когда-нибудь пожалею.

Существует ли обходной путь, для которого не требуется назначенный пользователь GSuite или перепрофилирование существующих учетных данных пользователей Google только для этой цели?

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Я также смотрел, как удаленно запускать сборки при использовании плагина входа в систему Google. Я решил использовать «Build Token Root Plugin», который решил эту проблему, без необходимости создавать для этого отдельного пользователя.

Этот плагин предлагает альтернативный шаблон URI, на который не распространяются обычные общие или разрешения на чтение задания. Просто введите Http GET или POST для buildByToken / build? Job = NAME & token = SECRET. Этот URI доступен анонимным пользователям независимо от настроек безопасности, поэтому вам нужен только правильный токен.

https://wiki.jenkins.io/display/JENKINS/Build+Token+Root+Plugin

0 голосов
/ 29 августа 2018

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

Однако я использую плагин SAML с GSuite вместо плагина Google Login, но с точки зрения безопасности Jenkins я предполагаю, что они работают одинаково.

Когда вы используете такой плагин, Jenkins создает securityRealm в своей конфигурации. В моем случае это:

  <securityRealm class="org.jenkinsci.plugins.saml.SamlSecurityRealm" plugin="saml@1.0.7">

Следовательно, чтобы матрица безопасности SAML и Jenkins работала одновременно, необходимо иметь несколько областей безопасности.

Вот тикет , который описывает эту проблему, но он все еще открыт

Привет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...