Jenkins-如何基于项目设置授权

问题描述 投票:17回答:4

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

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

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

我已经安装了基于角色的插件,但是无法正常工作。请帮助。

jenkins jenkins-plugins
4个回答
22
投票

[我同意基于项目的解决方案可以解决您的问题,但是如果您以后有100个用户,它将使管理员感到头疼。然后,对于每个用户,您都必须授予权限,这对于面对基于角色的插件存在问题的用户来说将是很大的努力。这是解决方案:-

步骤1:-单击Manage Jenkins下的Global configuration。

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

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

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

第5步:-您会看到类似的图像

manage role

[第6步:-现在,在“要添加的角色”选项下,从admin添加全局角色部分,并仅授予读取权限。以蓝色显示

例如:-在这种情况下为雇员

步骤7:-对于上面的问题和下面的示例,一些假设

Test = Project1
check = Project2

在项目中的角色:-

 Role to add:-developer

 Pattern:-Test

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

模式基本上是您的项目名称。您也可以在此处使用正则表达式。例如:模式:-Tes *那么所有以Tes开头的项目都将充当开发人员的角色。

类似地,添加角色作为测试者,并添加模式作为选中者,显示在黑框下,测试者将只能查看项目“ check”

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

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

assign role

[步骤10:-在全局角色下,将user1和user2添加到Employee上,然后将其复选框作为其角色,如上图中黑框所示。

[[NOTE]每个新用户/组都必须在此处添加,并具有员工或管理员的角色。

步骤11:-在项目角色下,

添加用户1和用户2并为其分配测试人员和开发人员角色。如绿色所示。

单击保存。

[注意]

Developer will be able to view only Project "Test"
tester will be able to view only  Project "check"

8
投票

Matrix Authorization Strategy Plugin是适合您的情况的最佳选择。非常灵活的配置-全局和每个项目。您需要在项目配置中签入“启用基于项目的安全性”选项(该复选框靠近作业的config页面顶部),然后添加要为其配置访问权限的用户/组。之后,使用复选框设置/删除权限。


0
投票

最后我解决了,转到配置全局安全性在“安全领域”中:选择Jenkins自己的用户数据库,然后选择“允许用户注册”。然后选择基于项目的矩阵授权策略。添加具有授权的用户:整体读取和作业读取。现在保存。

现在创建项目,然后在配置中选择启用基于项目的安全性。并添加您要向其提供授权的用户。有关详细信息,请参阅:http://www.tothenew.com/blog/jenkins-implementing-project-based-matrix-authorization-strategy/


0
投票

我做的和您提到的@Traingle一样。但是我可以在仪表板上看到我当前拥有的所有项目。要添加到它,我正在为用户使用活动目录。我无法找出问题所在,有人可以帮我解决这个问题

© www.soinside.com 2019 - 2024. All rights reserved.