用户和组

Rancher 依赖用户和组来决定允许登录到 Rancher 的用户,以及他们可以访问哪些资源。你配置外部身份验证提供程序后,该提供程序的用户将能够登录到你的 Rancher Server。用户登录时,验证提供程序将向你的 Rancher Server 提供该用户所属的组列表。

你可以通过向资源添加用户或组,来控制其对集群、项目、多集群应用、全局 DNS 提供程序和相关资源的访问。将组添加到资源时,身份验证提供程序中属于该组的所有用户都将能够使用组的权限访问该资源。有关角色和权限的更多信息,请参见 RBAC

管理成员

向资源添加用户或用户组时,你可以通过输入用户或组的名称来搜索用户或组。Rancher Server 会查询身份验证提供程序,来查找与你输入的内容匹配的用户和组。搜索仅限于你登录时使用的身份验证提供程序。例如,如果你启用了 GitHub 身份验证,但使用本地用户登录,则无法搜索 GitHub 用户或组。

你可以查看和管理所有用户,包括本地用户和来自身份验证提供程序的用户。在左上角,单击 ☰ > 用户 & 认证。在左侧导航栏中单击用户

用户和组 - 图1SAML 身份提供商注意事项

  • SAML 协议不支持搜索或查找用户或组。因此,将用户或组添加到 Rancher 时不会对其进行验证。
  • 添加用户时,必须正确输入确切的用户 ID(即 UID 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
  • 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
  • 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。

用户信息

Rancher 会维护通过身份验证提供程序登录的每个用户的信息,包括用户是否允许访问 Rancher Server,以及用户所属的组的列表。Rancher 保留此用户信息,以便 CLI、API 和 kubectl 能够准确地反映用户基于身份验证提供程序中的组成员关系的访问。

当用户使用身份验证提供程序登录到 UI 时,Rancher 将自动更新该用户信息。

自动刷新用户信息

Rancher 会定期刷新用户信息,甚至在用户通过 UI 登录之前也是如此。你可以控制 Rancher 执行刷新的频率。

有两个参数可以控制这个操作:

  • auth-user-info-max-age-seconds

    此设置控制用户信息的最大老化时间,如果超过这个时间,Rancher 就会刷新信息。如果用户进行 API 调用(直接 UI 访问或通过使用 Rancher CLI 或 kubectl 调用),并且与 Rancher 上次刷新用户信息的时间间隔大于此设置,则 Rancher 将触发刷新。此设置默认为 3600 秒,即 1 小时。

  • auth-user-info-resync-cron

    此设置控制用于所有用户重新同步身份验证提供程序信息的定期任务周期。无论用户最近是否登录或使用 API,自动刷新任务都会按照指定的时间间隔刷新用户信息。此设置默认为 0 0 * * *,即每天午夜进行一次。有关此设置的有效值的更多信息,请参见 Cron 文档

如果需要更改设置:

  1. 在左上角,单击 ☰ > 全局设置
  2. 前往你需要配置的设置,并点击 ⋮ > 编辑设置

用户和组 - 图2备注

由于 SAML 不支持用户查找,因此基于 SAML 的身份验证提供程序不支持定期刷新用户信息。只有当用户登录到 Rancher UI 时,才会刷新用户信息。

手动刷新用户信息

如果你不确定 Rancher 上一次执行用户信息自动刷新的时间,则可以通过手动刷新来刷新所有用户的信息。

  1. 在左上角,单击 ☰ > 用户 & 认证
  2. 用户页面,单击刷新用户组成员名单

结果:Rancher 刷新了所有用户的信息。请求此刷新将更新哪些用户可以访问 Rancher 以及每个用户所属的所有组。

用户和组 - 图3备注

由于 SAML 不支持用户查找,因此基于 SAML 的身份验证提供程序不支持手动刷新用户信息。只有当用户登录到 Rancher UI 时,才会刷新用户信息。

会话周期

用户会话的默认生命周期(TTL)是可调的。默认的会话周期是 16 小时。

  1. 在左上角,单击 ☰ > 全局设置
  2. 前往 auth-user-session-ttl-minutes 并单击⋮ > 编辑设置
  3. 输入会话应该持续的时间(以分钟为单位),然后单击Save

结果:用户的 Rancher 登录会话在设定的分钟数后自动退出。