角色管理

1. 概述

角色是一组特定权限的集合。因此,通过给成员分配角色来赋予成员权限。角色只有属于一个层级,给角色分配权限时只能分配相同层级的权限。在一个层级中给成员分配角色时,只能分配相同层级的角色。您在此能看到角色名称、编码、来源和状态。您可以在此页面了解到创建、修改和启停角色。

角色权限关系

2. 角色列表

列表字段:

  • 角色名称:角色名称是根据角色权限的集合定义的。在角色分配中的角色列表里面显示的为角色名称。
  • 角色编码:角色编码具有唯一性,是角色的标识。
  • 角色来源:角色分为用户自定义角色和预置角色,所以角色来源有自定义和预定义两种。用户自定义角色是用户在角色管理界面所创建的角色。预置角色是系统内置的角色,只能查看预置角色,基于预置角色创建新的角色,不能修改和停用预置角色。
  • 状态:是否启用字段有启用停用两种值。角色的是否启用字段的值为启用时,在角色分配中可以看到该角色,因而可以选择该角色;否则,为停用时,在角色分配中不可看到该角色,因而无法选择该角色。

3. 创建角色

  • 进入平台管理,点击菜单“ 管理>角色管理 ”,进入角色管理。
  • 点击操作栏的创建角色按钮,打开创建角色页面。
  • 您可以在此创建新角色:

    • 必填字段:
    • 角色编码:角色编码具有唯一性,是角色的标识。用户可自定义。角色创建成功后生成的角色编码为role/层级/custom/用户自定义角色编码,其中role和custom为常量,role表示角色这个大类,custom表示角色来源为用户自定义,即用户在界面创建的角色;层级和用户自定义编码为变量,层级为当前所在层级,用户自定义角色编码为用户在角色编码输入框中所填写的值。
    • 角色名称:角色的名称应该根据角色权限集合特征定义。
    • 角色权限:创建角色时,至少要选择一个角色权限。用户可以在此勾选路由权限来控制菜单是否显示。点击菜单上的权限配置,可以在这里勾选API权限来控制页面上的操作权限。

    • 选填字段:

    • 角色标签:用于定义角色的特定逻辑的功能,需与代码开发结合。点击了解角色标签列表

  • 点击创建,完成角色的创建。

4. 根据所选角色创建角色

  • 您可以在此勾选角色基于所选角色创建新角色,点击工具栏的基于所选创建角色,会跳转出创建页面,创建一个新角色。

必填字段:

  • 角色编码:角色编码具有唯一性,是角色的标识。
  • 角色名称:角色的名称应该根据角色权限集合特征定义。
  • 角色权限:新角色的角色权限为所选角色权限的并集。可以后继删除或添加权限,至少要有一个角色权限。选填字段:
  • 角色标签:用于定义角色的特定逻辑的功能,需与代码开发结合。
    • 点击创建,完成角色的创建。
可以选择多个角色,基于这些选择的角色创建一个新的角色。

5. 修改角色

  • 点击要修改的角色的角色名称,进入修改角色页面。
  • 您可在此可对所选角色进行修改:

不可修改字段:

  • 角色编码:因为角色编码具有唯一性,是角色的标识,所以角色一旦创建成功,角色编码不可更改。可修改字段:
  • 角色名称:应该根据角色的权限特性进行命名,这样分配角色的时候可以直观的选择角色。
  • 角色标签:用于定义角色的特定逻辑的功能,需与代码开发结合。
  • 角色权限:可以增加或删除角色的权限。
    • 点击确定按钮,保存对角色的修改。
预定义角色只能修改角色标签。

6. 启停用角色

点击要停用角色所在列的三点按钮,点击停用即可停用该角色,再次点击则可启用。

  • 停用角色:只能停用用户自定义角色。停用角色后,角色状态变为’未启用’。赋予给该角色的权限将失效,即使这个角色已经被分配给了用户。并在角色分配中,不再显示该角色。

  • 启用角色:用户自定义角色被停用后,可以再次启用。启用角色后,角色状态变为’启用’。赋予该角色的权限生效。并在角色分配中,显示该角色。

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

7. 角色标签

角色标签用于定义角色的特定逻辑的功能,需与代码开发结合。

  • project.owner:项目所有者。用户创建项目时会自动为其分配拥有该角色标签的角色。
  • organization.owner:组织所有者。用户创建组织时会自动为其分配拥有该角色标签的角色。
  • organization.gitlab.owner:组织层gitlab所有者。
  • project.gitlab.developer:项目层gitlab开发者。当给某用户在某项目下分配拥有该标签的角色后,平台会为该用户在gitlab对应的group下分配developer的角色。
  • project.gitlab.owner:项目层gitlab所有者。当给某用户在某项目下分配拥有该标签的角色后,平台会为该用户在gitlab对应的group下分配owner角色。
  • project.deploy.admin:项目层部署管理员。当给某用户在某项目下分配拥有该标签的角色后,该用户可在该项目下使用部署流水线的相关内容。
  • site.admin:全局层管理员。

角色标签的作用说明:

  1. - project.owner:当用户创建项目时会自动为其分配拥有该角色标签的角色。如项目所有者。
  2. - organization.owner:用户在创建角色的的时候选择此角色标签,当用户创建组织时会自动为其分配此角色标签下的角色。
  3. - project.gitlab.owner:当给某用户在某项目下分配拥有该标签的角色后,平台会为该用户在gitlab对应的group下分配owner角色。
  4. - project.gitlab.developer:当给某用户在某项目下分配拥有该标签的角色后,平台会为该用户在gitlab对应的group下分配developer的角色。

8. 阅读更多