如何在密钥斗篷中为詹金斯设置基于角色的登录名

问题描述 投票:0回答:1

我是keycloak的初学者。我需要帮助。

我有SSO解决方案,我想将其与jenkins集成。在这一点上,我想允许一些基于用户的角色。

OpenID-keycloak-jenkins:所有在openid中的用户都可以登录jenkins(我不想要)

[OpenID-keycloak(检查角色)-jenkins:所有在openid中并且在keycloak中也具有特定角色的用户都可以登录jenkins(我想要)

我认为这是使用密钥斗篷的非常简单且常见的示例,但是我找不到解决方案。

我所做的步骤在这里。

  1. 在jenkins中安装keycloak插件。
  2. 安装密钥斗篷(使用头盔的版本5.0.0)
  3. 创建领域
  4. 创建身份提供者(OpenID)
  5. 创建客户端(名为jenkins)
  6. [安装选项卡>将Keycloak OIDC JSON复制到Jenkins

(参考https://wiki.jenkins.io/display/JENKINS/keycloak-plugin

现在,我可以成功登录詹金斯了。

  1. 在领域中的角色中创建角色
  2. 在(詹金斯)客户端中,启用授权启用
  3. 授权选项卡>策略选项卡>创建策略>角色

选择领域角色并进行必填

  1. 更新Jenkins配置中的JSON。

已完成,但是不起作用。

jenkins openid keycloak
1个回答
0
投票

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

[Keycloak

  1. 创建领域enter image description here
  2. 创建客户端“ jenkins”-将根网址设置为Jenkins-url(例如http://127.0.0.1:8080enter image description here
  3. 在客户端“ jenkins”中选择“安装”选项卡-格式化“ keycloak OIDC JSON”-复制到下面的Jenkins安装程序的剪贴板enter image description here
  4. 创建角色“ jenkins_admin”
  5. 创建角色“ jenkins_readonly”enter image description here
  6. 创建用户“ admin”并分配角色“ jenkins_admin”
  7. 创建命名用户并分配角色“ jenkins_readonly”enter image description here

Jenkins

  1. 安装插件“ Keycloak Authentication Plugin
  2. 安装插件“ Matrix Authorization Strategy Plugin
  3. 管理Jenkins-“配置系统”-“全局Keycloak设置”-将先前复制的JSon(Keycloak步骤3)输入“ Keycloak JSON”区域enter image description here
  4. [管理Jenkins-管理和分配角色-管理角色-全局角色-(如果不存在)添加具有所有选中复选框的角色“ admin”-保存
  5. [管理詹金斯-管理和分配角色-管理角色-全局角色-添加角色“ read_only”,并且选择了“总体读取”-保存enter image description here
  6. [管理Jenkins-管理和分配角色-分配角色-将组“ jenkins_admin”添加到全局角色,然后选择“ admin”-SAVE
  7. [管理Jenkins-管理和分配角色-分配角色-将组“ jenkins_readonly”添加到全局角色,然后选择“ read_only”-保存enter image description here
  8. “”配置全局安全性-选择“安全领域”:“ Keycloak身份验证插件”
  9. “配置全局安全性”-选择“授权”:“基于角色的策略”-保存enter image description here

您现在应该重定向到Keycloak登录名。尝试以具有管理员权限的管理员身份和具有只读权限的命名用户身份登录。

© www.soinside.com 2019 - 2024. All rights reserved.