在Jenkins中,我有两个不同的项目和两个我想要授权的用户:
User1 只能查看,构建,部署 Project1 。
User2 只能查看,构建,部署 Project2 。
我已安装基于角色的插件,但无法让它正常工作。请帮忙。
答案 0 :(得分:19)
我同意Project Based可以解决您的问题,但如果您今后有100名用户,它会给管理员带来麻烦。 然后,对于每个用户,您必须提供权限,这对于那些面临基于角色的插件问题的人来说将是一项很大的努力。 这是解决方案: -
步骤1: - 单击Manage Jenkins下的全局配置。
步骤2: - 点击单选按钮“基于角色的策略”并保存。
步骤3: - 转到Manage Jenkins下的Manage and Assign Roles。
第4步: - 选择管理角色。
步骤5: - 您将看到与
有些相似的图像步骤6: - 现在在“添加角色”选项下从管理员添加全局角色部分,并仅授予读取权限。以蓝色显示
例如: - 本案例中的员工
步骤7: - 对于上述问题以及下面的例子,一些假设
Test = Project1
check = Project2
在项目角色下: -
Role to add:-developer
Pattern:-Test
这意味着开发人员只能查看项目“测试”。
模式基本上就是你的项目名称。你也可以在这里使用正则表达式。例如: - 图案: - Tes * 那么所有以Tes开头的项目都将扮演开发者的角色。
同样添加角色作为测试者和模式作为检查,显示在黑框下,测试人员将只能查看项目“检查”
步骤8: - 通过复选框提供相应的权限视图,构建等,然后单击“保存”。
步骤9: - 现在返回管理角色并选择分配角色,您会发现类似的内容。
步骤10: - 在全局角色下添加user1和user2,并选中Employee作为其角色,如上图中黑框所示。
[注意]必须在此添加每个新用户/组,并赋予员工或管理员角色。
步骤11: - 在项目角色下,
添加user1和user2,并为其分配测试人员和开发人员角色。 如绿色所示。
点击保存。
[注]
Developer will be able to view only Project "Test"
tester will be able to view only Project "check"
答案 1 :(得分:8)
Matrix Authorization Strategy Plugin是您案例的最佳选择。非常灵活的配置 - 全局和每个项目。您需要在项目配置中选中“启用基于项目的安全性”选项(复选框靠近作业配置页面的顶部),然后添加要为其配置访问权限的用户/组。之后使用复选框来设置/删除权限。
答案 2 :(得分:0)
最后我解决了它,转到配置全局安全性 在Security Realm中:选择Jenkins自己的用户数据库并允许用户注册。 然后选择基于项目的矩阵授权策略。 添加具有授权的用户:整体读取和作业读取。 现在保存。
现在创建项目并在配置中选择启用基于项目的安全性。 并添加要向其提供授权的用户。 有关详细信息,请参阅: http://www.tothenew.com/blog/jenkins-implementing-project-based-matrix-authorization-strategy/