|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
配置 Google OAuth
如果您的组织使用 G Suite 进行用户身份验证,您可以配置 Rancher 以允许用户使用其 G Suite 凭据登录。
只有 G Suite 域的管理员可以访问 Admin SDK。因此,只有 G Suite 管理员可以为 Rancher 配置 Google OAuth。
在 Rancher 中,只有具有 管理身份验证 全局角色 的管理员或用户可以配置身份验证。
先决条件
-
您必须配置一个 G Suite 管理员账户。
-
G Suite 需要一个 顶级私有域 FQDN 作为授权域。获取 FQDN 的一种方法是在 Route53 中为您的 Rancher 服务器创建 A 记录。您不需要使用该记录更新 Rancher 服务器 URL 设置,因为可能有集群正在使用该 URL。
-
您必须为您的 G Suite 域启用 Admin SDK API。您可以按照 此页面上的步骤 启用它。
启用 Admin SDK API 后,您的 G Suite 域的 API 屏幕应如下所示:
为 Rancher 设置 G Suite 的 OAuth
在您可以在 Rancher 中设置 Google OAuth 之前,您需要登录到您的 G Suite 账户并执行以下操作:
2.为 Rancher 服务器创建 OAuth2 凭证
-
前往 Google API 控制台,选择您的项目,然后访问 凭证页面。
-
在 创建凭证 下拉菜单中,选择 OAuth 客户端 ID。
-
点击 Web 应用程序。
-
提供一个名称。
-
填写 授权的 JavaScript 来源 和 授权的重定向 URI。注意:Rancher UI 页面用于设置 Google OAuth(可在全局视图下的 中访问)为您提供了此步骤所需的确切链接。
-
在 授权的 JavaScript 来源, 中输入您的 Rancher 服务器 URL。
-
在 授权的重定向 URI, 中输入您的 Rancher 服务器 URL,并附加路径
verify-auth。例如,如果您的 URI 是https://rancherServer,您将输入https://rancherServer/verify-auth。
-
-
点击 Create。
-
凭证创建后,您将看到一个包含您凭证列表的屏幕。选择您刚刚创建的凭证,在最右侧的那一行中,点击 Download JSON。保存该文件,以便您可以将这些凭证提供给 Rancher。
*结果:*您的 OAuth 凭证已成功创建。
3.创建服务帐户凭证
由于 Google Admin SDK 仅对管理员可用,普通用户无法使用它来检索其他用户或其组的资料。普通用户甚至无法检索自己的组。
由于 Rancher 提供基于组的成员访问,我们要求用户能够获取自己的组,并在需要时查找其他用户和组。
作为获取此功能的变通方法,G Suite 建议创建一个服务帐户,并将您的 G Suite 域的权限委托给该服务帐户。
本节介绍如何执行下列操作:
-
创建服务帐户
-
为服务帐户创建一个密钥,并将凭证下载为 JSON
-
点击 here 并选择您生成 OAuth 凭证的项目。
-
点击 Create Service Account。
-
输入名称并点击 Create。
-
在 服务帐户权限 页面上不要提供任何角色,然后点击 继续。
-
点击 Create Key 并选择 JSON 选项。下载 JSON 文件并保存,以便将其作为服务帐户凭据提供给 Rancher。
-
*结果:*您的服务帐户已创建。
4.将服务帐户密钥注册为 OAuth 客户端
您需要为上一步中创建的服务帐户授予一些权限。Rancher 要求您仅为用户和组授予只读权限。
使用服务帐户密钥的唯一 ID,按照以下步骤将其注册为 OAuth 客户端:
-
获取您刚刚创建的密钥的唯一 ID。如果它没有显示在您创建的密钥旁边的密钥列表中,您需要启用它。要启用它,请单击 唯一 ID 并单击 确定。这将向服务帐户密钥列表中添加一个 唯一 ID 列。保存为您创建的服务帐户所列出的那一项。注意:这是一个数字密钥,不要与字母数字字段 密钥 ID 混淆。
-
转到 域范围委派 页面。
-
在 客户端名称 字段中添加在上一步中获得的唯一 ID。
-
在 一个或多个 API 范围 字段中,添加以下范围:
openid,profile,email,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly
-
单击 授权。
*结果:*服务帐户已在您的 G Suite 帐户中注册为 OAuth 客户端。
在 Rancher 中配置 Google OAuth
-
使用分配了 管理员 角色的本地用户登录 Rancher。该用户也称为本地主体。
-
在左上角,点击 ☰ > 用户与身份验证。
-
在左侧导航菜单中,点击 身份验证提供者。
-
单击 Google。用户界面中的说明涵盖了使用 Google OAuth 设置身份验证的步骤。
-
管理员电子邮件:提供您 GSuite 设置中管理员帐户的电子邮件。为了执行用户和组查找,Google API 需要管理员的电子邮件以及服务帐户密钥。
-
域:提供您已配置 GSuite 的域名。提供确切的域名,而不是任何别名。
-
嵌套组成员资格:选中此框以启用嵌套组成员资格。Rancher 管理员可以在配置身份验证后随时禁用此功能。
-
-
单击 使用 Google 进行身份验证。
-
单击 启用。
*结果:*Google 身份验证已成功配置。