Jenkins使用OpenID身份验证仅限制访问Google Apps Domain用户

Dou*_*kem 5 openid authentication google-apps jenkins jenkins-plugins

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

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

似乎"基于矩阵的安全性"仅适用于使用Google Apps OpenID的特定用户(我不相信域的Google应用程序支持OpenIDTeam扩展

在此输入图像描述

jbj*_*jon 5

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

它指出

查看几乎所有Jenkins页面都需要读取权限.当您不希望未经身份验证的用户查看Jenkins页面时,此权限非常有用 - 从匿名用户撤消此权限,然后添加"已验证"的伪用户并授予读取权限.

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

警告:确保在开始之前已经安装了备份,因为如果出现问题,可能会将自己锁定在Jenkins之外.取消插件和设置所需的时间比仅从备份中恢复要长.

  1. 确保您选择的OpenID提供程序仍然可以正常使用您当前的"登录用户可以执行任何操作"设置
  2. 选择"基于Matrix的安全性"模式进行授权
  3. 将新的"已验证"组(小写"a")添加到基于Matrix的安全性表.
  4. 使用新"已验证"行右侧的"全部检查"图标勾选所有权限框.
  5. 使用"匿名"行右侧的"全部检查"图标取消选中所有权限框.
  6. 保存设置
  7. 重新加载詹金斯

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

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

希望这可以帮助.