1 访问控制简要介绍
默认的jenkins,登录用户都可以修改Jenkins设置、启动build 等。显然有需要多个部门多个人一起协调工作的时候,没有任何安全检查会带来很多的问题。
在 Jenkins > Manage Jenkins > Configure Global Security 页面可以 对 “访问控制” 进行相应的设置
Jenkins的权限配置文件存放在 JENKINS_HOME目录(JENKINS_HOME是在 /etc/sysconfig/jenkins 文件中配置的,一般情况,JENKINS_HOME="/var/lib/jenkins"),找到 config.xml 文件,里面有一堆的东西,找找。。。找到了 <useSecurity>和<authorizationStrategy>节点。<useSecurity>节点代表是否使用用户权限,<authorizationStrategy>节点代表用户权限是怎么划分的。 --- 注意:config.xml 里面的内容会随着你在web页面的设置或操作等动态变化
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
1)Security Realm, 用来决定用户名和密码,且指定用户属于哪个组;
2)Authorization Strategy, 用来决定用户对哪些资源有访问权限;
2. 创建普通用户
Jenkins > Manage Jenkins > Manage Users > 新建用户
填写完各项,点击“新建用户”,创建的用户如下图:
(在该用户列表中,点击某个用户,可以进入该用户的用户界面,在该界面下可以进行删除用户操作)
若此时使用此时的dev用户登录会发现具有全部权限,下面我们 开始设置 “访问控制”
3. 设置 “访问控制”
在 Jenkins > Manage Jenkins > Configure Global Security 页面可以 对 “访问控制” 进行相应的设置
授权策略选择 “安全矩阵”
点击 “Add user or group” , 添加管理员用户 Admin 和 刚才创建的 普通用户 dev (文本框输入dev会自动显示为 “dev用户”) ,权限设置如下所示:
注意:一定要给普通用户 dev 赋 Ovreall/read 权限,不然登录后什么都没有权限访问,报错如下: