首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在keycloak中为jenkins设置基于角色的登录

如何在keycloak中为jenkins设置基于角色的登录
EN

Stack Overflow用户
提问于 2019-05-08 21:53:42
回答 2查看 4.2K关注 0票数 4

我是键盘斗篷的初学者。我需要一些帮助。

我有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。

它已经完成了,但它不起作用。

EN

回答 2

Stack Overflow用户

发布于 2019-12-12 21:43:30

我通过以下方式管理它(使用Keycloak 8.0.1,Jenkins 2.208):

密钥罩

创建领域

创建客户端"jenkins“-将根url设置为Jenkins-url (例如

http://127.0.0.1:8080

)

在客户端" Jenkins“中,选择选项卡"installation”-格式"keycloak OIDC JSON“-复制到下面Jenkins设置的剪贴板

创建角色"jenkins

_

管理员“

创建角色"jenkins

_

只读“

创建用户"admin“并分配角色"jenkins”

_

管理员“

创建命名用户并分配角色"jenkins

_

只读“

詹金斯

安装插件“

Keycloak身份验证插件

安装插件“

矩阵授权策略插件

管理Jenkins -“配置系统”-“全局密钥罩设置”-输入之前复制的JSon (密钥罩步骤3)到“密钥罩JSON”区域

管理Jenkins -管理和分配角色-管理角色-全局角色-(如果不存在)添加角色"admin“并选中所有复选框-保存

管理Jenkins -管理和分配角色-管理角色-全局角色-添加角色“阅读

_

仅“与”整体读取“选中-保存

管理Jenkins -管理和分配角色-分配角色-添加组"jenkins

_

admin“添加到全局角色,然后选择"admin”-保存

管理Jenkins -管理和分配角色-分配角色-添加组"jenkins

_

readonly“到全局角色并选择"read

_

仅“-保存

“配置全局安全”-选择“安全领域”:"Keycloak身份验证插件“

“配置全局安全”-选择“授权”:“基于角色的策略”-保存

您现在应该被重定向到Keycloak登录。尝试以具有admin权限的admin和具有只读权限的指定用户身份登录。

票数 7
EN

Stack Overflow用户

发布于 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插件中始终检查示例,它可能会有很大帮助。对于这种情况,这些链接可以提供很多帮助:

代码语言:javascript
运行
复制
- [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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56042425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档