JumpServer V3堡垒机实现SAML2认证

一 、概要

Keycloak 是适用于现在应用程序和服务的开源身份和访问管理的解决方案。Keycloak 提供用户联合、强身份认证、用户管理及细粒度权限管理等功能,以求客户在最小的成本下向应用程序和服务添加身份验证等功能。

(1) OIDC

    OIDC(OpenID Connect)在OAuth 2.0上构建了一个身份层,是一个基于OAuth 2.0协议的身份认证标准协议。OIDC使用OAuth 2.0的授权服务器来为第三方客户端提供用户的身份认证,并把对应的身份认证信息传递给客户端,且可以适用于各种类型的客户端(例如服务端应用、移动APP、JavaScript 应用),且完全兼容OAuth 2.0协议。

(2)SAML

SAML(Security Assertion Markup Language)是一种用于安全性断言的标记语言,目前的最新版本是2.0,是Web浏览器用来通过安全令牌启用单点登录(SSO)的标准协议。

(3)OIDC协议与SAML 2.0协议之间的相同点与不同点:

协议 相同点 不同点

OIDC

都是实现单点登录的认证协议;

都是目前安全且成熟的技术标准;

都依赖具有标准重定向功能的软件实现跳转(浏览器)。

以JSON格式传输用户数据;

2007年最终确定并发布(来自维基百科);

相对轻量级;

通过断言验证用户。

SAML2.0

2005年被批准为OASIS标准协议(来自维基百科);

以XML格式传输用户数据;

相对重量级;

通过JWT令牌进行验证,支持去中心化身份验证。

概要引用出处: 操作指南|JumpServer与Keycloak集成对接 - 技术博客 – FIT2CLOUD 飞致云

二 、准备部署好KeyCloak.

(1)keycloak的官网地址:KeycloakKeycloak is an open source identity and access management solutionhttps://www.keycloak.org/

(2)部署有几种方式,我是用的是docker部署,官方也是推荐docker部署,我的版本为21.0.2

执行这条命令

docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:21.0.2 start-dev

执行完之后,登录IP地址访问 https://ip:8080

默认管理员账号密码是 admin  admin

JumpServer V3堡垒机实现SAML2认证_第1张图片

三、在机器中执行以下命令

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" # 这个是证书

把生成的私钥和证书,保存下来。

四、登录JumpServer ,在认证设置中,选择SAML2。

JumpServer V3堡垒机实现SAML2认证_第2张图片

将刚刚保存的私钥以及证书,分别上传到SP秘钥和SP证书中。点击下方提交后查看。

JumpServer V3堡垒机实现SAML2认证_第3张图片

 右击另存为,命名随便,我命名为1.xml,文件等会会用到。

五、配置keycloak

(1)点击左侧创建Create Realm,命名为JumpServer-SAML2

 JumpServer V3堡垒机实现SAML2认证_第4张图片

(2)按照图示,新建一个 client,在这边选择导入,把刚刚保存的1.xml文件导入进来。

JumpServer V3堡垒机实现SAML2认证_第5张图片

JumpServer V3堡垒机实现SAML2认证_第6张图片

 (3)导入完成之后点击我们刚开始创建的realm。

JumpServer V3堡垒机实现SAML2认证_第7张图片

在Settings中设置Client ID,点击save。JumpServer V3堡垒机实现SAML2认证_第8张图片 JumpServer V3堡垒机实现SAML2认证_第9张图片

 (4)根据图示,以此设置 

 

 (5) 根据图示,创建一个新的Mappers。

 JumpServer V3堡垒机实现SAML2认证_第10张图片

注意这两个的映射关系。

JumpServer V3堡垒机实现SAML2认证_第11张图片

JumpServer V3堡垒机实现SAML2认证_第12张图片

(6)根据图示创建用户

 此时创建的用户名(Username)以及密码,是登录jumpserver所用到的账号及密码。 我设置的账号jms  密码123456

JumpServer V3堡垒机实现SAML2认证_第13张图片

 

 (7)点击左侧的Realm settings,点击红色框查看。

 

(8)将上述地址栏信息填入到 JumpServer SAML认证中。

JumpServer V3堡垒机实现SAML2认证_第14张图片

 六、点击登录JumpServer,选择登录方式为SAML

JumpServer V3堡垒机实现SAML2认证_第15张图片

 显示登录成功。

JumpServer V3堡垒机实现SAML2认证_第16张图片

你可能感兴趣的:(运维)