我们正在运行Jenkins CI。 一般我们想提供
- 完全访问来自特定组的已authentication用户
- 全读取访问匿名用户
- 阻止匿名用户访问某些项目(完全)
我们使用Unix用户/组数据库和基于项目的matrix授权策略 。 点(1)和(2)运作良好,但是我们在实现(3)时遇到了问题。
我们试过了:
- 在全球安全移除所有的权利,匿名,然后授予基于项目的安全性,但之后,所有的匿名请求(甚至主Jenkins页面)产生login页面
- 在全球安全中增加以下权限的步骤:查看阅读(没有工作),工作发现(没有工作),工作阅读(没有工作),总体阅读 – 这最后一个似乎工作它给了匿名用户太多的权利,我们无法限制对特定项目的访问。
TL;博士
我们希望完全开放(阅读)jenkinsCI与几个项目完全隐藏/阻止匿名。
好的,所以我设法做到了这一点:
- 你需要angular色战略插件
- 在configuration全局安全性中启用此身份validation策略
- 在“ pipe理和分配angular色 / pipe理angular色”中 ,为全局angular色和项目angular色创build匿名angular色并进行身份validation
- 在全球angular色授予匿名angular色权利只有整体 / 阅读 (这将至less访问匿名用户主jenkins屏幕导航和链接到login页面,而不是立即login提示)
- 在项目angular色添加匿名angular色与正则expression式模式,将匹配您想要匿名用户访问的项目,并添加此angular色后授予它正确的作业 / 阅读和作业 / 发现
- 导航到pipe理和分配angular色 / 分配angular色,并将匿名用户组分配给匿名angular色(并将用户authentication到特定组)。 保存