管理员设置 - Google 身份验证

管理菜单的身份验证部分,通过 Google 身份验证页面,您可以在 Looker 端设置 Google OAuth。

功能概览

如果需要,Looker 可以通过 Google OAuth 为已在 Google Workspace 中注册帐号的用户执行身份验证。

  • 使用 Google Workspace 的组织可以通过 Google 帐号对 Looker 用户进行身份验证。
  • 用户使用自己的 Google 帐号进行身份验证即可登录 Looker。
  • 新的 Google 帐号会自动获得对 Looker 的访问权限。无需单独邀请用户加入 Looker。您可以为新用户设置默认角色,限制其对功能和数据的访问。
  • 启用后,Looker 对用户使用 Google OAuth 进行身份验证,除非选择了“备用登录”选项(请参阅下文中的进一步说明)。
  • 用户的 Google 头像(而非标准用户符号)会显示在导航栏中。

以下行为可能会影响您决定使用 Google OAuth:

  • 启用 Google OAuth 后,Looker 实例可以将现有的用户帐号与 Google 注册的网域合并,但仅适用于电子邮件地址与该网域匹配的帐号。所有其他非管理员帐号都将无法登录。
  • 指定网域中的所有用户都可以访问 Looker 实例。
  • 新 Google 用户的默认权限是指定模型列表的基本访问权限(也可以视需要访问零模型)。创建帐号后,管理员可以更新权限。
  • 通过 Google OAuth 进行身份验证的新 Looker 帐号无法切换到密码身份验证(即使针对 Looker 实例停用了 OAuth)。

初步要求

使用 Google OAuth 需要满足以下要求:

  • 组织的 Google Workspace 帐号。
  • 由组织控制并注册到 Google Workspace 帐号的网域。
  • 电子邮件地址与此 Google 帐号相关联的网域中的用户。
  • 每位用户都必须在 Google Workspace 中拥有受管理的用户帐号。如要查找并迁移拥有非受管用户帐号的任何用户,请使用非受管用户转移工具

使用 Google OAuth 进行身份验证

要启用使用 Google OAuth 的身份验证,需要管理员在 Google 和 Looker 端都执行相关步骤,如以下部分所述。

在 Google 端进行设置

下文介绍了在 Google 端启用 Google OAuth 的步骤。如需了解关于这些步骤的一般说明,请参阅设置 OAuth 2.0 的 Google 支持页面。您可以在 Google Cloud 控制台帮助页面找到 Google 开发者控制台上的文档。

  1. 前往 Google Cloud 控制台

  2. 点击选择项目下拉菜单中的向下箭头。您可能会在下拉菜单中看到现有项目的名称;无论如何点击向下箭头,您都会看到用于创建新项目的选项。

  3. 选择项目页面中,点击新建项目

    Google 会显示 New Project 页面。

  4. 填写 New Project 页面上的信息,然后点击 Create

    Google 创建新项目后,会返回 Google Cloud 控制台并显示新项目。

  5. 在左侧菜单中,依次选择 API 和服务 > 凭据

  6. 凭据页面上,点击创建凭据按钮,然后从下拉菜单中选择 OAuth 客户端 ID

    Google 会显示创建 OAuth 客户端 ID 页面。

  7. Google 会要求您配置 OAuth 同意屏幕,以便用户选择您的访问权限以访问其私人数据,并提供指向贵组织的服务条款和隐私权政策的链接。点击配置同意屏幕。(如果您已为上一个项目配置了 OAuth 同意情况,则您将看不到此选项,您可以跳至第 13 步。)

    Google 会显示 OAuth 同意屏幕页面。

  8. 已获授权的网域字段中输入您的 Looker 实例的网域。例如,如果 Looker 在 https://mycompany.looker.com 处托管实例,则网域为 looker.com。对于客户托管的 Looker 部署,请输入您托管 Looker 的网域。

  9. 配置您的 OAuth 权限请求页面,然后点击保存并继续

    有关配置 Google OAuth 同意屏幕的信息,请参阅设置 OAuth 2.0 Google 支持页面。

  10. 范围页面上,点击保存并继续。无需进行额外的范围配置。

  11. 摘要页面上,点击返回信息中心

    Google 会返回创建 OAuth 客户端 ID 页面。

  12. 应用类型下,选择网页应用

  13. 名称字段中,输入 OAuth 客户端 ID 的名称。

  14. 已获授权的 JavaScript 来源字段中,输入 Looker 实例(包括 https://)的网址。例如:

    • 如果 Looker 托管您的实例:https://mycompany.looker.com
    • 如果您拥有客户托管的 Looker 实例:https://looker.mycompany.com
    • 如果您的 Looker 实例需要端口号:https://looker.mycompany.com:9999
  15. 已获授权的重定向 URI 字段中,输入 Looker 实例的网址,后跟 /oauth2callback。例如:https://mycompany.looker.com/oauth2callbackhttps://looker.mycompany.com:9999/oauth2callback

  16. 点击创建

  17. 复制您的客户端 ID客户端密钥值 - 您需要用它们来配置 Looker。

在 Looker 端进行设置

在 Looker 端启用 Google OAuth 的步骤如下。

  1. 以管理员身份登录时,从 Looker 应用点击管理下拉菜单以打开管理菜单。

  2. 身份验证组中,点击 Google。Looker 会显示 Google 身份验证页面。

  3. 点击启用以显示并修改 Google OAuth 设置。(这不会立即启用 Google 身份验证;您稍后必须确认您的选择)。

  4. 输入您的 Google Auth 设置

    • 客户端 ID 和客户端密钥 - 按照 Google 设置说明中所述,从 Google OAuth 客户端页面复制并粘贴这些值。
    • 域名 - 由 Google 管理的域名。指定网域中的任何 Google 用户都可以登录您的 Looker 实例。如果您控制着多个 Google 网域,可输入各个网域(用英文逗号分隔)。

    警告:请仅输入由贵组织控制的 Google 网域。如果您输入任何其他网域,系统可能会开放网域以外的用户的访问权限。

  5. 输入迁移选项,用于控制 Looker 实例在转换为 Google OAuth 期间的行为。

    • 管理员的备用登录 - 可让管理员继续使用电子邮件地址和密码登录,以防在设置 Google OAuth 时出现问题。建议启用此设置,详见下文
    • 通过电子邮件合并 - 凡是给定网域中已有电子邮件地址的用户,在下次登录时改为使用 Google OAuth。建议选择此设置。
    • 新用户的角色 - 指定新的非管理员用户拥有的功能和模型访问权限。此列表可在以后更新。如果留空,则通过 Google 身份验证的新用户在 Looker 平台内的功能将受到限制,直到管理员为自己的帐号添加角色为止。由于您的 Google 网域中的所有用户都可以登录 Looker,因此请考虑为新用户指定默认角色,用以适当限制访问权限。
  6. 点击 Test Google Authentication(测试 Google 身份验证)以使用当前设置,然后尝试在新窗口中对当前浏览器进行身份验证。此操作不会保存当前设置,也不会将这些设置应用于 Looker 实例。

    如果您未登录 Google,系统会提示您登录并请求您同意使用您的 Google 帐号信息。此流程使用的是您在 Google 端设置中使用的自定义同意屏幕设置。

    成功后,系统会显示用户信息部分,其中包含您的姓名、电子邮件地址、域名等。此用户信息部分显示该用户将成功通过 Looker 身份验证。

    失败后,系统会显示错误说明。以下是一些常见问题:

    • 客户端 ID 或客户端密钥有问题。这些内容必须经过完整复制和粘贴。
    • 用户不在网域内。如果您看到个人信息部分,但没有看到用户信息,则可能是因为该用户不在您指定的网域中。这表示该用户向 Google 正确地进行了身份验证,但他们并未使用您选择允许访问 Looker 实例的 Google 帐号。
    • 未在 Looker 中为 Looker 正确设置 Looker 网址和/或重定向网址。
  7. 如需保存并应用更改,请勾选我已确认上述配置,并且希望启用全局配置。点击更新

启用 Google 身份验证后,用户只能通过 Google OAuth 进行身份验证。如果您没有为现有帐号启用通过电子邮件合并设置,则每次通过 Google 身份验证的新登录都会创建新的 Looker 用户。现有的电子邮件地址/密码登录方式不能与启用 Google 身份验证功能的同时使用。

提示

  • 如要尝试完整的身份验证周期,您可以退出 Google,然后您会看到 Google 会在您尝试登录 Looker 时提示您再次登录。

  • 在 Google 中,您可以点击个人下拉菜单中的帐号(位于 Google Workspace 页面右上角的电子邮件地址旁边),管理您的个人帐号。

    该管理页面包含一个帐号权限部分的安全标签页。点击应用和网站查看全部后,您(作为用户)就可查看和管理您已授权的服务和应用。

    点击您为了登录而授予的 Looker 权限,将显示用户在您上方自定义的同意画面中看到的详细信息。您也可以点击撤消访问权限,以便在您下次登录 Looker(或测试授权)时收到意见征求消息的提示。您可以根据此工作流程自定义意见征求屏幕并查看用户会看到的内容。

问题排查

  • 如果用户尝试登录失败,请先确保用户的 Google 帐号中既有名字又有姓氏。如果用户已从自己的 Google 帐号中删除自己的名字或姓氏,那么 Looker 可能无法使用 Google OAuth 来对用户进行身份验证。

  • 如果用户尝试登录失败,并且 Looker 显示了错误消息(例如 User not in the authorized domain),请检查 JSON 响应的 hd 字段。如果 hd 字段包含域名,请确保该域名已注册到您的 Google Workspace 帐号。如果 hd 字段为空,请使用非受管用户转移工具邀请用户将其帐号转换为您网域中的受管理的帐号。

  • 如果用户尝试登录失败,但 Looker 没有显示错误消息,则表示用户可能修改了自己的 Google Workspace 帐号名称,并删除了其名字或姓氏。在这种情况下,Google Workspace 帐号名称可能在管理控制台中可能仍然会完整显示,但可能无法显示用户的修改。为防止出现此问题,Google Workspace 管理员可以停用允许用户自定义此设置选项。

在启用 Google Auth 的同时启用电子邮件登录

新的 Google 帐号会自动获得对 Looker 的访问权限,因此您无需添加您 Google 网域中的用户。

要通过不在您 Google 网域中的电子邮件地址添加用户,请按以下步骤操作:

  1. 启用 Google Auth 页面上的管理员和指定用户的备用登录选项
  2. 请修改现有用户角色,以添加 login_special_email 权限
  3. 在“用户”面板中转到添加用户 (/admin/users/new)
  4. 添加您要添加的电子邮件地址以及这些用户应拥有的角色,其中必须包含具有 login_special_email 权限的角色
  5. 现在,这些用户就可以通过 https://mycompany.looker.com/login/email(隐藏网址)登录了。

如要使用 Looker API 启用备用登录,请参阅启用备用登录选项文档页面。

在 Google Auth 启用后将其停用

如果您希望在 Looker 实例启用后就为其停用 Google 身份验证,您需要考虑以下事项:

  • 即使用户是在添加 Google Authentication 之前创建的,并且已经设置了常规的电子邮件地址和密码登录机制,也仍然可以正常使用。
  • 添加 Google 身份验证之后创建的用户将无法再登录。虽然他们的帐号仍然存在,但他们无法访问它们,并且其帐号实际上变成了孤立帐号。

因此,我们建议您目前避开这条路线。如果您必须沿着此路径前进,有一种方法可以使用 Looker API 修复孤立帐号。如需更多指导,请与 Looker 支持团队联系。