操作指南|JumpServer与Okta集成对接

2023-10-10 05:59

本文主要是介绍操作指南|JumpServer与Okta集成对接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文重点介绍两种常见的单点登录协议,即OIDC(OpenID Connect)协议和SAML 2.0(Security Assertion Markup Language)协议,以及如何在JumpServer开源堡垒机上完成与Okta的集成对接。

一、概要

■ 单点登录

单点登录(Single Sign On,简称为SSO)是一种身份验证方案,允许用户使用单一的认证凭证访问到多个独立的软件系统中的任意一个,减少了用户重复认证的步骤,并且统一了不同软件间的用户认证管理。

常见的单点登录认证协议包括: OIDC、OAuth 2.0、SAML 2.0、CAS等。

■ Okta

Okta是一家美国高新技术公司,其软件的主要功能是将一家公司及其员工使用的大量软件应用整合在一起,能够让员工很方便地使用单一、安全的账号登录他们工作所需要使用的各种自有及第三方的网络服务,并且通过细粒度的多租户身份验证确保最终用户的访问体验。

■ 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. 如果JumpServer需要与Okta平台对接,需要在官网进行注册,Okta平台的官网地址为:https://www.okta.com/;

  2. 注册成功后,Okta会发送一封电子邮件,邮件内容包含独立的平台域名、用户名和临时密码信息。

三、SAML 2.0协议对接

■ 对接步骤:Okta端

  1. 通过官网进入到Okta平台首页后,点击左边菜单栏中的“Applications”→“Applications”;
    在这里插入图片描述

  2. 点击“Create App Integration”按钮;
    在这里插入图片描述

  3. 选择“SAML 2.0”选项后,点击“Next”按钮;
    在这里插入图片描述

  4. 根据提示,创建应用名、登录Logo等配置信息;
    在这里插入图片描述

  5. 配置相应SAML信息;

Single sign on URL(即Okta认证成功的回调地址):http[s]😕/host:port/core/auth/saml2/callback/;

Audience URI(应用堡垒机的标识):http[s]😕/host:port/core/auth/saml2/login/;
在这里插入图片描述

  1. 如果需要配置JumpServer设置中的同步注销功能,还需要在这里单独进行配置,点击“Show Advanced Settings”按钮(无需此功能,可忽略此步骤,建议最后配置此项);
    在这里插入图片描述

需要配置证书,输入以下代码生成一个密钥证书,后续JumpServer堡垒机也会使用到这个密钥证书;

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

填写Single Logout URL(即Okta注销地址),一般为:http[s]😕/host:port/login/signout;
在这里插入图片描述

若上述URL配置有误,可通过以下图片所示方式获取正确地址,并填入“Single Logout URL”处;
在这里插入图片描述

  1. 设置“Attribute Statements(Optional)”选项卡,这里是用户属性映射,JumpServer默认会把SAML 2.0协议传输过来的uid字段和JumpServer中的username字段相关联;

如果想修改这里的信息,将JumpServer设置为同步修改即可,然后拉到页面底部,点击“Next”按钮;
在这里插入图片描述

  1. 按照下图设置完成后,点击“Finish”按钮;
    在这里插入图片描述

  2. 创建应用成功后,在应用界面找到“SAML Signing Certificates”选项卡,选择状态为“Active”的记录,在“Action”菜单中点击“View IdP metadata”选项;
    在这里插入图片描述

  3. 将弹出的浏览器框地址栏中的地址保存下来,以便后续配置JumpServer;
    在这里插入图片描述

  4. 点击应用名称,进入应用设置中找到“Assignments”选项后,点击“Assign”菜单邀请用户进入当前应用。
    在这里插入图片描述

■ 对接步骤:JumpServer端

  1. 登录JumpServer后,选择“设置”→“认证设置”→“SAML2”;
    在这里插入图片描述

  2. 将对接Okta端操作中的第6步(若上述第6步跳过,则返回第6步生成密钥证书部分,执行命令获取证书)生成的密钥证书上传到JumpServer堡垒机,并把第10步生成的URL地址,填写在“IDP metadata URL”中,即可完成JumpServer端的配置。
    在这里插入图片描述

四、OIDC-OpenID协议对接

■ 对接步骤:Okta端

  1. 通过官网进入到Okta平台首页后,点击左边菜单栏中的“Applications”→“Applications”;
    在这里插入图片描述

  2. 点击“Create App Integration”按钮;
    在这里插入图片描述

  3. 选择“OIDC-OpenID Connect”选项,然后选择“Web Application”选项,点击“Next”按钮;
    在这里插入图片描述

  4. 根据以下图示填写相应内容,其余部分保持默认设置;

App integration name(Okta端应用名称):不重复即可;

Sign-in redirect URIs(认证成功回调地址):域名更换成自己的即可;

Sign-out redirect URIs(注销用户会话后的重定向地址):选填;
在这里插入图片描述
在这里插入图片描述

  1. 跳转到应用信息详情页后,进入“Okta API Scopes”选项卡进行授权;
    在这里插入图片描述

  2. 在页面最底部找到okta.users.read,点击右侧“Grant”按钮完成授权动作,即可完成Okta端的对接设置。
    在这里插入图片描述

■ 对接步骤:JumpServer端

  1. 登录JumpServer后,选择“设置”→“认证设置”→“OIDC”,并根据下图填入相应参数,域名处更换为自己的Okta域名;
    在这里插入图片描述

  2. 在Okta端配置客户端ID(Client ID)及客户端密钥(Client Secret);
    在这里插入图片描述

  3. 按照下图设置相应信息,即可完成JumpServer端的对接设置。
    在这里插入图片描述
    在这里插入图片描述

这篇关于操作指南|JumpServer与Okta集成对接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178441

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

动手学深度学习【数据操作+数据预处理】

import osos.makedirs(os.path.join('.', 'data'), exist_ok=True)data_file = os.path.join('.', 'data', 'house_tiny.csv')with open(data_file, 'w') as f:f.write('NumRooms,Alley,Price\n') # 列名f.write('NA

如何更优雅地对接第三方API

如何更优雅地对接第三方API 本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程中,有不少场景会对接第三方的API,例如第三方账号登录,第三方服务等等。第三方服务会提供API或者SDK,我依稀记得早些年Maven还没那么广泛使用,通常要对接第三方

线程的四种操作

所属专栏:Java学习        1. 线程的开启 start和run的区别: run:描述了线程要执行的任务,也可以称为线程的入口 start:调用系统函数,真正的在系统内核中创建线程(创建PCB,加入到链表中),此处的start会根据不同的系统,分别调用不同的api,创建好之后的线程,再单独去执行run(所以说,start的本质是调用系统api,系统的api

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

系统架构师-ERP+集成

ERP   集成平台end:就懒得画新的页