Apikit 自学日记:关于角色权限

角色权限

一、工作空间、项目、应用、角色的权限区分

1.1 权限类型定义

Eolink中成员权限分两种类型:组织权限功能权限

  • 组织权限

  • 该类型权限和实际企业部门组织一样,用于区分可访问的业务管辖范围。

  • 如Eolink中的工作空间和项目,即为组织类型权限概念。

  • 功能权限

  • 该类型权限和实际企业职位一样,和工作职责相关,用于区分可访问的功能。

该类型权限和实际企业职位一样,和工作职责相关,用于区分可访问的功能。

如Eolink中的空间角色和项目角色,即为功能类型权限概念。

1.2 各权限关系

一般功能权限是跟随对应的组织权限赋予的,就如不同的职位是跟随组织的层级不同赋予的。

如某公司研发部下有CRM项目组和ERP项目组,其中研发部这一个组织层级会包含部门经理、部门副经理、项目总监等管理角色;在CRM项目组和ERP项目组内会包含项目经理、前端工程师、后端工程师、测试工程师等角色。

在Eolink中,成员加入了空间后可选择该空间下各空间角色(管理授权和应用授权),加入了某个项目后可选择该项目下各项目角色(管理授权和功能授权)。

故各权限间的关系如下图:

1.3 权限概念定义

了解了各权限概念间的关系,我们再具体介绍各权限概念的定义。

1.3.1 工作空间

工作空间是Eolink中的最高组织权限概念,每个工作空间都可以自定义唯一的域名前缀。空间与空间之间的数据是完全隔离并不会有任何交集的。我们一般会按一个公司或组织来分配一个工作空间,对于大型的企业,也有可能一个部门分配一个工作空间。

用户刚注册成功后,系统会默认分配一个新的工作空间并让用户默认为空间拥有者。您可以创建一个新的空间,并把新空间的名字和域名改成与您公司相符的名称和英文名域名。如果您管理的是大型企业,您也可以根据部门来创建多个工作空间。

1.3.2 应用

应用是Eolink的产品功能模块分类,每个应用可提供解决API全生命周期管理中某一个业务场景的功能。Eolink中一个空间下的应用一般是固定的,仅有API管理、自动化测试、API监控。其中API管理和自动化测试应用提供免费版、专业版和企业版,不同版本提供的功能范围会有差异。而API监控仅提供付费服务,按月订阅或按资源付费。

空间拥有者和空间管理者默认拥有所有应用权限,其他用户必须被授权某个应用,成为该应用成员方可使用对应应用的能力。

1.3.3 项目

项目是Eolink中最小一级组织权限概念,每个工作空间下一般有三个应用,每个应用下可创建多个不同的项目。这些项目可以复用工作空间或应用的公共资源和环境数据。

在空间下,您可以按照您公司的产品组或虚拟项目组来创建多个项目,即一个项目内的API应该是一个完整的独立系统的所有API。需要特别注意的是,为了能更好的管控权限,API管理应用和自动化测试应用的项目数据是独立的,您需要分别创建。

在某个应用下创建项目时,会自动获得该项目的项目管理者权限。项目管理者可以添加项目成员并给成员赋予各种项目级角色权限。

  • 项目组

  • 我们抛开功能类权限的应用层不谈,可发现系统当前仅提供了代表公司级的工作空间,和代表最小组织级别的项目。但是实际情况是公司内部的组织层级比较复杂,会有更多的组织层级概念,故Eolink在项目列表中,提供了项目组的权限概念。

  • 可以把项目组理解为项目的文件夹,一个项目组可以包含多个项目,然后成员的项目权限可以按项目组来进行批量授权,授权后该成员拥有项目组内所有项目的某个角色权限。

1.3.4 角色

角色承载着各种层级的功能操作权限,Eolink中空间层和项目层均拥有角色,空间层分别是空间拥有者、空间管理者、各应用成员。项目才能分别是项目管理者、项目成员(可编辑)、项目成员(只读)和各种自定义的项目级角色。

二、系统默认角色

Eolink提供了多个系统默认角色,并且用户可在项目层创建自定义角色。

2.1 系统默认角色介绍

系统默认角色共有6种:空间拥有者、空间管理员、应用成员、项目管理者、项目成员(可编辑)、项目成员(只读)。各角色的定义如下:

角色 定义 授权方法
空间级角色 空间拥有者 空间拥有者是工作空间的最高权限角色,拥有该空间下所有权限。
空间管理员 空间管理员是协助空间拥有者管理空间的协助者,其拥有除了删除空间和转让空间等角色外的空间下所有权限。 空间拥有者可以配置多个空间管理员,空间管理员可以邀请外部人员进入当前工作空间并授予某个应用成员的权限。
应用成员 应用成员代表该用户拥有对应应用功能使用的权限。 空间管理员邀请外部人员进入空间并赋予应用权限后,该外部人员可获得的应用成员角色。系统默认外部人员加入空间后是所有应用的成员。
项目级角色 项目管理者 项目管理者是项目内的管理角色,拥有某个项目内的所有权限。
项目成员(可编辑) 项目成员(可编辑)是项目内最常见的角色权限,拥有该项目内除项目基础信息编辑,删除项目外的所有编辑权限。 一般由项目管理员添加应用成员进入项目时选择授予该角色权限。
项目成员(只读) 项目成员(只读)是项目内的只读角色权限,拥有该项目内所有菜单内容的只读权限,不可对任意内容进行编辑。 一般由项目管理员添加应用成员进入项目时选择授予该角色权限。

2.2 系统默认角色权限范围

权限 空间拥有者 空间管理员 应用成员 项目管理员 项目成员(可编辑) 项目成员(只读)
空间层 设置空间管理员 ✔️
删除/转让空间 ✔️
空间日常管理 ✔️ ✔️
添加空间成员 ✔️ ✔️
查看所有应用和项目 ✔️ ✔️
应用层 添加应用成员(授权) ✔️ ✔️
创建对应应用的项目 ✔️ ✔️ ✔️
查看对应应用的公开项目 ✔️ ✔️ ✔️
项目层 添加项目成员 ✔️ ✔️ ✔️
配置项目成员角色 ✔️ ✔️ ✔️
编辑项目基础信息 ✔️ ✔️ ✔️
编辑项目内容 ✔️ ✔️ ✔️ ✔️
查看项目内容 ✔️ ✔️ ✔️ ✔️ ✔️

三、角色权限配置

3.1空间层

3.1.1 空间拥有者

空间拥有者是一个工作空间中唯一的最高级管理权限角色。其获取方式只有两种:创建空间或转让空间。

  • 创建空间

  • 用户点击界面的左上角,根据指引创建新的空间后,用户自动获取该空间的空间拥有者身份。

  • 转让空间

  • 若某工作空间的最高级管理者身份需要从一个账号转移到另一个账号上,例如公司内部的最高级研发管理员变更。则需要该工作空间的原空间拥有者,在空间设置中,把空间转让给新的用户。(该用户必须已添加进空间)

若某工作空间的最高级管理者身份需要从一个账号转移到另一个账号上,例如公司内部的最高级研发管理员变更。则需要该工作空间的原空间拥有者,在空间设置中,把空间转让给新的用户。(该用户必须已添加进空间)

3.1.2 加入空间并应用授权

  • 加入空间

  • 空间拥有者或空间管理员可在任何应用层页面的顶部,点击“添加空间成员”按钮,复制邀请加入空间的链接发送给对应的用户。该用户点击链接后,系统会指引加入空间(若用户无账号,会指引注册账号并自动加入到空间内)。

  • 一般系统默认加入空间时给予所有应用授权,若需要调整空间拥有者或空间管理者可以在空间成员管理中配置。

  • 调整应用授权

  • 在工作空间设置下的成员管理中,可针对该空间下的所有成员配置不同的应用授权。

在工作空间设置下的成员管理中,可针对该空间下的所有成员配置不同的应用授权。

3.1.3 空间管理者

空间拥有者可在空间设置下的成员管理中,设置某个空间成员为空间管理员。

3.2 项目层

3.2.1 项目管理员

  • 创建项目

  • 空间下某应用成员均可在该应用内创建项目,创建项目后,该用户自动成为该项目的项目管理员。但项目管理员并不唯一,可配置其他项目成员为项目管理员。

3.2.2 加入项目并分配角色

项目内无论是项目管理员,还是其他项目成员角色,均可在添加用户至项目时设置。

注意,仅有该项目所在应用的应用成员方可加入到项目中。若该用户未加入空间或未获应用授权,需要先加入并授权方可加入项目。

  • 加入项目

  • 项目管理员可以在项目内左侧菜单中,点击“协作成员”菜单,选择添加协作成员完成操作。

  • 分配角色

  • 在添加协作成员时,可在底部“设置为”后的选项中,选择需要分配的角色,那么该用户加入项目后即拥有该角色身份。

在添加协作成员时,可在底部“设置为”后的选项中,选择需要分配的角色,那么该用户加入项目后即拥有该角色身份。

当然,也可以在已有的项目成员列表中,选择修改对应的用户角色身份列进行编辑,调整该项目成员的角色。

3.2.3 自定义项目角色

Eolink中仅有项目级可自定义角色。自定义就是可按需要配置不同的功能模块权限。

在项目内进入“协作成员”菜单,在左侧角色分组栏底部,选择“添加自定义角色”。在右侧抽屉弹窗中,可按需求填写角色名称,选择该角色的可操作的功能权限。

3.3 项目组层

在空间和项目间存在一个项目组层,我们可在项目列表中,配置该项目组层的权限。

在项目列表中,有各种项目组文件夹,点击进入某个项目组文件夹下,然后再点击项目列表顶部的项目组权限管理按钮,则可以管理该项目组文件夹的权限。该权限配置规则和项目权限配置一致。配置权限后,该用户在当前项目组文件夹下所有项目均拥有了同等的权限角色。

猜你喜欢

转载自blog.csdn.net/qq_42107247/article/details/131529148