允许匿名用户仅查看作业列表而不浏览 Jenkins 中的工作区

Woj*_*tek 15 security configuration hudson jenkins

我们正在运行 Jenkins CI。通常我们愿意提供

  1. 对来自特定组的经过身份验证的用户的完全访问权限
  2. 对匿名用户的完全读取权限
  3. 阻止匿名用户访问某些项目(完全)

我们使用Unix 用户/组数据库基于项目的矩阵授权策略。第 (1) 和 (2) 点效果很好,但我们无法实现 (3)。

我们已经尝试过:

  • Global Security 中删除所有匿名权限,然后在基于项目的安全性中授予它,但之后所有匿名请求(甚至到主 Jenkins 页面)都会产生登录页面
  • Global Security 中添加以下权限的步骤:View-Read(无效)、Job-Discover(无效)、Job-Read(无效)、Overal-Read - 然而这最后一个似乎有效它给了匿名用户太多的权限,我们无法限制对特定项目的访问。

tl;博士

我们想要完全开放(读取)Jenkins CI,其中一些项目完全隐藏/阻止匿名。

Woj*_*tek 20

好的,所以我设法做到了:

  • 您需要基于角色的授权策略插件
  • 配置全局安全性中启用此身份验证策略
  • 管理和分配角色/管理角色中创建新角色匿名并针对全局项目角色进行身份验证
  • 全局角色中授予匿名角色权限仅对整体/阅读(这将至少访问匿名用户主 jenkins 屏幕,带有导航和登录页面链接,而不是立即登录提示)
  • 项目角色中添加带有正则表达式模式的匿名角色,该角色将匹配您希望匿名用户访问的项目,并在添加此角色后授予它对Job / ReadJob / Discover 的权限
  • 导航到管理和分配角色/分配角色并将匿名用户组分配给匿名角色(并将经过身份验证的用户分配给特定组)。节省