温馨提示×

如何在Ubuntu上配置Jenkins权限

小樊
45
2025-09-18 18:53:44
栏目: 智能运维

在Ubuntu上配置Jenkins权限的详细步骤

一、前置准备:安装与启动Jenkins

  1. 安装Jenkins
    更新系统软件包并添加Jenkins官方仓库,安装Jenkins及依赖的Java环境(Jenkins依赖Java 11及以上版本):
    sudo apt update && sudo apt upgrade -y wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update sudo apt install jenkins openjdk-17-jre -y 
  2. 启动Jenkins服务
    启动Jenkins并设置开机自启:
    sudo systemctl start jenkins sudo systemctl enable jenkins 

二、启用Jenkins全局安全配置

  1. 访问Jenkins Web界面
    浏览器输入http://<Ubuntu服务器IP>:8080,通过/var/lib/jenkins/secrets/initialAdminPassword文件获取初始密码(cat /var/lib/jenkins/secrets/initialAdminPassword),完成初始登录。
  2. 开启安全功能
    进入“Manage Jenkins” > “Configure Global Security”,勾选Enable security(启用安全),此步骤要求所有用户通过用户名/密码登录才能操作Jenkins。
  3. 配置安全域
    在“Security Realm”部分,选择Jenkins’ own user database(默认,通过Jenkins自身管理用户)或Unix user/group database(使用系统用户认证),根据需求选择身份验证方式。

三、配置权限控制策略(推荐使用Role-based Authorization Strategy)

1. 安装Role-based Authorization Strategy插件

进入“Manage Jenkins” > “Manage Plugins”,在“Available”标签页搜索“Role-based Authorization Strategy”,勾选后点击“Install without restart”(无需重启安装)。

2. 启用Role-based策略

再次进入“Configure Global Security”,在“Authorization”部分选择Role-Based Strategy,点击“Save”保存配置。

3. 创建角色与分配权限

  1. 进入角色管理页面
    点击“Manage Jenkins” > “Manage and Assign Roles” > “Manage Roles”。
  2. 创建全局角色(Global roles)
    • 点击“Global roles”标签页,再点击“Add”创建角色(如admindeveloper)。
    • 为角色分配权限:admin角色勾选所有权限(如Overall: Administer),developer角色勾选Overall: ReadJob: BuildJob: Cancel等开发所需权限。
  3. 创建项目角色(Item roles)(可选,用于细粒度控制项目访问)
    • 切换至“Item roles”标签页,点击“Add”,输入角色名称(如project1-dev),使用正则表达式匹配项目名称(如project1-*)。
    • 分配项目级权限(如Job: ReadJob: BuildJob: Workspace),允许特定用户仅访问指定项目。
  4. 创建节点角色(Agent roles)(可选,用于控制节点访问)
    • 切换至“Agent roles”标签页,点击“Add”,输入角色名称(如linux-agent),使用正则表达式匹配节点名称(如ubuntu-agent-*)。
    • 分配节点级权限(如Agent: ConnectAgent: Disconnect),限制用户对节点的操作。

4. 分配角色给用户

  1. 创建用户
    进入“Manage Jenkins” > “Manage Users”,点击“Create User”,填写用户名、密码等信息,点击“Save”。
  2. 分配角色
    进入“Manage and Assign Roles” > “Assign Roles”,在“User/group to add”输入框中输入用户名,选择该用户对应的Global roles(如admin)、Item roles(如project1-dev)、Agent roles(如linux-agent),点击“Save”。

四、其他安全优化措施

  1. 配置防火墙
    使用ufw开放Jenkins默认端口(8080),并限制访问IP(如仅允许公司内网IP):
    sudo ufw allow from <公司内网IP段> to any port 8080 sudo ufw enable 
  2. 启用SSL加密
    通过Let’s Encrypt申请免费SSL证书,配置Jenkins使用HTTPS(避免数据传输被窃取):
    sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d jenkins.yourdomain.com 
  3. 定期更新与备份
    定期更新Jenkins及插件(sudo apt update && sudo apt upgrade jenkins),并通过rsyncscp定期备份/var/lib/jenkins目录(包含配置与构建数据)。

五、验证权限配置

使用不同用户(如admindeveloper)登录Jenkins,尝试执行管理操作(如创建用户、修改全局配置)或项目操作(如构建、取消任务),确认权限是否符合预期。例如,developer用户应无法访问“Manage Jenkins”页面,但能正常构建project1-*项目。

0