我们正在运行 Jenkins CI。通常,我们希望提供
- 对特定组中经过验证的用户具有完全访问权限
- 匿名用户拥有完全读取权限
- 彻底阻止匿名用户访问某些项目
我们用Unix 用户/组数据库和基于项目的矩阵授权策略。第 (1) 点和第 (2) 点效果很好,但我们在实现第 (3) 点时遇到了困难。
我们已经尝试过:
- 在全球安全删除 anonymous 的所有权利,然后将其授予基于项目的安全但此后所有匿名请求(甚至是 Jenkins 主页)都会产生登录页面
- 在全球安全分步添加以下权限:查看-阅读(不起作用)、作业-发现(不起作用)、作业-阅读(不起作用)、总体阅读 - 最后一个似乎起作用了,但是它给了匿名用户太多权限,我们无法限制对特定项目的访问。
总结
我们希望完全开放(读取方面)的 Jenkins CI,并对匿名用户完全隐藏/阻止一些项目。
答案1
好的,我已经成功了:
- 你需要基于角色的授权策略插件
- 启用此身份验证策略配置全局安全
- 在管理和分配角色/管理角色创建新角色匿名的和已认证对彼此而言全球的和项目角色
- 在全球角色授予匿名的角色权利只全面的/读(这至少会访问匿名用户主詹金斯屏幕,并带有导航和登录页面的链接,而不是立即登录提示)
- 在项目角色添加匿名的具有正则表达式模式的角色将与你希望匿名用户访问的项目相匹配,并在添加此角色后授予其权限工作/读和工作/发现
- 导航管理和分配角色/分配角色并分配匿名的用户组匿名的角色(并将经过身份验证的用户分配到特定组)。保存