3分钟快速了解猪齿鱼权限

3分钟快速了解猪齿鱼权限

猪齿鱼 Choerodon 数智化开发管理平台 ,提供协作、测试、DevOps及容器等工具,帮助企业拉通软件开发和项目管理的需求、设计、开发、部署、测试和运营全流程,全面满足企业研发管理与工程效率需求,一站式提高管理效率和软件研发质量,助力团队效能更快更强更稳定,助推企业数智化转型升级。

本文将介绍猪齿鱼的权限体系,帮助猪齿鱼用户从自身需求出发,进行更细粒度的权限控制。本文也将对猪齿鱼中所应用的 RBAC 权限模型和 HZERO(汉得企业级 PaaS 平台)的角色权限体系进行简要介绍。

  • *RBAC权限模型

猪齿鱼 Choerodon 权限体系基于RBAC权限模型而建立。以下先简要介绍下RBAC模型。

RBAC是Role Based Access Control的英文缩写,意思是基于角色的访问控制。RBAC认为权限的过程可以抽象概括为:判断”Who是否可以对What进行How的访问操作”这个逻辑表达式的值是否为True的求解过程。即,将权限问题转换为Who、What、How的问题,Who、What、How构成了访问权限三元组。其中Who是权限的拥有者或主体(User、Role),What是资源或对象(Resource、Class),How指具体操作(View, Edit)。

RBAC权限模型如下:

3分钟快速了解猪齿鱼权限

相对于直接将权限授予用户个人来说,RBAC权限模型增加了角色,授权会更加的灵活方便。角色可以理解为一定数量的权限集合,权限的载体。

RBAC主要包含四个子模型:RBAC0、RBAC1、RBAC2和RBAC3,整体又叫做RBAC96模型族。

3分钟快速了解猪齿鱼权限

RBAC0:RBAC0是权限管理的核心部分,其他的版本都是建立在RBAC0的基础上。简单来说,RBAC0就是一个用户拥有若干角色,每一个角色拥有若干权限。这样就构造成”用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般都是多对多的关系。并且将关系作为一个单独的概念来使用,这样可以在关系概念中加入一些其他的属性。

RBAC1:RBAC1建立在RBAC0的基础上,引入了角色继承的概念。有了继承。角色就有了上下级或者等级关系,每个等级权限不同,从而实现更细颗粒度的权限管理,比如:一个部门有正副经理,副经理的权限只有正经理的部分权限,这时候就可以采用RBAC1权限模型。

RBAC2:RBAC2在RBAC0模型的基础之上,增加了角色约束,主要约束哪些操作是可进行的,哪些是不可进行。

RBAC3:RBAC3是RBAC1和RBAC2的合集,所以RBAC3既有角色分层,也包括可以增加各种限制。

  • *HZERO角色

猪齿鱼使用汉得企业级PaaS平台HZERO作为微服务开发框架,猪齿鱼的角色权限控制也使用了HZERO的角色权限体系。

HZERO是一个企业级 PaaS平台,结合汉得多年的项目实施经验,抽象、封装了大量的应用标准服务及功能,以帮助企业产品研发、项目实施更加高效便捷,避免大量产品和项目重复造轮子带来的成本浪费。

在HZERO角色体系中,所有角色都是属于平台(超级)管理员或租户(超级)管理员的子孙角色。平台管理员拥有所有平台级权限,创建平台级权限集时,所有平台级权限会被自动分配到平台管理员上;租户管理员拥有所有租户级权限,创建租户级权限集时,所有租户级权限会被自动分配到租户管理员上。所以,创建权限集后,只能由对应层级的超级管理员往下分配权限。

HZERO角色体系分创建体系和继承体系,创建体系表现在父、子角色关系上,继承体系表现在继承角色关系上。两种体系的区别是:在分配权限时,例如,在给租户模板角色分配权限后,所有继承自该租户模板角色的角色将自动拥有该租户模板角色被分配的权限,用户可以一键往下分配继承自该租户角色模板的角色权限;创建体系则不能一键往下分配子角色的权限。在回收权限时,会回收整个创建体系、继承体系的权限。

具体使用详情可参考HZERO角色管理文档。

  • *猪齿鱼预定义角色

猪齿鱼预定义角色是猪齿鱼权限的基础,由平台默认创建,包括以下四个角色:

  • 组织管理员角色模板:组织层所有权限
  • 组织成员角色模板:组织层部分操作权限
  • 项目所有者角色模板:项目层所有权限
  • 项目成员角色模板:项目层部分操作权限

创建组织时,会基于这四个模板创建对应组织的相关角色,即所有组织的四个预定义角色,都继承自这四个角色模板;通过HZERO的继承体系,可以一键往下分配权限或者回收权限。

3分钟快速了解猪齿鱼权限
  • *角色标签

猪齿鱼通过角色标签区分是组织层角色还是项目层角色、区分对应用服务的Gitlab权限,以此实现业务权限的灵活管理与有效隔离。

使用平台管理员角色,进入平台管理-》HZERO菜单-》角色管理菜单,进入HZERO标签管理界面。选择角色标签,可以查看猪齿鱼的所有角色标签及其含义。

3分钟快速了解猪齿鱼权限

该页面可编辑的只有TENANT_ROLE、PROJECT_ROLE、GITLAB_OWNER、等四个标签。

首先介绍进行层级区分的两个标签:

  • TENANT_ROLE:用于标识猪齿鱼租户层角色,该标签有两个含义,一是用于区分HZERO的角色与猪齿鱼的角色,二是用于区分猪齿鱼的组织层角色和项目层角色。
  • PROJECT_ROLE:用于标识猪齿鱼的项目层角色,含义同TENANT_ROLE。

值得注意的是,只有拥有以上两个中任意一个标签的角色,才能在管理中心-》角色管理进行查看和编辑。

另外,还有控制GitLab权限的两个标签:

  • GITLAB_OWNER:当为用户分配拥有该角色标签的角色时,会自动为该用户分配项目下所有应用服务在GitLab的Owner权限。
  • GITLAB_DEVELOPER:同GITLAB_OWNER,会自动为该用户分配项目下所有应用服务在GitLab的Developer权限。

以上两个标签的设置主要是为了解决用户拥有项目下的菜单权限,但是,在实际操作过程中,却没有GitLab权限而操作失败这一问题;但是因为这两个标签是给项目下所有应用服务分配权限,所以需谨慎使用,该标签需要配合PROJECT_ROLE标签使用。

附:猪齿鱼GitLab权限说明

  • 猪齿鱼的组织所有者、项目所有者角色,默认拥有gitlab_owner角色标签,拥有项目下所有应用服务在GitLab的Owner权限;
  • 对于项目成员默认没有Gitlab任何权限,可根据需要在代码管理界面,给用户分配具体的权限,包括Guest、Repoter等角色;
  • 对于自定义角色,可根据需求选择GITLAB_OWNER或者GITLAB_DEVELOPER角色标签。

  • *自定义角色

了解了角色标签的含义,我们可以开始创建自定义角色。您可以在组织层或平台层找到自定义角色的入口:组织层-》管理中心-》角色管理;平台层-》角色管理。

组织层角色管理

可以创建、编辑该组织下的所有自定义角色,创建项目层角色时,必须要选择GitLab角色标签,以避免拥有菜单权限,但是没有GitLab权限,从而导致操作失败的情况;在该界面创建的角色,会根据角色层级的不同,自动分配TENANT_ROLE或PROJECT_ROLE角色标签,且父级角色都是该组织的组织管理员。

具体使用详情可参考猪齿鱼角色管理帮助手册

平台层角色管理

除了创建和编辑角色外,还可以复制和继承角色,以快速创建自定义角色。比如:您想要创建某个组织层角色(该角色需要拥有组织管理员除了创建项目的操作外的所有权限)时,您可选择组织管理员角色,点击”复制”,角色标签选择TENANT_ROLE,然后再去掉创建项目权限集即可。

具体使用详情可参考HZERO角色管理文档

综上,猪齿鱼的权限体系相对完善,猪齿鱼用户不仅可以一键分配或回收角色权限,方便快捷地进行权限管理;也可创建自定义角色,进行更细粒度的权限控制,满足自身的定制化需求。

参考文档

3分钟快速了解猪齿鱼权限

3分钟快速了解猪齿鱼权限

上海甄知科技有限公司(简称甄知科技)是一家服务管理数字化领先企业,由业界知名的企业数字化综合服务商–上海汉得信息技术股份有限公司(股票代码:300170)孵化而成,承袭汉得信息20年的企业信息化服务经验和对企业数智化建设的深入理解,以产品燕千云、猪齿鱼,为用户提供智能化IT运维、人性化员工服务、全方位客户成功、可视化软件研发的SaaS管理平台+PaaS定制能力,强势助力各行业企业数智化转型升级。

甄知科技陪伴众多优秀企业共同成长

Original: https://www.cnblogs.com/choerodon/p/16145154.html
Author: 猪齿鱼开发管理平台
Title: 3分钟快速了解猪齿鱼权限

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/712805/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 9月份欧盟,美国等国家标准变更

    一.欧亚经济委员会确认EAEU EAC的Safety以及EMC证书的有效期 欧亚经济委员会(EEC)近期通过第 113 号、114号决议,确认在2022年12月11日之前,未按第9…

    技术杂谈 2023年6月21日
    089
  • Python 多重继承时metaclass conflict问题解决与原理探究

    最近有一个需求需要自定义一个多继承abc.ABC与django.contrib.admin.ModelAdmin两个父类的抽象子类,方便不同模块复用大部分代码,同时强制必须实现所有…

    技术杂谈 2023年6月21日
    094
  • 两点之间直线最短,你写的是代码,我写的是艺术

    随着需求迭代,团队代码量逐渐增多,熵增崭露头角。临近月底,我打开部分程序,再做一次代码走查。 ✅ 两点之间直线最短 我在做代码走查的时候,发现一个service方法里有这么一段代码…

    技术杂谈 2023年7月11日
    080
  • 剑指offer计划29(动态规划困难)—java

    1.1、题目1 剑指 Offer 19. 正则表达式匹配 1.2、解法 动态规划后面再研究 1.3、代码 class Solution { public boolean isMat…

    技术杂谈 2023年7月25日
    060
  • CVE-2020-3452漏洞复现

    一、前言 前端时间碰到了该漏洞,记录一下! 二、漏洞介绍 该漏洞为思科ASA设备和FTD设备的未授权任意文件读取漏洞,但仅能读取到 WEB 目录下的文件,影响版本如下: Cisco…

    技术杂谈 2023年7月10日
    082
  • 设置Tab键缩进2字符

    默认是1.74cm,是1.5字符。 论文是4个空格显示为4个点,或者全角下2个空格,显示为2个空格框。看上方的首航缩进标志是否在2. 看图 在段落 格式里面进行设置! 点上图的制表…

    技术杂谈 2023年5月31日
    0106
  • Game Engine Architecture 7

    【 Game Engine Architecture 7】 1、SRT Transformations When a quaternion is combined with a t…

    技术杂谈 2023年5月31日
    076
  • [转]到底什么是“信创”

    本文转自:https://m.thepaper.cn/baijiahao_13661473 以下文章来源于鲜枣课堂 ,作者小枣君 鲜枣课堂 学通信,学5G,就上鲜枣课堂! 我已加入…

    技术杂谈 2023年5月30日
    089
  • 设计模式 18 中介者模式

    中介者模式(Mediator Pattern)属于 行为型模式 一提到中介,大家都非常熟悉,生活中最常见的就是房屋中介。 虽然中介要收取一定费用,但却能给房东和租客都提供大量遍历,…

    技术杂谈 2023年7月25日
    084
  • MySQL建表语句生成Golang代码

    1. 背景 对于后台开发新的需求时,一般会先进行各种表的设计,写各个表的建表语句 然后根据建立的表,写对应的model代码、基础的增删改查代码(基础的增删改查服务可以划入DAO(D…

    技术杂谈 2023年6月21日
    0109
  • html大文件传输教程

    文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦、缺乏交互、用户体验差。 一、前端代码 * iframe上传    * ajax上传    * 进度条  …

    技术杂谈 2023年5月30日
    094
  • max30100心率血氧健康传感器调试总结备忘

    前记 在健康监测领域,心率血氧传感器是一个非常重要的前端采集设备。了解,研究并使用它,是一个方案商的基本素质。鉴于此,笔者花了一些时间在不同的硬件平台来使用它。中间遇到了一些问题值…

    技术杂谈 2023年5月31日
    083
  • 四元数Quaternion的基本运算

    在前面一篇文章中我们介绍了欧拉角死锁问题的一些产生背景,还有基于四元数的求解方案。四元数这个概念虽然重要,但是很少会在通识教育课程中涉及到,更多的是一些图形学或者是工程学当中才会进…

    技术杂谈 2023年7月25日
    0103
  • 巧用Prometheus来扩展kubernetes调度器

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月25日
    077
  • 优化笔记,简单而不简单

    Go中的一些优化笔记,简单而不简单 https://mp.weixin.qq.com/s/X8c6ZIJdBFptYA9CRj6wnA 搜索 复制 Original: https:…

    技术杂谈 2023年5月31日
    096
  • 集成电路设计流程

    1.功能设计阶段。SPEC 设计人员产品的应用场合,设定一些诸如功能、操作速度、接口规格、环境温度及消耗功率等规格,以做为将来电路设计时的依据。更可进一步规划软件模块及硬件模块该如…

    技术杂谈 2023年6月1日
    098
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球