Jenkins用户权限管理、凭证管理

一、用户权限管理

我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限

1.1、安装Role-based Authorization Strategy插件

在这里插入图片描述

1.2、开启权限全局安全配置

Manage Jenkins-------->Configure Global Security-------->授权策略切换为"Role-Based Strategy",保存
在这里插入图片描述

1.3、创建角色

Manage Jenkins--------->Manage and Assign Roles
在这里插入图片描述
Manage Role ,进行管理角色,添加角色,或者修改角色权限
在这里插入图片描述
角色介绍:

Global roles(全局角色):管理员等高级用户可以创建基于全局的角色

Project roles(项目角色): 针对某个或者某些项目的角色 ,在老版本里,项目角色叫做project roles

Slave roles(奴隶角色):节点相关的权限

我们添加以下三个角色

**baseRole:**该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑定最基本的Jenkins问权限注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission

**role1:**该角色为项目角色。使用正则表达式绑定"apple.*",意思是只能操作huawei开头的项目。

**role2:**该角色也为项目角色。绑定"orange.*",意思是只能操作zhongxing开头的项目。

在管理角色页面的全局角色配置(Global roles) 部分, 在Role to add 栏添加角色.

添加baseRole 角色,点击Add 添加
在这里插入图片描述
为baseRole 添加全局可读权限(将baseRole行的Overall 栏下的Read栏勾选)
在这里插入图片描述
添加第一个项目角色,为角色匹配项目(正则匹配),表明该角色在那些项目拥有权限
在这里插入图片描述
为项目角色勾选权限
在这里插入图片描述
保存
在这里插入图片描述

1.4、创建用户

Manage Jenkins ------->Manage Uers
在这里插入图片描述
点击Create User , 创建角色
在这里插入图片描述
创建用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5、给用户分配角色

Manage Jenkins ----->Manage and Assign Roles -------> Assign Roles,开始角色分配
在这里插入图片描述
在这里插入图片描述
将用户Tom 和 Jerry 加入到全局角色分配列表中
在这里插入图片描述
在这里插入图片描述
为Tom 和Jerry 分配全局角色,baseRole
在这里插入图片描述
将Tom 和Jerry 用户加入到 项目角色分配列表中
在这里插入图片描述
在这里插入图片描述
为Tom 和Jerry 分配全局角色,baseRole
在这里插入图片描述
在这里插入图片描述
为Tom 和Jerry 分配项目角色.Tom 和Role1 绑定, Jerry 和 Role2绑定.这样,

Tom用户只能查看到 apple 开头的项目

Jerry用户只能查看到orange开头的项目
在这里插入图片描述

1.6、创建项目测试权限

在这里插入图片描述
分别使用不同用户登录,

Tom 用户登录只能看到 huawei01项目

Jerry用户登录只能看到zhongxing01项目

二、凭证管理

凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便
Jenkins可以和这些第三方的应用进行交互。

Jenkins的素材来自于gitlab,那么Jenkins是如何获取到gitlab的数据呢?其实也是通过本地git复制远程gitlab 的方式.整个过程如下:

开发人员将代码推送到本地git 然后和远端的gitlab服务器复制,这样远端的gitlab服务器就获取到了开发人员本地的git数据

然后,Jenkins服务器的本地git 复制远端gitlab服务器的数据,通过git插件推送给Jenkins服务

在这里插入图片描述

2.1、安装Credentials Binding插件

要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件
在这里插入图片描述

Manage Jenkins----->Manage Credentials 和 凭据配置(如果没有,重新安装插件并重启)
在这里插入图片描述

2.2、安装git插件和git工具

Jenkins安装Git插件
在这里插入图片描述
Jenkins服务器安装Git工具

 yum -y install git

git --version   #安装后查看git版本

在这里插入图片描述
在这里插入图片描述

2.3、Jenkins 的5种凭证类型

Manage Jenkins ----->Manage Credentials----->点击global的下拉菜单,添加凭据
在这里插入图片描述
或者(global)-------->在点击Add Credentials
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以添加的凭证有5种

Username with password:用户名和密码
SSH Username with private key: 使用SSH用户和密钥
Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
Certificate:通过上传证书文件的方式
常用的凭证类型有:Username with password(用户密码)和SSH Username with private key(SSH密钥)

2.4、创建用户密码类型

①、创建凭证

Jenkins–>Manage Jenkins–>Manage Credentials -->global -->Add Credentials
在这里插入图片描述
在这里插入图片描述

②、测试凭证是否可用

创建一个 FreeStyle 项目

New Item —>FreeStyle Project—>确定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加凭证后就不会报错了
在这里插入图片描述

Build Now ,开始构建项目

在这里插入图片描述
在这里插入图片描述
查看/var/lib/jenkins/workspace/目录,发现已经从Gitlab成功拉取了代码到Jenkins中。(在Jenkins服务器上查看)

2.5、SSH 密钥类型

①、SSH免密登录示意图

在这里插入图片描述
在Jenkins服务器上,使用root用户生成密钥对

ssh-keygen -t rsa
ls /root/.ssh/
#id_rsa:私钥文件
#id_rsa.pub:公钥文件

在这里插入图片描述

②、把生成的公钥放在Gitlab中

以root账户登录gitlab—>点击头像—>Settings->SSH Keys
在这里插入图片描述
在这里插入图片描述

③、在生成密钥对的Jenkins服务器上,复制公钥内容

在这里插入图片描述

④、在Gitlab上,粘贴公钥内容

在这里插入图片描述

⑤、在Jenkins中添加凭证,配置私钥

Manage Jenkins —> Manage Credentails —>global —>Add Credentials
在这里插入图片描述
在这里插入图片描述

⑥、在Jenkins服务器上复制私钥

cat /root/.ssh/id_rsa

在这里插入图片描述

在这里插入图片描述

2.6、测试凭证是否可用

新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证
在这里插入图片描述
同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!
在这里插入图片描述
同样,在/var/lib/jenkins/workspace下也可以看到test02的项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值