非管理用户可访问的项目和集群由成员资格确定。成员资格是根据他们在该集群或项目中分配的角色而有权访问特定集群或项目的用户列表。每个集群和项目都包含一个选项卡,具有适当权限的用户可以使用该选项卡来管理成员资格。

创建集群或项目时,Rancher 会自动将创建者分配为所有者。分配了所有者角色的用户可以在集群或项目中给其他用户分配角色。

集群角色

集群角色是您可以分配给用户的角色,以授予他们对集群的访问权限。集群有两个主要角色:所有者成员

  • 集群成员:

    这些用户可以查看大多数集群级别的资源并创建新项目。

使用 Rancher,您可以将自定义集群角色分配给标准用户,而不是典型的所有者成员角色。这些角色可以是内置的自定义集群角色,也可以是 Rancher 管理员定义的角色。这方便管理员为集群中的标准用户配置受限的或特定的访问权限。有关内置的自定义集群角色的列表,请参见下表。

下表列出了每个可用的内置自定义集群角色,以及默认的集群级别角色集群所有者集群成员中是否包括该权限。

有关每个集群角色如何访问 Kubernetes 资源的详细信息,可以转到 Rancher UI 中的全局视图。然后单击安全 > 角色,然后转到集群标签。单击单个角色,然后可以参考资源授权表以查看该角色允许的所有操作和资源。

管理员设置自定义集群角色后,集群所有者和管理员可以将这些角色分配给集群成员。

可以使用 Rancher UI,将自定义角色分配给新的集群成员。要修改现有成员的权限,您将需要使用 Rancher API 视图。

要将角色分配给新的集群成员,

  1. 转到集群视图,然后转到成员选项卡。
  2. 单击添加成员。然后在集群权限部分中,选择应分配给成员的自定义集群角色。
  3. 点击创建

要将任何自定义角色分配给现有集群成员,

  1. 转到您要授予角色的成员。点击省略号(…) > 在 API 中查看
  2. roleTemplateId 字段中,转到下拉菜单,然后选择要分配给成员的角色。点击显示请求发送请求

结果: 成员已分配角色。

项目角色

项目角色是可用于授予用户访问项目权限的角色。项目主要有三个角色:所有者成员只读

  • 项目所有者:

    这些用户对项目及其中的所有资源拥有完全控制权。

  • 项目成员:

    这些用户可以管理项目范围的资源,例如命名空间和工作负载,但不能管理其他项目成员。

  • 只读:

    这些用户可以查看项目中的所有内容,但不能创建,更新或删除任何内容。

使用 Rancher,您可以将自定义项目角色分配给标准用户,而不是典型的所有者成员只读角色。这些角色可以是内置的自定义项目角色,也可以是 Rancher 管理员定义的角色。这方便管理员为项目中的标准用户配置受限的或特定的访问权限。有关内置的自定义项目角色的列表,请参见下表。

下表列出了 Rancher 中可用的每个内置自定义项目角色,以及是否也由所有者成员只读角色授予的。

内置项目角色所有者成员只读
管理项目成员
创建命名空间
管理配置映射
管理 Ingress
管理项目应用商店
管理密文
管理服务帐户
管理服务
管理卷
管理工作负载
查看配置图
查看 Ingress
查看项目成员
查看项目应用商店
查看密文
查看服务帐户
查看服务
查看卷
查看工作负载

如前所述,可以定义自定义角色以在集群或项目级别使用。上下文字段定义角色是否将显示在集群成员页面,项目成员页面或两者上。

定义自定义角色时,您可以授予对特定资源的访问权限,或指定自定义角色应继承的角色。定制角色可以由特定授予和继承角色的组合组成。所有赋权都是加性的。这意味着为特定资源定义更窄的授权不会覆盖自定义角色继承自的角色中定义的更广泛的授权。

默认集群和项目角色

有两种更改默认集群/项目角色的方法:

  • 分配自定义角色:为您的或项目创建一个,然后将自定义角色设置为默认角色。

  • 分配单独的角色:将多个集群/角色配置为默认角色,以分配给创建用户。

例如,您可以选择混合使用各个角色(例如管理节点管理存储),而不是分配继承其他角色的角色(例如集群所有者)。

您可以更改自动分配给创建用户的集群或项目角色。

  1. 全局视图中,从主菜单中选择安全 > 角色。选择集群项目选项卡。

  2. 查找要用作默认角色的自定义角色或单个角色。然后通过选择省略号 > 编辑来编辑角色。

  3. 启用默认角色。

  4. 新集群/项目默认角色中,选择是:用于创建新集群/项目的默认角色

  5. 单击保存

  6. 如果要删除默认角色,请编辑权限,然后从默认角色选项中选择

结果: 根据您的更改配置默认角色。分配给集群/项目创建者的角色在集群/项目创建者默认值列中显示一个检查。

撤消集群成员资格时的行为

当您撤消已为集群和集群中的项目明确分配了成员资格的标准用户的集群成员身份时,该标准用户将失去其集群角色但仍保留其。换句话说,尽管您已经撤消了用户访问集群及其节点的权限,但是标准用户仍然可以:

  • 访问其拥有成员资格的项目。

如果要完全撤消集群中用户的访问权限,请撤消其集群成员和项目成员身份。