角色管理是一个平台或系统中重要的基础功能,其中角色是一组特定权限的集合,而管理员可通过给成员分配角色来赋予成员相应的权限。这是角色在各个平台中的基本用法。

考虑到平台的业务层级与结构,Choerodon 的角色管理功能在此基础上,将角色按照层级进行了划分。分为:平台层、组织层与项目层,且一个角色仅能对应为一个层级。

本文旨在介绍 Choerodon 猪齿鱼V0.22及之后版本中组织层的角色管理功能。

Choerodon的角色体系与结构

Choerodon RBAC结构

对于各个平台或系统来说,权限系统设计得越全面和精细,后期的系统扩展性就越高。所以Choerodon采用了RBAC(Role-Based Access Control)的权限模型,基于角色来进行权限控制。通过角色关联用户,角色关联权限的方式间接赋予用户权限。以下为Choerodon RBAC的架构图。

除了结构上的优点,RBAC还支持3个著名的安全原则:

  1. 最小权限原则:最小权限原则之所以被RBAC所支持,是因为RBAC可以将其角色配置成其完成任务所需要的最小的权限集。因此在Choerodon中创建自定义角色时,为其分配满足条件的最小权限集合即可。

  2. 责任分离原则:责任分离原则指的是,可以通过调用相互独立互斥的角色来共同完成敏感的任务而体现,比如要求一个计帐员和财务管理员共参与同一过帐。由于Choerodon应用场景偏向项目管理、团队协作以及敏捷开发,因此对于角色的责任分离暂无特别的应用场景。

  3. 数据抽象原则:可以通过权限的抽象来体现,如:项目开发管理者和项目开发人员两个角色,对于“开发-应用服务”界面中的查看与操作权限就存在差异,而我们只需为项目开发人员这个角色分配页面的可读权限即可。

Choerodon RBAC流程

在开头我们提到了,Choerodon 的角色管理体系中,将角色按照层级进行了划分。分为:平台层、组织层与项目层,且一个角色仅能对应为一个层级。以下为Choerodon中各层级角色的整体流程图。

预定义角色

Choerodon猪齿鱼在组织层与项目层均设有预置角色,用于满足一般的组织与项目结构;其中包括:组织管理员、组织成员、项目所有者与项目成员。

  • 组织层

组织管理员:是组织的管理者,用于管理组织的基础配置以及所有其中所有的项目。

组织成员:该角色用于衔接组织层与项目层,支持组织成员在所属组织下创建项目。

  • 项目层

项目所有者:项目的管理者与所有者,可直接管理项目下所有的团队成员及项目资源。

项目成员:项目团队成员,可在项目下管理自己的进度以及负责的模块。

自定义角色

在预定义角色的基础上,为了满足更多的应用场景,Choerodon支持组织管理员在“管理中心-角色管理”页面,创建组织层或项目层的自定义角色,并且为这些自定义角色分配各个菜单的查看或操作权限。

比如从普通研发团队的角度来看,便可在项目下为“产品经理”、“测试人员”等业务人员创建相关的自定义角色,并在项目下为其分配相关菜单及接口的权限,以此来避免预置的“项目成员”角色菜单权限过多的问题。

如何使用Choerodon进行角色管理

自0.22版本后,Choerodon支持平台内各组织根据实际使用场景维护各自的角色,并为其分配对应的权限。以下为 Choerodon 中管理角色的具体步骤(此处以创建组织层角色为例,若想创建项目层角色,步骤类似)。

创建角色

组织管理员可在”管理中心>角色管理“菜单中,点击操作栏的“创建组织角色”按钮,即可在此创建新角色,在创建过程中需手动维护:

  • 角色编码:角色编码具有唯一性,是角色的标识。

  • 角色名称:角色的名称可根据角色权限与功能来定义。

  • 角色权限:创建组织角色时,用户可以在此为角色分配组织层各菜单的访问权限;且支持为角色分配其中各个操作按钮或接口的权限,来实现更细颗粒的权限管理。

角色创建成功后,便能在主页管理界面中看到该角色相关的基础信息;而组织管理员也能在“用户管理”页面为组织下的用户分配创建成功的自定义角色。

Choerodon中支持为用户添加多个角色,而用户的权限为所分配角色的并集。

修改角色

对于创建成功的自定义角色,组织管理员可对其进行修改;在列表中点击目标角色的角色名称,进入修改角色页面。

其中,角色编码作为角色的唯一标识,不允许修改。组织管理员可在此对所选角色的名称或权限进行修改,以此来灵活地控制该角色对应的用户在平台中的菜单权限或操作权限。

Choerodon 预定义角色不支持修改。

启停用角色

  • 停用角色:当组织中不再需要某个角色,想将其回收,便直接在此将其停用即可。停用角色后,赋予该角色的权限将失效,且已被分配该角色的成员对应的权限也将失效;而后续对用户分配角色时,也将不再显示该角色。
  • 启用角色:自定义角色被停用后,可以再次启用。启用角色后,角色状态变为’启用’。而赋予该角色的权限也随之生效。

预定义角色不可停用,只能启/停用自定义角色。

总结

本文介绍了Choerodon中组织层的角色管理功能,至于平台层的角色管理功能,由于在0.22版本后,与Hzero进行了融合,因此支持了更多角色相关的功能(平台管理员可以在”平台层-用户管理“页面管理平台中所有的角色),从而能满足更多的场景;而我们将在后续的文章对其进行详细的介绍。

关于猪齿鱼

Choerodon 猪齿鱼作为开源多云应用敏捷全链路技术平台,是基于开源技术Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。

更加详细的内容,请参阅Release Notes和官网。

大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献:

  • 官网:http://choerodon.io
  • 论坛:http://forum.choerodon.io
  • Github:https://github.com/choerodon

Choerodon猪齿鱼官方社区用户交流群,此群可交流猪齿鱼使用心得、Docker、微服务、K8S、敏捷管理等相关理论实践心得,群同步更新版本更新等信息,大家可以加群讨论交流。

①-Choerodon猪齿鱼官方交流(已满);
②-Choerodon猪齿鱼官方交流(可加);【微信号发至客服邮箱choerodon@vip.hand-china.com,运营同事拉您入官方交流群】

欢迎加入Choerodon猪齿鱼社区,共同为企业数字化服务打造一个开放的生态平台。

本篇文章出自Choerodon猪齿鱼社区毛智伟。

Choerodon猪齿鱼实践之角色管理相关推荐

  1. 怎么实现角色权限的分配_Choerodon猪齿鱼实践之角色管理

    角色管理是一个平台或系统中重要的基础功能,其中角色是一组特定权限的集合,而管理员可通过给成员分配角色来赋予成员相应的权限.这是角色在各个平台中的基本用法. 考虑到平台的业务层级与结构,Choerodo ...

  2. Choerodon猪齿鱼敏捷管理实践(一)——需求管理

    2019独角兽企业重金招聘Python工程师标准>>> 本文是敏捷管理系列的第一篇,将介绍敏捷中重要的需求管理,涉及需求的获取和管理,以及后续规划问题. ▌主要内容: 瀑布流开发模式 ...

  3. 开源企业级数字化服务平台——Choerodon猪齿鱼发布0.8版本

    Choerodon猪齿鱼是一个开源企业服务平台,是基于Kubernetes的容器编排和管理能力,整合DevOps工具链.微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台 ...

  4. 免费且开源 ,还有抽奖活动,猪齿鱼数智化开发管理平台V1.1.0 开源版邀您体验

    猪齿鱼V1.1.0开源内容 猪齿鱼数智化开发管理平台开源V1.1.0,开源四大功能模块:协作.开发.部署.测试,全面满足研发管理需求,致力于解决产品生命周期中的协作.质量.安全.规范和速度,帮助企业拉 ...

  5. 开源多云技术平台——Choerodon猪齿鱼发布0.19版本

    Choerodon猪齿鱼开源多云技术平台,是基于开源技术Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境 ...

  6. 开源多云技术平台——Choerodon猪齿鱼发布0.16版本

    Choerodon猪齿鱼开源多云技术平台,是基于开源技术Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境 ...

  7. 开源企业级数字化服务平台——Choerodon猪齿鱼发布0.11版本

    Choerodon猪齿鱼是一个开源企业服务平台,基于Kubernetes的容器编排和管理能力,整合DevOps工具链.微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台, ...

  8. vos2009 校验版本超时_开源多云应用平台 Choerodon猪齿鱼发布0.14版本

    Choerodon猪齿鱼是一个开源多云应用平台,基于Kubernetes的容器编排和管理能力,整合DevOps工具链.微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台, ...

  9. 开源多云应用平台 Choerodon猪齿鱼发布0.14版本

    Choerodon猪齿鱼鱼是一个开源多云应用平台,基于Kubernetes的容器编排和管理能力,整合DevOps工具链.微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台 ...

  10. 【阅读笔记】精益开发实践用看板管理大型项目

    [阅读笔记]精益开发实践用看板管理大型项目 参考 精益开发实践用看板管理大型项目 文章目录 [阅读笔记]精益开发实践用看板管理大型项目 一.我们如何工作(案例研究) 1.项目背景 2.组织团队 3.每 ...

最新文章

  1. cvc-complex-type.3.2.2: 元素 'constructor-arg' 中不允许出现属性 'name'
  2. LLBLGen 关于类型转换
  3. 若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )
  4. java不输出数字_为什么我的代码不输出(仅)数字?
  5. 步步为营 .NET 设计模式学习笔记 十三、Bridge (桥接模式)
  6. [蛋蛋四格漫画]蛋蛋式按摩……(中日台词对照)
  7. 5G(2)---NR协议栈及功能1 - 总体架构与物理层
  8. android录音相关
  9. 洛谷 P1509 找啊找啊找GF(复习二维费用背包)
  10. 【火炉炼AI】深度学习006-移花接木-用Keras迁移学习提升性能
  11. android微信红包提醒,微信红包提醒怎么设置 微信红包提醒设置教程
  12. 【QGIS】shp文件下载
  13. 轻量型目标检测算法一次看个够
  14. Android原生音量控制
  15. FindBugs 汇总(持续修改)
  16. 第五代计算机语言--YiGo
  17. 2021年中国油菜籽发展现状及进出口状况分析:加拿大仍为我国进口油菜籽主要来源国 [图]
  18. 编写微信聊天机器人2《聊天精灵WeChatGenius》:引入Xposed库,使模块生效。
  19. TCP粘包|拆包和解决方案
  20. 解决sublime汉化后部分中文显示为繁体字

热门文章

  1. An工具介绍之形状工具及渐变变形工具
  2. python+OpenCV jpg图片的压缩
  3. 简述数字信号处理的内容和理论
  4. 计算机win10搜不到wifi,Win10电脑搜不到5G无线wifi信号怎么办?
  5. 第11章从 Web 抓取信息
  6. 计算机软件毕业论文周记,毕业论文写作周记范文共12周
  7. 修路【NOIP2016提高组模拟】
  8. Skywalking vs Pinpoint
  9. Unity中摄像机绕物体旋转和拉近拉远视角的操作
  10. 计算机网络:循环冗余码CRC