自定义角色
创建自定义角色
虽然 Rancher 提供一组开箱即用的默认用户角色,但你还可以创建默认的自定义角色,从而在 Rancher 中为用户提供更精细的权限。
添加自定义角色的步骤因 Rancher 的版本而异。
-
在左上角,单击 ☰ > 用户 & 认证。
-
在左侧导航栏中,单击角色。
-
选择一个选项卡来确定要添加的角色的范围。这些选项卡是:
-
全局:仅在允许成员管理全局范围的资源时,可以分配该角色。
-
集群:仅在向集群添加/管理成员时,可以分配该角色。
-
项目或命名空间:仅在向项目或命名空间添加/管理成员时,可以分配该角色。
-
-
根据所需要的范围,单击创建全局角色、创建集群角色或创建项目或命名空间的角色。
-
输入角色的名称。
-
可选:选择集群创建者的默认角色/项目创建者的默认角色选项,以将该角色分配给集群/项目创建者。使用此功能,你可以扩展或限制集群/项目创建者的默认角色。
开箱即用的集群创建者的默认角色和项目创建者的默认角色分别是
集群所有者
和项目所有者
。 -
使用授权资源选项将各个 Kubernetes API 端点分配给角色。
在查看 Rancher 创建的默认角色关联的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有
(Custom)
标识。这不代表这个资源是自定义资源,而只是表明多个 Kubernetes API 资源作为一个资源。资源文本字段可以用来搜索预定义的 Kubernetes API 资源,或者为授权输入自定义资源名称。在此字段中输入资源名称后,必须从下拉列表中选择预定义或
(自定义)
资源。你还可以选择每个分配的端点可用的 cURL 方法(
Create
、Delete
、Get
等)。 -
使用 Inherit from 选项将各个 Rancher 角色分配给你的自定义角色。请注意,如果自定义角色从父角色继承,你需要先删除子角色才能删除父角色。
-
单击创建。
创建从另一个角色继承的自定义角色
如果你有一组需要在 Rancher 中具有相同访问权限的用户,一种节省时间的方法是创建一个新的自定义角色,而该角色的规则都是从另一个角色(例如管理员角色)复制而来的。这样,你只需要配置现有角色和新角色之间不同的部分。
然后,你可以将自定义角色分配给用户或组。该角色在用户首次登录 Rancher 时生效。
要基于现有角色创建自定义角色:
-
在左上角,单击 ☰ > 用户 & 认证。
-
在左侧导航栏中,单击角色。
-
单击集群或项目或命名空间选项卡。根据所需要的范围,单击创建集群角色或创建项目或命名空间的角色。请注意,只有集群角色和项目/命名空间角色可以从另一个角色继承。
-
输入角色的名称。
-
在 Inherit From 选项卡中,选择自定义角色需要从哪个角色继承权限。
-
在授权资源选项卡中,选择拥有自定义角色的用户要启用的 Kubernetes 资源操作。
资源文本字段可以用来搜索预定义的 Kubernetes API 资源,或者为授权输入自定义资源名称。在此字段中输入资源名称后,必须从下拉列表中选择预定义或
(自定义)
资源。 -
可选:将角色设置为默认。
-
单击创建。
删除自定义角色
删除自定义角色时,具有此自定义角色的所有全局角色绑定(Global Role Bindings)都将被删除。
如果某个用户仅分配了一个自定义全局角色,而且你删除了这个角色,该用户将不能再访问 Rancher。要让用户重新获得访问权限,管理员需要编辑用户并应用新的全局权限。
自定义角色可以删除,但内置角色不能删除。
要删除自定义角色:
-
在左上角,单击 ☰ > 用户 & 认证。
-
在左侧导航栏中,单击角色。
-
转到要删除的自定义全局角色,然后单击 ⋮ (…) > 删除。
-
单击删除。
为组分配自定义角色
如果你有一组需要在 Rancher 中具有相同访问权限的用户,一种节省时间的方法是创建一个新的自定义角色。将角色分配给组时,组中的用户在首次登录 Rancher 时就会拥有配置的访问级别。
组中的用户登录时,他们默认获得内置的普通用户全局角色。他们还将获得分配给他们的组的权限。
如果将用户从外部身份验证系统的组中删除,用户将失去分配给该组的自定义全局角色的权限。但是,用户仍会拥有普通用户角色。
先决条件:
只有在以下情况下,你才能将全局角色分配给组:
|
要将自定义角色分配给组,请执行以下步骤:
-
在左上角,单击 ☰ > 用户 & 认证。
-
在左侧导航栏中,单击组。
-
转到将分配自定义角色的组,然后单击 ⋮ > 编辑配置。
-
如果你已创建角色,角色将显示在自定义中。选择要分配给组的自定义角色。
-
可选:在全局权限或内置角色中,选择要分配给该组的其他权限。
-
单击保存。
结果:自定义角色将在组内用户登录 Rancher 时生效。