跳到主要内容

主体与角色

主体包括成员和组。组是成员的集合,成员可以通过加入组来继承组的角色权限。通过组批量给成员进行授权,可以更好的管理成员及其权限。

test

成员管理

系统管理员有权管理成员,操作步骤如下:

  1. 进入[管理工作台/主体管理/成员管理]页面,展示已创建的成员列表:成员名、邮箱、创建时间、备注。
  2. 点击创建新成员,弹框配置参数如下:
  • 成员名:用于标识登录用户,必填,由 5~63 字符组成
  • 备注:用于描述用户信息,选填,限制128个字符
  • 密码:同时包含数字、大小写字母,长度为 8~16 个字符
  • 确认密码:同上
  • 手机:必填,正确输入手机号。应用于告警通知等功能。
  • 邮箱:必填,正确输入邮箱地址。应用于告警通知等功能。
  1. 点击提交,新成员创建成功。
  2. 点击成员名,进入详情页面,展示基本信息和所属租户、项目。
  3. 返回成员列表页,找到目标成员,点击编辑,支持修改备注、手机、邮箱信息。
  4. 返回成员列表页,找到目标成员,点击删除,二次弹框提示确认后,删除成功,删除后,此用户将不能登录平台。
  5. 返回成员列表页,找到目标成员,点击修改密码,输入新密码、确认密码,点击提交,修改成功。

组管理

系统管理员有权管理组,操作步骤如下:

  1. 进入[管理工作台/主体管理/组管理]页面,展示已创建的组列表:组名称、描述、成员数、创建时间。
  2. 点击创建组,弹框配置参数如下:
  • 组名称:用于标识组,由 5~63 个字母、数字、中文、空格、“-”、“_”和、“.”组成
  • 组描述:用于描述组信息,限制128个字符
  • 组成员:选择平台上创建的成员,添加到当前组内。
  1. 返回组列表,找到目标组,点击编辑,支持修改组名称、组描述、组成员。
  2. 返回组列表,找到目标组,点击删除,删除后该组也将从绑定的角色中移除,该组的成员将不再拥有绑定角色的权限。

服务账号

服务账号是项目维度进行管理,操作步骤如下:

  1. 进入[管理工作台/租户和集群/项目管理]页面,找到目标项目,点击项目名称进入项目详情。
  2. 点击左侧菜单服务账号,分集群展示服务账号列表:服务账号、项目角色、集群角色、保密字典、创建时间。
  3. 点击创建服务账号,弹框内填写配置参数:
  • 服务账号名称:由 5~63 位字母、数字、中文、空格、“-”、“_”和、“.”组成
  • 保密字典:勾选是否创建,默认不勾选。
  1. 点击确定,创建服务账号成功。
  2. 点击服务账号名称,进入详情页面,可查看关联的工作负载加密配置
  • 关联的工作负载页签,展示工作负载列表:工作负载名称、状态、创建时间。
  • 加密配置页签,只读显示配置文件内容。
  1. 返回服务账号列表,点击编辑 Yaml,支持 yaml 方式编辑。
  2. 找到目标服务账号,点击删除,二次弹框提示确认后,删除成功。
备注
  • 保密字典:K8s 1.24 版本之前自动创建 sercet ,即使不勾选,也会创建;K8s 1.24 版本及之后默认不自动创建。
  • 如需调整服务账号绑定的集群角色,请联系管理员前往集群管理处操作。参见集群角色
  • 仅系统管理员可以创建成员和组。

角色管理

一个角色对应一组权限,权限决定了可以对资源执行的操作。向成员、组、服务账号授予某角色,即授予该角色所包含的所有权限。 管理工作台存在三种角色范围,可以灵活、有效地解决您在权限上的使用问题:

  • 平台角色:对平台上所有相关资源具有相应权限。例系统管理员admin,更多角色后续版本发布。
  • 集群角色:对目标集群内所有相关资源具有相应权限。
  • 项目角色:对目标项目内相关资源具有相应权限。

角色权限设计示意图如下:

test

集群角色

操作步骤如下:

  1. 进入[管理工作台/租户和集群/集群管理]页面,找到目标集群,点击集群名称,默认进入集群设置页面,点击左侧菜单集群角色,查看当前集群的所有集群角色。列表展示集群角色、描述、成员数、创建时间。
  2. 点击创建集群角色,支持可视化yaml 两种方式:
  • 可视化方式,配置参数如下:

    • 集群角色名称:用于标识当前角色,由3~63字符组成
    • 描述:用于描述当前角色,不超过128个汉字或者字符
    • 角色权限:选择已创建的项目域或集群域的角色模板,然后按需勾选各功能对应的资源及其操作权限。如果没有需要的角色模板,点击去创建模板,新标签页打开角色模板页面,快速创建。
  • yaml方式,进入 yaml 编辑器,示例如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
annotations:
description: test #集群角色描述
displayName: test #集群角色名称
name: clusterrole-test
rules:
- apiGroups:
- ''
resources:
- pod
verbs:
- list
- get
  1. 点击确定,角色创建成功。返回角色列表页面。
  2. 点击角色名称,进入角色详情页面,可查看其角色权限。 切换到角色主体页签,可添加主体到此角色,从而此成员获取了其对应资源的操作权限。此处添加主体,包括用户、组、服务账号。

角色模板

操作步骤如下:

  1. 进入[管理工作台/租户和集群/集群管理]页面,找到目标集群,点击集群名称,默认进入集群设置页面,点击左侧菜单角色模板,查看当前集群的所有角色模板。列表展示:角色模板名称、描述、功能模块(个数)、作用域、类型、创建时间。
  • 作用域:项目域、集群域。
  • 类型:内置、自定义。内置类型仅支持查看。
  1. 点击创建角色模板,支持可视化yaml 两种方式:
  • 可视化方式,配置参数如下:

    • 角色模板名称:用于标识当前角色模板,由3~63字符组成

    • 描述:用于描述当前角色模板,不超过128个汉字或者字符

    • 作用域:单选,项目域、集群域

      • 项目域的角色模板,适用于创建项目角色或集群角色
      • 集群域的角色模板,适用于创建集群角色
    • 角色模板:

      • 可添加多个功能
      • 每个功能,填写功能名称,然后添加对应资源与操作,可添加多个资源组。
      • 每个资源组:选择 apigroup,例 apps/v1,可选多个;填写资源组名称,选择资源,例 apiservices,可选多个;选择操作,例 create、list、get等,可选多个。
  • yaml方式,进入 yaml 编辑器,示例如下:

apiVersion: iam.tenxcloud.com/v1alpha1
kind: RoleTemplate
metadata:
annotations:
description: test #描述
displayName: test #角色模板名称
name: roletemplate-test
spec:
kindType: ClusterRole
resources:
- category: 功能A #功能名称
displayName: 子功能A #资源组名称
rules:
- apiGroups: #apigroup
- ''
resources: #资源
- pods
verbs: #操作
- get
- list
- category: 功能A
displayName: 子功能B
rules:
- apiGroups:
- ''
resources:
- services
verbs:
- get
- list
  1. 点击确定,角色模板创建成功
备注

角色模板中,yaml 方式,如果没有 category ,则归为“其他”

项目角色

操作步骤如下:

  1. 进入[管理工作台/租户和集群/项目管理]页面,找到目标项目,点击项目名称项目角色,进入项目角色页面。
  2. 分集群展示项目角色列表:角色名称、描述、成员数、创建时间。
  3. 点击创建新角色,支持可视化、yaml两种方式:
  • 可视化方式,配置参数说明如下:

    • 角色名称:用于标识当前角色,由3~63字符组成
    • 描述:角色描述,不超过128个汉字或者字符
    • 角色权限:选择已创建的项目域角色模板roletemplate,例服务网格、API 网关、微服务治理、性能监控等。然后按需勾选各功能对应的资源及其操作权限。
  • yaml 方式,进入 yaml 编辑器,示例如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
annotations:
description: test #角色描述
displayName: test #角色名称
name: role-test
namespace: sidecarorder1
rules:
- apiGroups:
- ''
resources:
- pods
verbs:
- get
- list
  1. 点击确定,角色创建成功。返回角色列表页面。
  2. 点击角色名称,进入角色详情页面,可查看其角色权限。 切换到角色主体页签,可添加主体到此角色,从而此成员获取了其对应资源的操作权限。此处添加主体,包括用户、组、服务账号。

项目成员

操作步骤如下:

  1. 进入[管理工作台/租户和集群/项目管理]页面,找到目标项目,点击项目名称项目成员,进入项目成员页面。
  2. 分集群展示项目成员,项目成员列表展示成员名称、项目角色、手机、邮箱。
  3. 给项目角色添加成员,需进入项目角色详情页的角色成员页签,参见项目角色
备注
  • UMC v5.6.1版本,项目管理员不可见“管理工作台”,登录平台后,左上角切换项目&集群,如果当前用户是此项目&集群的项目管理员,顶部栏左上角会显示“项目管理”,点击进入项目详情,可见项目角色、项目成员两个菜单

    test
  • 目前平台仅支持 role 和 rolebinding 是一一对应的,并且为rolebinding添加了特定 label。

  • 项目角色列表,自动读取命名空间&集群中所有的 role,即包括非产品界面创建的 role,此时也支持编辑/删除此 role,此 role 可能对应多个 rolebinding,由于上条原因,删除时,仅删除了拥有特定 label 的 rolebinding,所以 namespace 中可能残留冗余数据。后续版本优化。

外部身份认证

平台基于 dex 支持外部认证系统的集成,实现服务门户与第三方认证系统的统一账号及单点登录。

  • 例 Gitlab、Github 的集成。详细操作参见使用第三方系统登录
  • 基于 OIDC 协议的单点登录,如果您的企业或组织已有自己的账号体系,同时希望管理组织内的成员使用管理工作台资源,您可以使用此能力,而不必在管理工作台为您的每一位组织成员创建用户名/密码。详细操作参见集成单点登录