Rancher2 keycloak 认证
本文永久链接: https://www.xtplayer.cn/rancher/authentication/rancher2-keycloak-authentication/
版本支持: Rancher v2.1.0+
注意 在开始之前,请熟悉 外部身份验证配置和主要用户 的概念。
Keycloak 配置
新建一个 Clients
参数配置:
- Client ID:https//
/v1-saml/keycloak/saml/metadata - Client Protocol:saml
- Client ID:https//
配置 clients 基本配置
参数配置:
- Client ID:
https//<rancher_server_url>/v1-saml/keycloak/saml/metadata
- Name:clientName
- Enabled:on
- Sign Documents:on
- Sign Assertions:on
- Valid Redirect URIs:
https://<rancher_server_url>/v1-saml/keycloak/saml/acs
- 除了三个开关为打开状态,其余全部关闭
- Client ID:
配置 client mappers
在 Mappers 菜单中点击创建,然后设置名称、选择类型、设置
SAML Attribute Name 和 Property
。注意 SAML Attribute Name 和 Property 很关键,建议与 mappers 名称保持相同,其他参数保持默认。分别创建
username uid name roles
,最终效果如下:获取 xml
访问 url 拿到 client xml 并进行改造,url 地址:
http://<keycloak_url>/auth/realms/master/protocol/saml/descriptor
改造 xml:
修改
EntitiesDescriptor
为EntityDescriptor
,删除EntityDescriptor
改造后的 xml:
Rancher UI 配置
Openssl 生成自签名证书命令:
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myservice.key -out myservice.cert
认证账号配置对应属性关系:
- Display Name Field ≫ name
说明:该参数传递领域名称
- User Name Field ≫ username
说明:该参数传递用户名
- UID Field ≫ username
说明:该参数传递 UID
- Groups Field ≫ roles
说明:改参数传递用户组
如果以上配置都正确,保存后跳转 keycloak 登陆界面,登陆即可保存配置
对接后使用说明
keycloak 中创建用户后并不会直接同步到 Rancher 中,需要登录一次 rancher 才会同步到 rancher 中的用户列表;
新用户第一次登陆赋予的 rancher 角色是 rancher 中定义的新用户默认角色;
登陆后同步到 rancher 用户列表中,可以使用管理账户在 rancher 中管理该用户的角色权限