Jenkins - 如何在项目基础上设置授权

时间:2015-08-20 07:16:56

标签: jenkins jenkins-plugins

在Jenkins中,我有两个不同的项目和两个我想要授权的用户:

User1 只能查看,构建,部署 Project1

User2 只能查看,构建,部署 Project2

我已安装基于角色的插件,但无法让它正常工作。请帮忙。

3 个答案:

答案 0 :(得分:19)

我同意Project Based可以解决您的问题,但如果您今后有100名用户,它会给管理员带来麻烦。 然后,对于每个用户,您必须提供权限,这对于那些面临基于角色的插件问题的人来说将是一项很大的努力。 这是解决方案: -

步骤1: - 单击Manage Jenkins下的全局配置。

步骤2: - 点击单选按钮“基于角色的策略”并保存。

步骤3: - 转到Manage Jenkins下的Manage and Assign Roles。

第4步: - 选择管理角色。

步骤5: - 您将看到与

有些相似的图像

manage role

步骤6: - 现在在“添加角色”选项下从管理员添加全局角色部分,并仅授予读取权限。以蓝色显示

例如: - 本案例中的员工

步骤7: - 对于上述问题以及下面的例子,一些假设

Test = Project1
check = Project2

在项目角色下: -

 Role to add:-developer

 Pattern:-Test

这意味着开发人员只能查看项目“测试”。

模式基本上就是你的项目名称。你也可以在这里使用正则表达式。例如: - 图案: - Tes * 那么所有以Tes开头的项目都将扮演开发者的角色。

同样添加角色作为测试者和模式作为检查,显示在黑框下,测试人员将只能查看项目“检查”

步骤8: - 通过复选框提供相应的权限视图,构建等,然后单击“保存”。

步骤9: - 现在返回管理角色并选择分配角色,您会发现类似的内容。

assign role

步骤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/