全局权限

权限 是你在为用户选择自定义权限时可以分配的个人访问权限。

全局权限定义用户在任何特定集群之外的授权。Rancher 提供四种开箱即用的默认全局权限:Administrator (管理员)、Restricted Admin (受限管理员)、Standard User (标准用户) 和 User-Base 用户。

  • 管理员:可以完全控制整个 Rancher 系统和其中的所有集群。

  • 受限管理员:可以完全控制下游集群,但不能更改本地 Kubernetes 集群。

  • 普通用户:可以创建新集群并使用它们。普通用户还可以在自己的集群中向其他用户分配集群权限。

  • User-Base 用户:只有登录权限。

你无法更新或删除内置的全局权限。

受限管理员

Rancher 2.5 创建了一个新的 restricted-admin 角色,以防止本地 Rancher Server Kubernetes 集群的权限提升。此角色对 Rancher 管理的所有下游集群具有完全管理员权限,但没有更改本地 Kubernetes 集群的权限。

restricted-admin 可以创建其他具有同样访问权限的 restricted-admin 用户。

Rancher 还增加了一个新设置,来将初始启动的管理员设置为 restricted-admin 角色。该设置适用于 Rancher Server 首次启动时创建的第一个用户。如果设置了这个环境变量,则不会创建全局管理员,也就无法通过 Rancher 创建全局管理员。

要以 restricted-admin 作为初始用户来启动 Rancher,你需要使用以下环境变量来启动 Rancher Server:

  1. CATTLE_RESTRICTED_DEFAULT_ADMIN=true

restricted-admin 的权限列表

下表列出了 restricted-adminAdministratorStandard User 角色相比应具有的权限和操作:

类别操作全局管理员普通用户受限管理员受限管理员的注意事项
本地集群功能管理本地集群(列出、编辑、导入主机)
创建项目/命名空间
添加集群/项目成员
在本地集群中部署 MulticlusterApp
全局 DNS
访问 CRD 和 CR 的管理集群
另存为 RKE 模板
安全
启用身份验证配置身份验证
角色创建/分配 GlobalRoles否(可列出)认证 Webhook 允许为已经存在的权限创建 globalrole
创建/分配 ClusterRoles否(可列出)不在本地集群中
创建/分配 ProjectRoles否(可列出)不在本地集群中
用户添加用户/编辑/删除/停用用户
将全局角色分配给组在 Webhook 允许的范围内
刷新组
PSP管理 PSP 模板否(可列出)与 PSP 的全局管理员权限相同
工具
管理 RKE 模板
管理全局应用商店无法编辑/删除内置系统应用商店。可以管理 Helm 库
集群驱动
主机驱动
GlobalDNS 提供商是(自己)
GlobalDNS 条目是(自己)
设置
管理设置否(可列出)否(可列出)
应用
启动 Multicluster 应用不在本地集群中
用户
管理 API 密钥是(管理所有)是(管理自己的)是(管理自己的)
管理节点模板是(管理自己的)是(管理自己的)只能管理自己的节点模板,不能管理其他用户创建的节点模板。
管理云凭证是(管理自己的)是(管理自己的)只能管理自己的云凭证,不能管理其他用户创建的云凭证。
下游集群创建集群
编辑集群
轮换证书
立即创建快照
恢复快照
另存为 RKE 模板
运行 CIS 扫描
添加成员
创建项目
自 2.5 起的功能 Chart
安装 Fleet无法在本地集群中运行 Fleet
部署 EKS 集群
部署 GKE 集群
部署 AKS 集群

将全局管理员更改为受限管理员

如果 Rancher 已经有一个全局管理员,则应该将所有全局管理员更改为新的 restricted-admin

你可以前往安全 > 用户,并将所有管理员角色转为受限管理员。

已登录的用户可以根据需要将自己更改为 restricted-admin,但这应该是他们的最后一步操作,否则他们将没有进行该操作的权限。

分配全局权限

本地用户的全局权限分配与使用外部身份验证登录 Rancher 的用户不同。

新本地用户的全局权限

在创建新本地用户时,请在填写添加用户表单时为他分配全局权限。

如果需要查看新用户的默认权限:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击角色
  3. 角色页面有按范围分组的角色选项卡。每个表都列出了范围内的角色。在全局选项卡的新用户的默认角色列中,默认授予新用户的权限用复选标记表示。

你可以更改默认全局权限来满足你的需要

使用外部身份验证程序的用户的全局权限

当用户首次使用外部身份验证提供程序登录 Rancher 时,他们会自动分配到新用户的默认角色的全局权限。默认情况下,Rancher 为新用户分配 Standard User 权限。

如果需要查看新用户的默认权限:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击角色
  3. 角色页面有按范围分组的角色选项卡。每个表都列出了范围内的角色。在每个页面的新用户的默认角色列中,默认授予新用户的权限用复选标记表示。

你可以更改默认权限来满足你的需要

你可以按照步骤操作来将权限分配给单个用户。

如果外部身份验证提供程序支持组,你可以同时为组中的每个成员分配角色

自定义全局权限

使用自定义权限可以为用户配置在 Rancher 中的更受限或指定的访问权限。

当来自外部身份验证系统的用户首次登录 Rancher 时,他们会自动分配到一组全局权限(以下简称权限)。默认情况下,用户第一次登录后会被创建为用户,并分配到默认的用户权限。标准的用户权限允许用户登录和创建集群。

但是,在某些组织中,这些权限可能会被认为权限过大。你可以为用户分配一组更具限制性的自定义全局权限,而不是为用户分配 AdministratorStandard User 的默认全局权限。

默认角色(管理员和标准用户)都内置了多个全局权限。系统管理员角色包括所有全局权限,而默认用户角色包括三个全局权限,分别是创建集群,使用应用商店模板,和 User Base(登录 Rancher 的最低权限)。换句话说,自定义全局权限是模块化的,因此,如果你要更改默认用户角色权限,你可以选择需要包括在新的默认用户角色中的全局权限子集。

管理员可以通过多种方式强制执行自定义全局权限:

自定义全局权限参考

下表列出了每个可用的自定义全局权限,以及该权限是否包含在默认全局权限 AdministratorStandard UserUser-Base 中:

自定义全局权限管理员普通用户User-Base
创建集群
创建 RKE 模板
管理身份验证
管理应用商店
管理集群驱动
管理主机驱动
管理 PodSecurityPolicy 模板
管理角色
管理设置
管理用户
使用应用商店模板
User-Base(基本登录访问)

如果需要查看每个全局权限对应哪些 Kubernetes 资源:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击角色
  3. 如果单击单个角色的名称,表格会显示该角色授权的所有操作和资源。

全局权限 - 图1注意事项:

  • 上面列出的每个权限都包含多个未在 Rancher UI 中列出的权限。如果需要获取完整权限列表以及组成权限的规则,请通过 /v3/globalRoles API 进行访问。
  • 在查看 Rancher 创建的默认角色关联的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有 (Custom) 标识。这不代表这个资源是自定义资源,而只是表明多个 Kubernetes API 资源作为一个资源。

配置默认全局权限

如果你想限制新用户的默认权限,你可以删除作为默认角色的用户权限,然后分配多个单独的权限作为默认权限。你也可以在一组其他标准权限之上添加管理权限。

全局权限 - 图2备注

默认角色仅分配给从外部身份验证提供程序添加的用户。对于本地用户,在将用户添加到 Rancher 时,必须显式分配全局权限。你可以在添加用户时自定义这些全局权限。

要更改在外部用户首次登录时分配给他们的默认全局权限,请执行以下步骤:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击角色。在角色页面上,确保选择了全局选项卡。
  3. 查找要添加或删除的默认权限集。然后,通过选择 ⋮ > 编辑配置来编辑权限。
  4. 如果要将权限添加为默认权限,请选择是:新用户的默认角色,然后单击保存。如果要删除默认权限,请编辑该权限并选择

结果:默认全局权限已根据你的更改配置。分配给新用户的权限会在新用户的默认角色列中显示为复选标记。

为单个用户配置全局权限

要为单个用户配置权限:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击用户
  3. 找到要更改访问级别的用户,然后单击 ⋮ > 编辑配置
  4. 全局权限内置角色部分中,选中你希望用户拥有的权限的复选框。如果你在角色页面创建了角色,这些角色将出现在自定义部分,你也可以选择这些角色。
  5. 单击保存

结果:用户的全局权限已更新。

为组配置全局权限

如果你有一组需要在 Rancher 中有相同访问权限的用户,你可以一次性将权限分配给整个组来节省时间。这样,组中的用户在第一次登录 Rancher 时能拥有相应级别的访问权限。

将自定义全局角色分配给组后,该角色将在组中用户登录 Rancher 时分配给用户。

对于现有用户,新权限将在用户退出 Rancher 并重新登录时,或当管理员刷新用户组成员名单时生效。

对于新用户,新权限在用户首次登录 Rancher 时生效。除了新用户的默认角色全局权限外,来自该组的新用户还将获得自定义全局角色的权限。默认情况下,新用户的默认角色权限等同于 Standard User 全局角色,但默认权限可以配置。

如果从外部身份验证提供程序组中删除用户,该用户将失去分配给该组的自定义全局角色的权限。他们将继续拥有分配给他们的所有剩余角色,这通常包括标记为新用户的默认角色的角色。Rancher 将在用户登出或管理员刷新用户组成员名单时删除与组关联的权限。

全局权限 - 图3先决条件:

只有在以下情况下,你才能将全局角色分配给组:

要将自定义全局角色分配给组,请执行以下步骤:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击
  3. 转到你要分配自定义全局角色的组,然后单击 ⋮ > 编辑配置
  4. 全局权限自定义和/或内置角色部分中,选择该组应具有的权限。
  5. 单击创建

结果:自定义全局角色会在组内用户登录 Rancher 时生效。

刷新用户组成员名单

当管理员更新组的全局权限时,更改将在组成员退出 Rancher 并重新登录后生效。

如果要让更改立即生效,管理员或集群所有者可以刷新用户组成员名单。

如果用户已经从外部身份验证服务中的组中删除,管理员也可能需要刷新用户组成员名单。在这种情况下,刷新操作会让 Rancher 知道用户已从组中删除。

要刷新用户组成员名单:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击用户
  3. 单击刷新用户组成员名单

结果:对组成员权限的所有更改都会生效。