5

使用Jenkins OpenID 插件,我可以将 Jenkins 配置为使用我的 Google Apps OpenID 作为提供者。匿名用户仍然能够访问该应用程序(他们只有读取访问权限),但我希望拥有它,以便用户被迫使用 Google App 域登录,或者他们被拒绝访问。

我目前正在使用“登录用户可以做任何事情”的 Jenkins 授权设置,我尝试使用“基于矩阵的身份验证”并拒绝匿名用户,假设登录用户仍然有权限,是否有特殊的组值我可以在基于矩阵的身份验证中使用“登录用户”吗?

似乎“基于矩阵的安全性”仅在使用 Google Apps OpenID 时适用于特定用户(我不相信 Google Apps for Domains 支持OpenIDTeam 扩展

在此处输入图像描述

4

1 回答 1

5

是的,您可以使用一个特殊的小组来执行此操作,但查找有关如何执行此操作的信息并不明显。如果您将鼠标悬停在基于矩阵的安全表上的“总体 - 读取”列上,您将获得解决方案。

它指出

阅读权限是查看几乎所有 Jenkins 页面所必需的。当您不希望未经身份验证的用户查看 Jenkins 页面时,此权限很有用 - 从匿名用户撤消此权限,然后添加“经过身份验证的”伪用户并授予读取权限。

我将以下技术与OpenID 插件结合使用,该插件允许我指定一个 Google Apps for Business 域来保护 Jenkins

警告:请确保在开始之前备份您的安装,因为如果出现错误,您可能会将自己锁定在 Jenkins 之外。与仅从备份恢复相比,取消选择插件和设置需要更长的时间。

  1. 确保您选择的 OpenID 提供商仍然可以与您当前的“登录用户可以做任何事情”设置正常工作
  2. 为授权选择“基于矩阵的安全”模式
  3. 将新的“已验证”组(小写“a”)添加到基于矩阵的安全表中。
  4. 使用新的“已验证”行右侧的“检查所有”图标来勾选所有权限框。
  5. 使用“匿名”行右侧的“全部选中”图标取消选中所有权限框。
  6. 保存设置
  7. 重新加载詹金斯

基于矩阵的安全表,带有如前所述扩展的整体读取帮助文本

现在,每次用户想要查看 Jenkins 时,他们必须已经登录到他们的 Google 帐户,并且没有人可以在没有登录的情况下查看任何作业名称或视图。

希望这可以帮助。

于 2013-01-16T16:34:11.093 回答