|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
配置认证
Rancher为Kubernetes添加的关键功能之一是集中用户身份验证。此功能允许您的用户使用一组凭据在任何Kubernetes集群中进行身份验证。
此集中式用户认证是通过与Rancher其他部分一起安装的Rancher认证代理完成的。此代理对您的用户进行身份验证,并使用服务帐户将其请求转发到您的Kubernetes集群。
|
用于启用外部提供程序的帐户将被授予管理员权限。如果您使用测试帐户或非管理员帐户,该帐户仍将被授予管理员级别的权限。请参见外部认证配置和主体用户以了解原因。 |
外部与。本地鉴定
Rancher 认证代理与以下外部认证服务集成。
| 认证服务 |
|---|
然而,Rancher 也提供 本地认证。
在大多数情况下,您应该使用外部认证服务而不是本地认证,因为外部认证允许从中心位置进行用户管理。然而,在极少数情况下,您可能希望有一些本地认证用户来管理 Rancher,例如当您的外部认证提供者不可用或正在维护时。
Rancher 授权范围
在您配置 Rancher 以允许使用外部认证服务登录后,您应该配置谁可以登录并使用 Rancher。下列选项可用:
| 访问级别 | 说明 |
|---|---|
允许任何有效用户 |
任何 授权服务中的用户都可以访问 Rancher。我们通常不鼓励使用此设置! |
允许集群、项目的成员以及授权用户和组织 |
授权服务中的任何用户以及作为 集群成员 或 项目成员 添加的任何组都可以登录 Rancher。此外,您添加到 授权用户和组织 列表中的任何认证服务中的用户或组也可以登录 Rancher。 |
将访问权限仅限于授权用户和组织 |
只有认证服务中的用户或添加到授权用户和组织的组才能登录 Rancher。 |
|
只有受信任的管理员级别用户才能访问本地群集,该群集管理 Rancher 实例中的所有其他集群。Rancher 直接安装在本地群集上,Rancher 的管理功能允许本地群集上的管理员配置、修改、连接和查看下游集群的详细信息。由于本地群集是 Rancher 实例架构的关键,不当访问会带来安全风险。 |
要为授权服务中的用户设置 Rancher 访问级别,请按照以下步骤操作:
-
在左上角,点击*☰ > 用户与身份验证*。
-
在左侧导航栏中,点击 身份验证提供者。
-
在设置认证提供者的配置详细信息后,使用 站点访问 选项配置用户授权的范围。上表解释了每个选项的访问级别。
-
可选:如果您选择的选项不是 允许任何有效用户,,您可以通过在出现的文本字段中搜索将用户添加到授权用户和组织的列表中。
-
单击 保存。
*结果:*Rancher 访问配置设置已应用。
|
SAML提供者注意事项
|
外部认证配置和主体用户
配置外部认证需要:
-
本地用户被分配为管理员角色,以下简称为_本地主体_。
-
可以通过您的外部认证服务进行身份验证的外部用户,以下简称为_外部主体_。
外部认证的配置也会影响Rancher中主体用户的管理。具体来说,当用户账户启用外部提供者时,将授予管理员级别的权限。这是因为本地主体和外部主体共享相同的用户ID和访问权限。
以下说明演示了这些影响:
-
以本地主体身份登录Rancher并完成外部认证的配置。
-
Rancher将外部主体与本地主体关联。这两个用户共享本地主体的用户ID。
-
完成配置后,Rancher会自动注销本地主体。
-
然后,Rancher会自动以外部主体身份重新登录您。
-
由于外部主体和本地主体共享一个ID,用户页面上不会显示外部主体的唯一对象。
-
外部主体和本地主体共享相同的访问权限。
|
重新配置先前设置的认证提供者
如果您需要重新配置或禁用然后重新启用之前设置的认证提供者,请确保尝试这样做的用户以外部用户身份登录Rancher,而不是本地管理员。 |
禁用认证提供者
当您禁用身份验证提供者时,Rancher 会删除与其相关的所有资源,例如:
-
机密。
-
全局角色绑定。
-
集群角色模板绑定。
-
项目角色模板绑定。
-
与该提供者相关的外部用户,但从未以本地用户身份登录 Rancher。
由于此操作可能导致许多资源的丢失,您可能希望在提供者上添加一个保护措施。为了确保在禁用身份验证提供者时不会运行此清理过程,请在相应的身份验证配置上添加特殊注释。
例如,要为 Azure AD 提供者添加保护措施,请注释 azuread authconfig 对象:
kubectl annotate --overwrite authconfig azuread management.cattle.io/auth-provider-cleanup='user-locked'
在您将注释设置为 unlocked 之前,Rancher 不会执行清理。