Раньше был способ для анонимного пользователя - например, сценарий - запрашивать определенные аспекты Jenkins через его REST API. Например, узнать имя пользователя, запустившего конкретное задание сборки, или дату его выполнения. Однако за последние несколько лет модель безопасности изменилась, что, кажется, значительно усложняет задачу даже для доступа только для чтения.
Я использую Jenkins с аутентификацией ADS. Мне нужно предоставить API-доступ к скрипту, но я не хочу использовать личный токен API конкретного пользователя (жестко запрограммированный в скрипте), потому что скрипт может запускаться кем угодно в моей организации, в том числе как часть другой автоматизации. , и я не хочу привязывать это к конкретному сотруднику.
Вместо этого мне нужен токен на основе задания - тот, который установлен для задания. Есть токен сборки, но я не думаю, что он работает для REST API.
Я думал о создании специального «автоматического» пользователя и токена для этого пользователя, но конфигурация Active Directory, похоже, не позволяет мне создавать новых пользователей Jenkins. Я не могу создать нового пользователя AD, потому что у меня просто нет возможности сделать это в моей организации.
Как лучше всего использовать токены API для анонимного доступа? Кроме того, есть ли способ гарантировать, что токен предоставляет только ограниченный доступ - например, только чтение? В идеале такой токен должен быть ограничен определенным набором заданий, а не глобальным.
Allow anonymous read access
, и это разрешает глобальный доступ только для чтения через API, но он не основан на токенах или заданиях, поэтому он немного шире, чем мне нужно. - person davidA   schedule 24.09.2018