操作指南|JumpServer与Keycloak集成对接
本文重点介绍两种常见的单点登录协议,即OIDC(OpenID Connect)协议和SAML 2.0(Security Assertion Markup Language)协议,以及若何在JumpServer开源碉堡机上完成与Keycloak的集成对接。
此前,我们专门介绍过JumpServer与Okta集成对接的办法,可拜见《操做指南丨JumpServer与Okta集成对接》一文。
一、概要
■ 单点登录
单点登录(Single Sign On,简称为SSO)是一种身份验证计划,允许用户利用单一的认证凭证拜候到多个独立的软件系统中的肆意一个,削减了用户反复认证的步调,而且同一了差别软件间的用户认证办理。
常见的单点登录认证协议包罗: OIDC、OAuth 2.0、SAML 2.0、CAS等。
■ Keycloak
Keycloak是一个针对现代应用法式和办事的开源身份和拜候办理处理计划。Keycloak供给用户结合、强身份认证、用户办理及细粒度权限办理等功用,旨在搀扶帮助用户可以在最小的成本下向应用法式和办事中添加身份验证等功用。别的,Keycloak撑持单点登录,因而办事能够通过OIDC、OAuth 2.0等协议对接Keycloak。
■ OIDC
OIDC(OpenID Connect)在OAuth 2.0上构建了一个身份层,是一个基于OAuth 2.0协议的身份认证原则协议。OIDC利用OAuth 2.0的受权办事器来为第三方客户端供给用户的身份认证,并把对应的身份认证信息传递给客户端,且能够适用于各类类型的客户端(例如办事端应用、挪动APP、JavaScript应用),且完全兼容OAuth 2.0协议。
■ SAML
SAML(Security Assertion Markup Language)是一种用于平安性断言的标识表记标帜语言,目前的最新版本是2.0,是Web阅读器用来通过平安令牌启用单点登录(SSO)的原则协议。
■ OIDC协议与SAML 2.0协议之间的不异点与差别点:
展开全文
二、对接前的筹办工做
1. Keycloak的官网地址为:/;
2. Keycloak的摆设可参照其官网的用户手册选择响应的体例停止摆设:
;
3. 本文档选用的是Docker摆设体例,Keycloak版本为19.0.2。
三、SAML 2.0协议对接
■ 对接步调:
1. 根据图示挨次翻开JumpServer中关于SAML 2.0认证的设置界面;
2. 根据下方号令,将生成的server.key及server.crt别离放入到JumpServer认证设置页面中的“SP密钥”及“SP证书”中,然后点击“查看”链接 ,将显示内容保留至当地文件中(我们那里保留并定名为jumpserver_metadata.xml),以便后续利用;
$ openssl genrsa -out server.key 2048 # 那个生成的是 私钥
$ openssl req -new -x509 -days 3650 -key server.key -out server.crt -subj "/C=CN/ST=mykey/L=mykey/O=mykey/OU=mykey/CN=domain1/CN=domain2/CN=domain3" # 那个是证书
3. 进入到摆设好的Keycloak办事掌握台,创建一个新的Realm,并自定义名称,那里我们定名为“JumpServer-SAML2”;
4. 根据图示,新建一个Client;
5. 根据页面提醒,将必需填写的信息填入到对应的选项即可。Client type选择“SAML”,Client ID填入:]
://host:ip/core/auth/saml2/login/,域名改换成本身JumpServer下的域名或者IP,点击下方“Save”按钮保留;
6. 创建完Client后,在Access settings栏修改设置装备摆设,域名改换为本身JumpServer下的域名或者IP,点击下方“Save”按钮保留;
7. 在“Keys”选项卡中,将Client signature required调整为“Off”形态;
8. 点击“Client scopes”选项卡中的第一行“Assigned client scope”链接;
9. 点击“Configure a new mapper”按钮,停止用户属性映射设置装备摆设,此设置装备摆设将决定Keycloak顶用户的哪些属性和JumpServer的属性相对应起来;
10. 选择“User Attribute”选项;
11. 创建用户映射,并根据下图所示填写相关信息;
12. 根据图示步调,创建用户;
13. 根据图示挨次,获取Keycloak端的Metadata设置装备摆设信息文件内容;
14. 切换至JumpServer页面,翻开SAML2认证,将新弹出的会话窗口页面的阅读器地址栏中的地址复造到JumpServer的IDP metadata URL中,点击“提交”按钮,即可完成设置装备摆设。
四、OIDC-OpenID协议对接
■ 对接步调:
1. 进入到摆设好的Keycloak办事掌握台,创建一个新的Realm,并自定义名称,那里我们定名为“JumpServer-OIDC”;
2. 根据图示,新建一个Client;
3. 根据页面提醒,将必需填写的信息填入到对应的选项即可,Client type选择 “OpenID Connect”,Client ID自定义即可,那里选择将JumpServer的域名填入,点击下方“Next”按钮;
4. 根据图示停止设置装备摆设,点击“Save”按钮即可;
5. 创建完Client后,在此Access settings栏修改设置装备摆设,域名改换为本身JumpServer下的域名或者IP,点击下方“Save”按钮保留;
6. 根据图示,将所选信息保留,并设置填写到JumpServer中,点击提交;
7. 根据图示步调,创建新用户,即可完成设置装备摆设;