Skip to main content

访问控制

什么是访问控制?#

访问控制是用来控制哪些用户可以访问您的 Rancher 服务。在默认情况下,Rancher 没有启用访问控制。这意味着知道您的 Rancher 服务 IP 的人都可以访问您的 Rancher 服务和 API。您的 Rancher 服务是对外开放的!我们强烈建议您在启动 Rancher 后立即配置访问控制,这样您可以按照需要分享您的 Rancher 服务。用户在访问您的 Rancher 服务之前,需要进行身份认证。同时,只有拥有合法的 API 密钥才能使用 Rancher API。

Rancher 认证的第一个账户将成为 管理员 账户。 想要获取有关详细信息,请参阅 管理员权限

启用访问控制#

系统管理 选项卡中, 单击访问控制

在您配置了 Rancher 的访问控制后,访问控制将被启用。访问控制使您能够管理不同的环境并把它们分享给不同的个人或团队。

当访问控制启用后,Rancher API 将被锁定。这时需要用户进行身份认证, 或者使用 API 密钥来访问它。

活动目录#

选择活动目录图标。 如果您想要通过 TLS 来使用活动目录,请确保您已经使用了相应的证书来启动 Rancher Server。填写相关信息后,通过单击身份认证进行认证校验。 当活动目录认证成功后,您将自动以已认证的用户名身份登录。并且把您的账号设置为了管理员权限。

用户搜索基址与用户组搜索基址#

在配置活动目录时,您将需要输入用户的搜索基址。 此搜索基址允许 Rancher 搜索在活动目录中已设置的用户。如果您的用户和用户组位于相同的搜索基址中,那么您仅仅需要填写用户的搜索基址,但是如果您的用户组在不同的搜索基址,您可以把该搜索基址填写在用户组搜索基址字段下。 此字段专用于用户组搜索,该项是可选的。

Azure AD#

选择Azure AD图标。 填写相应信息并单击Azure 认证进行认证校验。 当认证成功后,您将自动以已认证的用户名身份登录。并且把您的账号设置为了管理员权限。

GitHub#

选择GitHub图标,并按照用户界面中的说明将 Rancher 注册为 GitHub 应用程序。 单击使用 GitHub 进行身份认证后,当认证成功后,您将自动以已认证的 Github 账号登录。并且把您的账号设置为了管理员权限。

本地身份认证#

本地身份认证允许您创建自己的一组账户,这些账户存储在 Rancher 数据库中。

选择本地图标。 通过提供登录用户名全名密码来创建管理员用户。 单击启用本地认证来启用本地身份认证。 通过单击此按钮,管理员用户将被创建并保存在数据库中。这时您将自动用刚刚创建的管理员帐户登录到 Rancher 服务。

OpenLDAP#

填写对应信息后,通过单击身份认证进行认证校验。当 OpenLDAP 认证成功后,您将自动以已认证的用户名身份登录。并且把您的账号设置为了管理员权限。

用户搜索基址与用户组搜索基址#

在配置活动目录时,您将需要输入用户的搜索基址。 此搜索基址允许 Rancher 搜索在活动目录中已设置的用户。如果您的用户和用户组位于相同的搜索基址中,那么您仅仅需要填写用户的搜索基址,但是如果您的用户组在不同的搜索基址,您可以把该搜索基址填写在用户组搜索基址字段下。 此字段专用于用户组搜索,该项是可选的。

Shibboleth#

选择Shibboleth图标。 填写 Shibboleth 帐户的配置信息,单击保存保存信息,然后单击测试来测试访问控制是否正常工作。

在使用 Shibboleth 时,您应该注意一些已知的问题。

  • 不支持搜索或查找功能。 在添加用户时,请确保输入的用户 ID 是准确的,这样才能保证用户被添加成功。
  • 当添加用户到一个环境时, 不支持组 ID,除非管理员是该组的成员之一。

站点访问#

根据您的身份认证类型,Rancher 提供不同级别的站点访问。

活动目录/GitHub/Shibboleth#

如果您已通过 AD 或 GitHub 进行身份认证,则将有 3 个选项可用。

  • 允许任何合法用户 - GitHub 或活动目录中的任何用户都可以访问您的 Rancher 服务。 不推荐将此设置用于 GitHub,因为它将使 GitHub 中的任何用户都可以访问 Rancher 服务。
  • 允许环境成员和已授权用户和组织 - 一个环境的成员用户或拥有者用户和添加到已授权用户和用户组的用户一样,都有权限访问 Rancher 服务。
  • 限制访问只有已授权用户和用户组可以访问 - 只有添加到已授权用户和用户组的用户才能访问 Rancher 服务。 即使用户已被添加到环境中,如果没有被添加到已授权用户和用户组,他们将仍然无法访问 Rancher 服务。

任何具有 Rancher 服务访问权限的人都将被授予 用户权限。他们将无法查看系统管理页面。 如果想要他们查看,您将需要明确地将其帐户更改为管理员帐户

为了让用户查看不同的环境, 他们将需要被环境的所有者添加到环境中。

Azure AD/OpenLDAP#

对于 Azure AD 和 OpenLDAP,您的设置中的任何用户都可以访问 Rancher 站点。

本地身份认证#

启用本地身份认证后,管理员可以通过访问系统管理> 账号设置选项卡来创建其他管理员/用户。 单击添加账号并填写您要添加的帐户的详细信息。 您可以选择其帐户类型为管理员用户。 管理员可以查看系统管理页面,普通用户无法看到该页面。

一旦帐户被创建后,该账户可以被添加到任何环境中。

账户类型#

帐户类型决定帐户是否可以访问系统管理页面。对于 Rancher 中的每个环境,可以设置不同级别的成员角色来对特定环境进行访问。

管理员#

认证 Rancher 的第一个用户成为 Rancher 的管理员。 只有管理员才有权限查看系统管理页面

在管理环境时,管理员可以查看 Rancher 中的所有环境, 即使管理员没有被加入到该环境的成员中。 在非管理员的环境下拉菜单中,用户只能看到他们所在的环境。

管理员可以将其他用户添加为 Rancher 管理员。 在用户登录 Rancher 后,他们可以在 系统管理 > 账号设置页面上更改用户角色。 在系统管理> 账号设置帐户标签中,单击帐户名称旁边的编辑,并将帐户类型更改为管理员。 单击保存

用户#

除了用来启用 Rancher 认证的用户外,任何其他用户都将自动拥有用户权限。 他们将无法看到系统管理页面

他们只能看到他们所在的环境。

禁用访问控制#

如果您决定不再需要访问控制,请单击禁用访问控制按钮。 这将使您的 Rancher 服务向公众开放,任何人都可以访问您的 API。 这是不推荐的。

配置会话超时#

默认情况下,会话在其创建后 16 小时到期。 如果您觉得时间太长,可以更新会话到期时间。

  1. 单击系统管理 -> 系统设置 -> 高级设置, 单击 我确认已经知道修改高级设置可能导致问题
  2. 找到 api.auth.jwt.token.expiry设置,然后单击修改按钮。
  3. 更新超时会话值后,然后单击保存按钮。 值以毫秒为单位。

限制并发登陆#

从 v1.6.3 版开始支持

在默认情况下,用户可以同时在线。您可以通过 API 来禁用同时在线的功能。 api.auth.restrict.concurrent.sessions.

  1. 找到系统管理 -> 系统设置 -> 高级选项, 单击 我确认已经知道修改高级设置可能导致问题.
  2. 找到api.auth.restrict.concurrent.sessions设置,然后单击修改按钮。
  3. 将值设置为true,然后单击保存

一旦该设置生效,在用户下次登陆的时候,之前的登陆口令将会被删除。这样,之前登陆的用户将会被登出。

Last updated on by yzeng25