Jenkins 與 keycloak集成
搭建keycloak
運行keycloak服務
創建docker-compose.yaml檔案,運行docker-compose up -d 拉起服務
version: '3'
networks:
keynet:
driver: bridge
services:
postgresql:
image: 'bitnami/postgresql:latest'
environment:
- POSTGRESQL_DATABASE=bitnami_keycloak
- POSTGRESQL_USERNAME=bn_keycloak
- POSTGRESQL_PASSWORD=passw@rd
networks:
- keynet
keycloak:
image: 'bitnami/keycloak:latest'
environment:
- KEYCLOAK_CREATE_ADMIN_USER=true
- KEYCLOAK_ADMIN_USER=user
- KEYCLOAK_ADMIN_PASSWORD=bitnami
- KEYCLOAK_MANAGEMENT_USER=manager
- KEYCLOAK_MANAGEMENT_PASSWORD=bitnami1
- KEYCLOAK_DATABASE_HOST=postgresql
- KEYCLOAK_DATABASE_PORT=5432
- KEYCLOAK_DATABASE_NAME=bitnami_keycloak
- KEYCLOAK_DATABASE_USER=bn_keycloak
- KEYCLOAK_DATABASE_PASSWORD=passw@rd
- KEYCLOAK_DATABASE_SCHEMA=public
- KEYCLOAK_HTTP_PORT=8080
- KEYCLOAK_BIND_ADDRESS=0.0.0.0
depends_on:
- postgresql
ports:
- 8080:8080
networks:
- keynet
keycloak 與 OpenLDAP集成
創建新的realm, 名為SSO

選中新建的SSO Realm, 然后點擊User federation -> Add new provider -> LDAP


點擊保存, 然后進入剛配置的provider, 點擊右上角Action -> Sync all users同步所有用戶, 同步完成即可在User的頁簽下, 使用通配符*查詢到匯入的所有的用戶,
keycloak與jenkins集成
keycloak 配置
創建點擊Client -> Create client, clientid 填jenkins,按照下圖填寫client資訊,

點擊Client Scope -> Create Client Scope, Name填寫audience, 其他默認,

點擊新建的audience, 選擇Mapper -> Add Mapper -> By Configuration, 選擇audience, 根據圖片創建mapper,Included Client Audiencee 選擇上面建的jenkins

點擊Client -> jenkins -> Client Scopes -> Add Client Scope, 勾選上一步建的Client Scope, 點擊Add選擇Default.

jenkins client頁面選擇Action -> Download adapter config, 把json字串復制出來備用.
jenkins配置
建議先備份jenkins的組態檔, 以免keycloak配置錯誤導致的jenkins無法登陸,
jenkins 安裝 Keycloak Authentication Plugin 插件,
點擊Manage Jenkins -> Configure Global Security -> Security Realm, 選擇Keycloak Authentication Plugin, 保存,

點擊Manage Jenkins -> Configure System 找到KeyCloak Json, 把上面匯出的字串貼進去,保存
注意!!!需要把匯出json中的confidential-port和policy-enforcer 欄位刪掉, 否則jenkins會無法登陸

隨后在新視窗打開jenkins, 即可重定向到keycloak登陸頁面,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/542989.html
標籤:Linux
