上文(https://bbs.fit2cloud.com/t/topic/924)我们详细描述了 JumpServer 多种部署方案场景,企业可以结合自身的需求选择何种的部署方案。当JumpServer一旦部署完成后,作为管理员,我们第一步优先要考虑的就是用户规划。用户是JumpServer使用主体,用户规划的是否合理,直接影响到后续JumpServer的推广和使用。为了描述清楚JumpServer中用户规划最佳使用场景,我们将从以下四个维度进行JumpServer中的用户规划描述:
- 组织架构:用户在企业中所有在不同团队和组织;
- 登陆认证:用户登陆JumpServer的认证方式;
- 角色权限:用户在JumpServer中的功能权限;
- 资产权限:用户在JumpServer中的资产权限。
组织架构
在JumpServer企业版本中提供了多组织(租户)管理能力。每个租户可以认为是个独立的组织团队,每个组织团队具备独立的用户管理和资产管理能力。组织内可以设置组织管理员、组织用户、组织审计员等不同角色人员,可以创建组织自身的资产,配置不同资产权限。具体的逻辑如下图:
以一个大型集团性企业为例,这个大型企业在IT管理上分为总部和上海、深圳分支机构,每个分支机构有独立的资产、用户人员。从集团总部来说,可以通过JumpServer多组织(租户)的能力实现总部和分支机构统一管理。类比到JumpServer的管理逻辑图如下:
注意:JumpServer 多组织(租户)的本质是数据逻辑隔离,所以不能解决不同区域或者机房的网络连通性问题,需要结合JumpServer的分布式部署能力解决多组织(租户)下的区域网络问题。
登陆认证
登陆认证是指用户通过什么样的认证方式能够登陆系统。JumpServer在登陆认证方面支持了多种方式,具体分为了以下四大类:
- 本地认证:用户的账号密码存储在JumpServer 数据库中,身份认证由JumpServer本地进行认证;
- LDAP认证:用户来源于AD服务器,在用户登陆JumpServer之前,需要管理员将指定的用户的用户名同步到JumpServer中。同步后,用户登陆JumpServer时,JumpServer和AD服务器认证,检验用户的密码是否正确;
- 单点登陆:JumpServer和单点登陆系统进行对接,采用标准的单点登陆协议进行认证。目前支持的单点登陆协议有CAS、OIDC、SAML2、OAuth2等。单点登陆认证成功后,JumpServer会自动创建此用户,并标注此用户来源于哪一种单点登陆协议;
- 第三方应用:JumpServer支持和企业微信、飞书、钉钉、Radius(需要Radius服务器或者支持Radius协议的应用)对接,对接成功后,用户可以采用扫码方式进行登录JumpServer。
以上四种登陆认证方式可以在JumpServer中同时存在,用户可以选择采用哪一种登陆认证方式进行登录。比如企业有很多外部供应商,供应商登陆运维系统或者日常巡检时,管理员可以设置此部分用户采用本地认证的方式登陆JumpServer;针对企业内部员工,可以设置采用LDAP认证或者单点登陆的方式登陆JumpServer。
角色权限
JumpServer中的用户权限是基于 RBAC 模型的权限设计方式,采用用户关联角色,角色关联权限的方式来赋予用户权限,即「用户-角色-权限」。
具体的设计逻辑如下:
- 一个用户可以绑定多个角色;
- 一个角色可以和一组权限对应;
- 一个用户的不同角色权限可以叠加,比如一个用户既可以有组织管理员权限,也可以有组织审计员权限;
- 角色分两种等级,系统级别角色和组织级别角色。不同级别的角色数据范围不一样,系统级别角色的数据范围大于组织级别;
- 同一级别的角色主可以设置其页面菜单和操作功能,用户也可以自定义角色。
基于上诉的权限设计逻辑,我们可以画出JumpServer以下的逻辑设计图:
资产授权
JumpServer资产授权顾名思义是授权用户运维操作资产使用。主要用于设置什么用户,在什么时候,可以用什么账号访问什么资产,进行什么样的操作。具体分为以下五元组:
- 用户:JumpServer的用户或者用户组;
- 资产:JumpServer中管理的所有资产,包含服务器、防火墙、网络设备、WEB应用、C/S架构应用等等;
- 账号:资产上的登陆账号(最新V3版本中,录入资产时可以一起录入资产上的账号),比如Linux服务器root账号密码,Windows服务器administrator账号密码;
- 权限:登陆资产后能够进行的运维操作,比如上传下载文件,复制粘贴等;
- 时间:授权生效和失效的时间。
系统管理员或者组织管理员可以基于JumpServer授权五元组,对用户访问资产的权限进行细粒度的控制: