我正在尝试使用我拥有的Jenkins实例使用IDP(身份提供者)来设置组授权。
对于单个用户,我已经能够通过安装SAML 2.0插件,将服务提供商元数据发送到我的IDP并成功完成注册来成功设置此功能。
我能够使用我的SAML凭据成功登录到我的Jenkins。
我还可以使用“角色策略插件”为用户提供某些角色。我已经定义了“工作阅读器”,“工作管理员”等角色,并将这些角色分配给各个用户。
所有操作直到完成。
但是,我要寻找的不是在Jenkins层上为用户分配角色,而是让Jenkins提取IDP中定义的组并将这些组分配给Ive定义的角色,而不是我必须将角色分配给个人用户。
在IDP端,我创建了组(我具有组ID),并将用户分配给了这些组。我要做的就是让我的詹金斯读取那些组ID。有一些我可以遵循的文档吗?
以下是我迄今为止完成的步骤,均未获得成功的结果。
在我的IDP中,我创建了一个jenkins-reader
组,并将用户分配给该组。
当我查看用户的数据时,可以清楚地看到我的用户P000002
是特定组的一部分。
{
"uid": "P000002",
.
.
"companyGroups": [
"jenkins-reader"
],
.
.
. }
现在切换到Jenkins,我有以下配置。
在管理角色下,配置了项目角色。创建jenkins-reader
角色并分配作业读取权限。
在分配角色下,我添加了jenkins-reader
组(与IDP中定义的名称相同),并为其分配了在最后一步中配置的jenkins-reader角色。
当我点击“应用并保存”时,我尝试再次登录并收到错误消息
Access Denied
P000002 is missing the Overall/Read permission
现在我不确定我是否在这里遗漏了某些东西,或者对此采取了错误的方法。我一直在关注this doc。