使用SAML在Jenkins中配置组授权

时间:2018-10-29 13:44:38

标签: jenkins saml saml-2.0

我正在尝试使用我拥有的Jenkins实例使用IDP(身份提供者)来设置组授权。

对于单个用户,我已经能够通过安装SAML 2.0插件,将服务提供商元数据发送到我的IDP并成功完成注册来成功设置此功能。

我能够使用我的SAML凭据成功登录到我的Jenkins。

我还可以使用“角色策略插件”为用户提供某些角色。我已经定义了“工作阅读器”,“工作管理员”等角色,并将这些角色分配给各个用户。

所有操作直到完成。

但是,我要寻找的不是在Jenkins层上为用户分配角色,而是让Jenkins提取IDP中定义的组并将这些组分配给Ive定义的角色,而不是我必须将角色分配给个人用户。

在IDP端,我创建了组(我具有组ID),并将用户分配给了这些组。我要做的就是让我的詹金斯读取那些组ID。有一些我可以遵循的文档吗?

以下是我迄今为止完成的步骤,均未获得成功的结果。

在我的IDP中,我创建了一个jenkins-reader组,并将用户分配给该组。

enter image description here

当我查看用户的数据时,可以清楚地看到我的用户P000002是特定组的一部分。

{
    "uid": "P000002",
.
.

    "companyGroups": [
        "jenkins-reader"
    ],
.
.
. }

现在切换到Jenkins,我有以下配置。

管理角色下,配置了项目角色。创建jenkins-reader角色并分配作业读取权限。

enter image description here

分配角色下,我添加了jenkins-reader组(与IDP中定义的名称相同),并为其分配了在最后一步中配置的jenkins-reader角色。

enter image description here

当我点击“应用并保存”时,我尝试再次登录并收到错误消息

Access Denied
P000002 is missing the Overall/Read permission

现在我不确定我是否在这里遗漏了某些东西,或者对此采取了错误的方法。我一直在关注this doc

0 个答案:

没有答案