如何在Jenkins中创建服务帐户用户以及来自安全领域(如SSO或LDAP)的其他用户?

7uzetpgm  于 2023-02-18  发布在  Jenkins
关注(0)|答案(1)|浏览(183)

在我的组织中,无法将服务帐户用户添加到SSO身份提供程序。是否有办法将用户添加到Jenkins的系统,然后为其创建令牌?
不要求此用户实际能够登录。
在Jenkins中,创建与安全领域帐户并列的帐户的能力似乎是一个限制:https://issues.jenkins.io/browse/JENKINS-38257

wpx232ag

wpx232ag1#

至少在我们使用SAML安全领域和Okta SSO的设置中,管理员可以从脚本控制台运行以下命令:

import hudson.model.*
import jenkins.model.*
import jenkins.security.*
import jenkins.security.apitoken.*

def userName = 'service-account-name'
def tokenName = 'service-access-token'

def user = User.get(userName, true) // `true` will create the user if it does not exist.
def token = user.getProperty(ApiTokenProperty.class).tokenStore.generateNewToken(tokenName)
user.save()

return token.plainValue

结果将输出可在API请求中使用的令牌。如果用户已经存在,则将向用户添加新令牌。
任何创建的或预先存在的令牌都可以从用户页面的“人员”下撤销。

相关问题