我是键盘斗篷的初学者。我需要一些帮助。
我有SSO解决方案,我想将它与jenkins集成。在这一点上,我想允许一些基于角色的用户。
OpenID -- keycloak -- jenkins :所有在openid中的用户都可以登录jenkins (我不想要)
OpenID -- keycloak (检查角色) -- jenkins :所有在openid中并且在keycloak中具有特定角色的用户都可以登录jenkins (我想)
我认为这是一个非常简单和常见的使用keycloak的例子,但是我找不到解决方案。
我所做的步骤在这里。
在jenkins中安装keycloak插件。
安装keycloak (使用helm的5.0.0版)
创建领域
创建身份提供者(OpenID)
创建客户端(名为jenkins)
安装选项卡>将Keycloak OIDC JSON复制到Jenkins
(请参阅。
https://wiki.jenkins.io/display/JENKINS/keycloak-plugin
)
现在,我可以成功地登录jenkins了。
在领域中的角色中创建角色
在(jenkins)客户端中,启用授权
授权选项卡>策略选项卡>创建策略>角色
选择realm role并选中required
在Jenkins配置中更新JSON。
它已经完成了,但它不起作用。
发布于 2021-03-01 17:28:08
除此之外
Christop的回答
:
您需要在keycloak客户端下为Group Membership配置一个Mapper。
通过确保"groups“出现在access token的作用域中来验证这一点。
另外一点,你可以使用两个插件中的一个:
任一keycloak插件
或者
oic-auth插件(open id connect)
实际上,keycloak最终实现了openid连接协议。
最后一点:
让configuration-as-code成为jenkins堆栈中必不可少的插件。
在configuration-as-code插件中始终检查示例,它可能会有很大帮助。对于这种情况,这些链接可以提供很多帮助:
- [https://github.com/jenkinsci/oic-auth-plugin/pull/78/files](https://github.com/jenkinsci/oic-auth-plugin/pull/78/files)
- [https://github.com/jenkinsci/configuration-as-code-plugin/issues/994#issuecomment-523643362](https://github.com/jenkinsci/configuration-as-code-plugin/issues/994#issuecomment-523643362)https://stackoverflow.com/questions/56042425
复制相似问题