JumpServer 用户权限体系的使用实践

您所在的位置:网站首页 权限控制模型 JumpServer 用户权限体系的使用实践

JumpServer 用户权限体系的使用实践

#JumpServer 用户权限体系的使用实践| 来源: 网络整理| 查看: 265

概述

本文重点讲述 JumpServer 开源堡垒机的用户、角色、系统用户与资产之间的关系,分享如何快速健全 JumpServer 的用户体系,实现用户权限的划分,帮助企业快速实现从无到有的 JumpServer 用户及权限体系建设。

JumpServer 开源堡垒机采用 RBAC( Role-Based Access Control,基于角色的访问控制)权限管理模型。通过角色定义权限,并进一步关联用户的方式间接赋予用户权限。权限指代具体的操作,它与角色和用户之间犹如从点到线,再到面的关系。

概括地说,权限定义了软件中整个用户体系的操作行为,而角色是在现实世界中对权限的抽象,是一组特定操作行为的集合。软件又进一步通过角色与用户的绑定关系,约定了用户所具有的操作权限,并由此形成了灵活的映射机制。通过“权限-角色-用户”这样的 RBAC 模型,JumpServer 支持了用户权限体系建设中的“最小化原则”,实现了精细化权限控制与灵活赋权之间的管理平衡。

一、用户和角色的关系

在创建用户和划分角色时,一定要权衡用户和角色之间的关系,遵循权限最小化原则,这样才能防患于未然,规避生产环境中的运维风险。

JumpServer 支持 RBAC 用户管理模型,通过自定义角色权限,对用户授予某个角色,从而控制用户的权限,实现用户和权限的逻辑分离(区别于 ACL,即访问控制列表 Access Control Lists 模型),极大地方便了权限的管理。

二、创建用户及角色划分

对于一些初次使用 JumpServer 开源堡垒机的用户而言,用户的创建更多的是依赖手动创建的方式。这种方式效率比较低下,而且维护成本较高。因此,在这里推荐几种快速批量创建用户的方法,以提高运维工作的效率。

1、创建用户 模板创建用户 JumpServer 开源堡垒机支持批量创建用户,系统提供创建用户的模板,在下载的模板中填写用户的信息即可完成用户的批量创建。 在批量创建用户时,用户密码的设置有两种方法:方法一:如果在创建用户时需要自定义密码,在导出模板的“密码策略”字段下,填写“custom”,然后在密码字段下填写用户密码即可; 具体操作步骤如下: 第一步:选择“用户管理”→“用户列表”,点击“导入”按钮,下载创建模板( CSV或者XLSX格式 ); 第二步:在下载的模板中填写用户信息,然后点击“导入”按钮,选择创建好的模板即可完成用户创建。方法二:可以在导入用户模板前(用户信息必须填写真实的用户邮箱地址)配置好公司邮箱,在创建好用户后,用户自行点击“生成重置密码链接”,由用户自行设置密码。 具体操作步骤如下: 第一步:用户自定义密码时,选择“设置”→“邮箱设置”,配置好邮箱; 第二步:在创建好用户后,用户自行点击“点击这里设置密码”链接,由用户自行设置密码,然后在导出的模板中填写相应的信息完成导入即可。接口批量创建用户 JumpServer 本身提供标准的 API 接口,用户可以通过API接口批量创建用户,创建用户接口:​​http://堡垒机访问地址​​:端口/api/v1/users/users/。 注意:执行 POST 请求调用上述 API 接口,请求的 body 参数可以参考:​​http://堡垒机访问地址​​:端口/api/docs 进行查看。shell脚本批量创建用户 第一步:编辑创建用户信息,依次为用户名称、用户名、邮箱、密码; 第二步:编写创建用户脚本,修改脚本中 JumpServer 访问地址、JumpServer 登录用户、JumpServer 用户登录密码(以实际为准),编写完成执行脚本即可。 脚本如下:

#!/bin/bash #jumpserver访问地址 HTTP_URL="http://192.168.100.100" #jumpserver登录用户 USERNAME="admin" #jumpserver用户登录密码 PASSWORD="fit2cloud" TOKEN=`curl -s -X POST -H 'Content-Type: application/json' -d '{"username":"'"$USERNAME"'","password":"'"$PASSWORD"'"}' ${HTTP_URL}/api/v1/authentication/auth/ |awk -F ',' '{print $1"}"}'|awk -F '[{ " :]' '{print $6}'` while read name username email password do curl -X POST -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' -d '{"name":"'"$name"'","username":"'"$username"'","email":"'"$email"'","password":"'"$password"'","is_active":"true","password_strategy":"custom","system_roles":["00000000-0000-0000-0000-000000000003"],"org_roles":["00000000-0000-0000-0000-000000000007"]}' ${HTTP_URL}/api/v1/users/users/ done


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3