自定义角色

在 Rancher 中,角色 决定了用户可以在集群或项目中执行哪些操作。

请注意,角色权限 不同,权限决定的是你可以访问哪些集群和项目。

自定义角色 - 图1危险

自定义角色可以启用权限提升。有关详细信息,请参阅本节

先决条件

要完成此页面上的任务,需要以下权限之一:

创建自定义角色

虽然 Rancher 提供一组开箱即用的默认用户角色,但你还可以创建默认的自定义角色,从而在 Rancher 中为用户提供更精细的权限。

添加自定义角色的步骤因 Rancher 的版本而异。

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击角色
  3. 选择一个选项卡来确定要添加的角色的范围。这些选项卡是:
  • 全局:仅在允许成员管理全局范围的资源时,可以分配该角色。
  • 集群:仅在向集群添加/管理成员时,可以分配该角色。
  • 项目或命名空间:仅在向项目或命名空间添加/管理成员时,可以分配该角色。
  1. 根据所需要的范围,单击创建全局角色创建集群角色创建项目或命名空间的角色

  2. 输入角色的名称

  3. 可选:选择集群创建者的默认角色/项目创建者的默认角色选项,以将该角色分配给集群/项目创建者。使用此功能,你可以扩展或限制集群/项目创建者的默认角色。

    开箱即用的集群创建者的默认角色项目创建者的默认角色分别是集群所有者项目所有者

  4. 使用授权资源选项将各个 Kubernetes API 端点分配给角色。

    在查看 Rancher 创建的默认角色关联的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有 (Custom) 标识。这不代表这个资源是自定义资源,而只是表明多个 Kubernetes API 资源作为一个资源。

    资源文本字段可以用来搜索预定义的 Kubernetes API 资源,或者为授权输入自定义资源名称。在此字段中输入资源名称后,必须从下拉列表中选择预定义或(自定义)资源。

    你还可以选择每个分配的端点可用的 cURL 方法(CreateDeleteGet 等)。

  5. 使用 Inherit from 选项将各个 Rancher 角色分配给你的自定义角色。请注意,如果自定义角色从父角色继承,你需要先删除子角色才能删除父角色。

  6. 单击创建

创建从另一个角色继承的自定义角色

如果你有一组需要在 Rancher 中具有相同访问权限的用户,一种节省时间的方法是创建一个新的自定义角色,而该角色的规则都是从另一个角色(例如管理员角色)复制而来的。这样,你只需要配置现有角色和新角色之间不同的部分。

然后,你可以将自定义角色分配给用户或组。该角色在用户首次登录 Rancher 时生效。

要基于现有角色创建自定义角色:

  1. 在左上角,单击 ☰ > 用户 & 认证

  2. 在左侧导航栏中,单击角色

  3. 单击集群项目或命名空间选项卡。根据所需要的范围,单击创建集群角色创建项目或命名空间的角色。请注意,只有集群角色和项目/命名空间角色可以从另一个角色继承。

  4. 输入角色的名称。

  5. Inherit From 选项卡中,选择自定义角色需要从哪个角色继承权限。

  6. 授权资源选项卡中,选择拥有自定义角色的用户要启用的 Kubernetes 资源操作。

    资源文本字段可以用来搜索预定义的 Kubernetes API 资源,或者为授权输入自定义资源名称。在此字段中输入资源名称后,必须从下拉列表中选择预定义或(自定义)资源。

  7. 可选:将角色设置为默认。

  8. 单击创建

删除自定义角色

删除自定义角色时,具有此自定义角色的所有全局角色绑定(Global Role Bindings)都将被删除。

如果某个用户仅分配了一个自定义全局角色,而且你删除了这个角色,该用户将不能再访问 Rancher。要让用户重新获得访问权限,管理员需要编辑用户并应用新的全局权限。

自定义角色可以删除,但内置角色不能删除。

要删除自定义角色:

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击角色
  3. 转到要删除的自定义全局角色,然后单击 ⋮ (…) > 删除
  4. 单击删除

为组分配自定义角色

如果你有一组需要在 Rancher 中具有相同访问权限的用户,一种节省时间的方法是创建一个新的自定义角色。将角色分配给组时,组中的用户在首次登录 Rancher 时就会拥有配置的访问级别。

组中的用户登录时,他们默认获得内置的普通用户全局角色。他们还将获得分配给他们的组的权限。

如果将用户从外部身份验证系统的组中删除,用户将失去分配给该组的自定义全局角色的权限。但是,用户仍会拥有普通用户角色。

自定义角色 - 图2先决条件:

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

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

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 在左侧导航栏中,单击
  3. 转到将分配自定义角色的组,然后单击 ⋮ > 编辑配置
  4. 如果你已创建角色,角色将显示在自定义中。选择要分配给组的自定义角色。
  5. 可选:在全局权限内置角色中,选择要分配给该组的其他权限。
  6. 单击保存

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

权限提升

配置应用商店这个自定义权限很强大,应谨慎使用。如果管理员将配置应用商店权限分配给普通用户,可能会导致权限提升。在这种情况下,用户可以让自己对 Rancher 配置的集群进行管理员访问。因此,拥有此权限的任何用户都应被视为管理员。