文章目录
软件 | 版本 |
---|---|
rancher | 2.6.8-ent |
kubernetes | 1.24.2+rke2r1 |
keycloak | 10.0.2 |
1. docker安装keycloak
sudo docker run --restart=unless-stopped -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin \
-e PROXY_ADDRESS_FORWARDING=true -p 8443:8443 -d jboss/keycloak:10.0.2
2. 配置keyclaok
登录keycloak(realm默认是master,可自行添加新的realm)
添加客户端
Client ID:https://yourRancherHostURL/v1-saml/keycloak/saml/metadata
Client Protocol:saml
配置客户端
Client ID:https://yourRancherHostURL/v1-saml/keycloak/saml/metadata
Name:自定义(建议与realm一致)
Enabled:ON
Client Protocol:saml
Sign Documents:ON
Sign Assertions:ON
其余选项均为OFF
Name ID Format:username
Valid Redirect URIs:https://yourRancherHostURL/v1-saml/keycloak/saml/acs
配置客户端mappers
添加roles、name、username、uid四个mappers,具体配置参考以下
3. 配置Rancher
登录到rancher
全局中找到用户&认证,点击认证中的keycloak(SAML)
显示名称:name
用户名字段:username
UID字段:username
用户组字段:roles
Entity ID:https://192.168.10.88/v1-saml/keycloak/saml/metadata
Rancher API Host:https://192.168.10.88
证书和私钥可以通过以下命令获取
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myservice.key -out myservice.cert
元数据获取地址:https://192.168.10.113/auth/realms/master/protocol/saml/descriptor
注意这里使用的是master这个realm,若是使用其他的realm,master就得改为其他字段
然后根据以下方法修改元数据,把修改完的元数据添加到rancher页面中的元数据XML字段即可
启用登陆后即可对接完成
参考链接:
https://docs.ranchermanager.rancher.io/zh/v2.6/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-keycloak-saml