全局权限
权限是在为用户选择自定义权限时可以分配的访问权限。
全局权限定义在任何特定集群范围之外的用户授权。Rancher 中有三个开箱即用的默认全局权限:系统管理员,标准用户和基本用户。
系统管理员: 这些用户完全控制整个 Rancher 系统及其中的所有集群。
标准用户: 这些用户可以创建新集群并使用它们。标准用户在自己的集群中向其他用户分配集群权限。
基本用户: 基本用户只有登录权限。
您无法更新或删除内置的全局权限。
受限管理员
Rancher v2.5 中创建了一个新的 restricted-admin
角色,以防止从本地 Rancher 服务器 Kubernetes 集群提权。这个角色对 Rancher 管理的所有下游集群有完全的管理员权限,但它没有改变本地 Kubernetes 集群的权限。
restricted-admin
可以创建其他 restricted-admin
用户,具有同等的访问级别。
Rancher 增加了一个新的设置,将初始启动的管理员设置为 restricted-admin
的角色。这适用于 Rancher server 首次启动时创建的第一个用户。如果设置了这个环境变量,那么就不会创建全局管理员,也就不可能通过 Rancher 创建全局管理员。
要以 restricted-admin
作为初始用户启动 Rancher,Rancher server 应以下列环境变量启动:
CATTLE_RESTRICTED_DEFAULT_ADMIN=true
Copy
restricted-admin
的权限列表
restricted-admin
角色的权限根据 Rancher 版本不同而不同。
v2.5.7+
restricted-admin
权限如下:
- 对 Rancher 管理的所有下游集群拥有完全的管理权限。
- 可以添加其他用户,并将其分配到本地集群之外的集群。
- 可以创建其他受限管理员。
v2.5.0-v2.5.6
restricted-admin
权限如下:
- 对 Rancher 管理的所有下游集群有完全的管理权限。
- 对本地 Kubernetes 集群有非常有限的访问权。可以访问 Rancher 定制的资源定义,但不能访问任何 Kubernetes 本地类型。
- 可以添加其他用户,并将其分配到本地集群之外的集群。
- 可以创建其他受限制的管理员。
- 不能在本地集群中授予他们目前不具备的任何权限。(这是 Kubernetes 通常的操作方式)
从 Rancher 升级到隐藏的 Local 集群
在 Rancher v2.5 之前,可以使用这个标志来运行 Rancher server 隐藏 Local 集群。
--add-local=false
Copy
升级到 Rancher v2.5 时,你需要放弃这个标志。否则,Rancher 将无法启动。restricted-admin
角色可以用来继续限制对 Local 集群的访问。
将全局管理员改为受限管理员
如果 Rancher 已经有一个全局管理员,他们应该将所有全局管理员改为新的restricted-admin
角色。
这可以通过安全>用户来完成,并将任何管理员角色转为受限管理员。
已登录的用户如果愿意,可以把自己改为 restricted-admin
,但他们应该在最后一步才这样做,否则他们就没有权限这样做。
分配全局权限
本地用户(Local)的全局权限分配与使用外部身份验证系统登录到 Rancher 的用户不同。
本地用户
当您创建新的本地(Local)用户时,请在填写添加用户表单时为其分配全局权限。
要查看新用户的默认权限,请转到全局视图,然后单击安全 > 角色。在全局选项卡上,有一列名为新用户默认角色。添加新的本地用户时,该用户将获得在此列中标记为已选中的所有默认全局角色。您可以更改默认的全局权限来满足您的需求。
外部用户
当用户首次使用外部身份验证系统登录 Rancher 时,会自动为用户分配新用户默认角色对应的全局权限。默认情况下,Rancher 为新用户分配标准用户权限。
要查看新用户的默认权限,请转到全局视图,然后单击安全 > 角色。在全局选项卡上,有一列名为新用户默认角色。添加新的外部用户时,该用户将获得在此列中标记为已选中的所有默认全局角色。您可以更改默认的全局权限来满足您的需求。
可以使用这些步骤将权限分配给单个用户。
从 Rancher v2.4.0 开始,如果外部身份验证系统支持组,则可以同时向组中的每个人分配角色。
自定义全局权限
使用自定义权限可以为用户配置在 Rancher 中的更受限的或指定的访问权限。
来自外部认证系统的用户首次登录 Rancher 时,会自动为用户分配一组全局权限(以下称权限)。默认情况下,在用户首次登录后,将以用户身份创建用户并为其分配默认的用户权限。标准的用户权限允许用户登录并创建集群。
但是,在某些组织中,这些权限可能会被认为有过多的访问权限。您可以为用户分配一组限制性更强的自定义全局权限,而不是为用户分配系统管理员或标准用户的默认全局权限。
默认角色,系统管理员和标准用户,每个角色都内置有多个全局权限。系统管理员角色包括所有全局权限,而默认标准用户角色只包括创建集群,使用应用商店模板和基本用户(等效于登录 Rancher 的最低权限)等权限。换句话说,自定义全局权限是模块化的,因此,如果您要更改默认用户角色权限,则可以指定新的默认用户角色中包含哪些全局权限子集。
管理员可以通过多种方式实施自定义全局权限:
自定义全局权限参考
下表列出了每个可用的自定义全局权限,并且列出了默认全局权限系统管理员、标准用户和基本用户中是否包含该自定义全局权限。
自定义全局权限 | 管理员 | 标准用户 | 基本用户 |
---|---|---|---|
创建集群 | ✓ | ✓ | |
创建 RKE 模板 | ✓ | ✓ | |
管理身份验证 | ✓ | ||
管理应用商店 | ✓ | ||
管理集群驱动程序 | ✓ | ||
管理节点驱动程序 | ✓ | ||
管理 Pod 安全策略模板 | ✓ | ||
管理角色 | ✓ | ||
管理设置 | ✓ | ||
管理用户 | ✓ | ||
使用应用商店模板 | ✓ | ✓ | |
基本用户 *(基本登录访问) | ✓ | ✓ |
*此角色有两个名称:
- 转到用户选项卡并编辑用户的全局角色时,此角色在自定义全局权限列表中称为登录访问。
- 转到安全选项卡并从角色页面编辑角色时,该角色称为基本用户。
有关与每个全局权限对应的 Kubernetes 资源的详细信息,可以转到 Rancher UI 中的全局视图。然后单击安全 > 角色,然后转到全局标签。单击单个角色,然后可以参考资源授权表以查看该角色允许的所有操作和资源。
注意:
- 上面列出的每个权限都包含多个未在 Rancher UI 中列出的单独权限。有关这些权限及其所包含规则的完整列表,请通过 API
/v3/globalRoles
进行查看。- 查看与 Rancher 创建的默认角色相关的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有(Custom)标识。这些不是自定义资源,仅表示把多个 Kubernetes API 资源作为一种资源。
配置默认的全局权限
如果要限制新用户的默认权限,则可以删除作为默认角色的User角色,然后分配多个单独的权限作为默认角色。相反,您也可以在一组其他标准权限之上添加管理权限。
注意: 默认角色仅分配给从外部身份验证系统添加的用户。对于本地用户,在将用户添加到 Rancher 时,必须显式分配全局权限。您可以在添加用户时自定义这些全局权限。
要更改在外部用户首次登录时分配给用户的默认全局权限,请按照下列步骤操作:
在全局视图中,从主菜单中选择安全性 > 角色。确保选择了全局选项卡。
查找要默认添加或删除的权限集。然后通过选择省略号 > 编辑来编辑权限。
如果要添加默认权限,请选择是:新用户默认角色,然后单击保存。
如果要删除默认权限,请编辑该权限,然后从新用户默认角色中选择否。
结果: 根据您的更改配置默认的全局权限。分配给新用户的权限在新用户默认角色列中被标记。
配置用户的全局权限
要配置用户的权限,
转到用户标签。
在此页面上,转到要更改其访问级别的用户,然后单击省略号(…)>编辑。
在全局权限部分中,单击自定义。
选中您要用户有权访问的每个权限子集的框。
单击保存。
结果: 用户的全局权限已更新。
配置用户组的全局权限
自 v2.4.0 起可用
如果您有一组需要在 Rancher 中具有相同访问级别的个人,为了节省时间,可以一次将权限分配给整个组,这样该组中的用户在首次登录 Rancher 时便具有适当的访问级别。
将自定义全局角色分配给组后,该自定义全局角色将在用户登录 Rancher 时分配给该组中的用户。
对于现有用户,新权限将在用户退出 Rancher 并再次登录或管理员刷新组成员身份时生效。
对于新用户,权限在用户首次登录 Rancher 时生效。除了新用户默认角色中的全局权限外,该组中的新用户还将获得配置的自定义全局角色的权限。默认情况下,新用户默认角色权限等同于标准用户全局角色,但是默认权限可以被更改。
如果将用户从外部身份验证系统组中删除,用户将失去分配给该组的自定义全局角色的权限。用户将继续拥有分配给用户的所有剩余角色,通常包括标记为新用户默认角色的角色。Rancher 将在用户退出时或管理员刷新组成员身份时删除与该组关联的权限。
先决条件: 您只能在以下情况下为用户组分配全局角色:
要将自定义全局角色分配给组,请按照下列步骤操作:
- 从全局视图中,转到安全 > 用户组。
- 单击分配全局角色。
- 在选择要添加的组字段中,选择将被分配自定义全局角色的现有组。
- 在全局权限,自定义和/或内置部分中,选择组应具有的权限。
- 单击创建。
结果: 自定义全局角色将在组中的用户登录到 Rancher 时生效。
刷新组成员身份
管理员更新组的全局权限时,更改将在单个组成员退出 Rancher 并再次登录后生效。
为了使这些改动可以立即生效,管理员或集群所有者可以刷新组成员身份。
管理员可能希望在将用户从外部身份验证系统中的用户组中删除的同时,刷新组成员身份。在这种情况下,刷新组成员身份可以使 Rancher 发现该用户已从组中删除。
要刷新组成员身份,
- 在全局视图中,单击安全 > 用户 或 用户组。
- 单击刷新组成员身份。
结果: 对用户组成员权限的任何更改将立即生效。