如果您的组织使用 G Suite 进行用户身份验证,您可以配置 Rancher 以允许您的用户使用他们的 G Suite 凭据登录。

只有 G Suite 域的管理员才能访问管理 SDK。因此,只有 G Suite 管理员可以配置 Rancher 的 Google OAuth。

在 Rancher 中,只有具有Manage Authentication 的管理员或用户才能配置身份验证。

  • 您必须拥有一个配置的G Suite 管理员帐户
  • G Suite 需要一个作为授权域。获取 FQDN 的一种方法是在 Route53 中为 Rancher Server 创建 A 记录。您不需要使用该记录更新 Rancher Server 的 URL 设置,因为可能有集群使用该 URL。
  • 您的 G Suite 域必须启用了 Admin SDK API。您可以使用此页中的步骤来启用它。

启用 Admin SDK API 后,您的 G Suite 域的 API 页面应如下图所示:

在 Rancher 系统中设置 Google OAuth 之前,您需要登录到您的 G Suite 帐户,完成以下设置:

  1. 点击这里转到您的 Google 域的凭证页面。
  2. 选择您的项目并点击OAuth consent screen.
  3. 进入授权域,并在列表中输入您的 Rancher Server URL 的顶级私有域。顶级私有域是最右边的超级域。例如,www.foo.co.uk 是 foo.co.uk 的顶级私有域。有关顶级域的更多信息,请参考。
  4. 进入Scopes for Google APIs,确保email, profileopenid被启用。
  1. 转到 Google API 控制台,选择您的项目,并转到credentials页面。
  2. 单击Web 应用程序
  3. 输入一个名称。
  4. 填写授权的 JavaScript 源授权的重定向 URI。注意:设置 Google OAuth 的 Rancher UI 页面(可在Security > Authentication >Google下的全局视图中获得)为您提供了这一步要输入的准确链接。
  • 授权的 JavaScript 源一栏,输入您的 Rancher Server 的 URL。
  • 授权的重定向 URI一栏,输入您的 Rancher Server 的 URL 并附加路径。例如,如果您的 URI 是,您需要输入。
  1. 点击创建
  2. 创建凭据之后,您将看到一个页面,其中显示您的凭据列表。选择刚刚创建的凭据,然后在最右边的行中单击下载 JSON保存文件,以便您可以在 Rancher 中设置这些凭据。

结果: 您的 OAuth 凭据已成功创建。

由于 Google 管理 SDK 只对管理员可用,普通用户不能使用它来检索其他用户或其组的配置文件。普通用户甚至不能检索他们自己的组。

由于 Rancher 提供基于组的成员访问,我们要求用户能够获得自己的组,并在需要时查找其他用户和组。

作为获得此功能的一种变通方法,G Suite 建议创建一个服务帐户,并将您的 G Suite 域的权限委托给该服务帐户。

本节介绍如何:

  • 创建一个服务帐户
  • 为服务帐户创建一个密钥并下载 JSON 格式的凭据
  1. 单击此处并选择生成 OAuth 凭据的项目。
  2. 点击Create Service Account
  3. 输入名称并单击Create
  4. 不要在Service account permissions页面设置任何角色,点击Continue
  5. 单击Create Key并选择 JSON 选项。下载 JSON 文件并保存它,以便您可以将其作为服务帐户凭据提供给 Rancher。

您需要为在最后一步中创建的服务帐户授予一些权限。Rancher 仅要求为用户和组授予只读权限。

使用服务帐户密钥的唯一 ID,按照以下步骤将其注册为 Oauth 客户端:

  1. 进入页。
  2. Client Name字段中添加上一步中获得的唯一 ID。
  3. One or More API Scopes字段中,添加以下作用域:

  4. 点击Authorize

  1. 使用分配了administrator角色的本地用户登录到 Rancher。这个用户也称为本地主体。
  2. 全局视图中,从主菜单中单击安全 > 认证
  3. 点击Google ,UI 中的说明涵盖了使用 Google OAuth 设置身份验证的步骤。
  • 管理电子邮件:从您的 GSuite 设置中提供管理员账户的电子邮件。为了执行用户和组查找,谷歌 api 需要管理员的电子邮件和服务帐户密钥。
  • 域:提供配置了 G Suite 的域。请提供准确的域,而不是任何别名。
  • 嵌套组成员关系:选中此框以启用嵌套组成员关系。Rancher 管理员可以在配置认证后的任何时候禁用它。
  • 第一步是关于将 Rancher 添加为授权域,我们已经在中讨论过了。
  • 第二步提供您完成本节后下载的 OAuth 凭证 JSON ,您可以上传文件或将内容粘贴到OAuth 凭证字段。
  • 第三步提供在的末尾下载的服务帐户凭据 JSON。仅当您成功按照将服务帐户密钥注册为 OAuth 客户端步骤将其注册为 G Suite OAuth 客户端时,凭证才能正常工作。
  1. 单击使用 Googler 认证

结果: Google 认证配置成功。