管理员设置 - Google 身份验证

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

功能概览

Looker 可以使用 Google OAuth 为拥有 Google Workspace 注册账号的用户执行身份验证。

  • 使用 Google Workspace 的组织可以对拥有 Google 帐号的 Looker 用户进行身份验证。
  • 用户通过使用 Google 账号进行身份验证来登录 Looker。
  • 新的 Google 帐号会自动获得对 Looker 的访问权限。无需单独邀请用户使用 Looker。您可以为新用户设置默认角色,从而限制这些用户对功能和数据的访问。
  • 启用后,Looker 只会使用 Google OAuth 对用户进行身份验证,除非选择“备用登录”选项(请参阅在启用 Google 身份验证的情况下启用电子邮件登录这一部分)。
  • 用户的 Google 头像(而非标准用户符号)显示在导航栏中。
  • 启用 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 的步骤。有关这些步骤的一般说明,请参阅 Google 支持页面上的设置 OAuth 2.0。您还可以参阅 Google Cloud 控制台帮助文档。

  1. 前往 Google Cloud 控制台

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

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

    此时,Google 会显示新建项目页面。

  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 同意屏幕,然后点击 Save and Continue(保存并继续)。

  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 身份验证设置

    • 客户端 ID 和客户端密钥 - 按照之前的 Google 设置说明中所述,从 Google OAuth 客户端页面复制并粘贴这些值。
    • 网域 - 贵组织的 Google 管理的域名。指定网域中的任何 Google 用户都可以登录您的 Looker 实例。如果您控制着多个 Google 网域,可以输入各个网域并用英文逗号分隔。
  5. 输入 Migration Options(迁移选项),用于控制 Looker 实例在转换为 Google OAuth 期间的行为。

    • 管理员的备用登录信息 - 可让管理员继续使用电子邮件地址和密码登录。如果遇到 Google OAuth 设置问题,这是一种非常实用的备用方法。我们建议您使用此设置,在启用 Google Auth 的情况下启用电子邮件登录一文对此进行了详细说明。
    • 通过电子邮件合并 - 让拥有指定网域电子邮件地址的任何现有用户在下次登录时改用 Google OAuth。建议采用此设置。
    • 新用户的角色 - 指定新的非管理员用户拥有的功能和模型访问权限。您可以稍后更新此列表。如果留空,通过 Google 身份验证的新用户在 Looker 平台中只能使用有限的功能,直到管理员为其账号添加角色为止。由于 Google 网域中的所有用户都能登录 Looker,因此请考虑为新用户指定默认角色,适当限制访问权限。
  6. 点击测试 Google 身份验证以使用当前设置,并尝试在新窗口中对当前浏览器进行身份验证。此操作不会保存当前设置,也不会将它们应用于 Looker 实例。

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

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

    如果失败,系统会显示错误说明。一些常见问题包括:

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

提示

  • 如需试用整个身份验证周期,您可以退出 Google,然后会看到当您尝试登录 Looker 时 Google 会提示您重新登录。

  • 在 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 身份验证的情况下启用电子邮件登录

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

如要添加用户,其电子邮件地址不属于您的 Google 网域,请执行以下操作:

  1. 在“Google 身份验证”页面上启用管理员和指定用户的备用登录信息选项
  2. 创建或修改现有用户角色,以添加 login_special_email 权限
  3. 从“用户”面板 (/admin/users/new) 进入添加用户
  4. 添加您要包含的电子邮件地址以及这些用户应拥有的角色,这些角色必须包含具有 login_special_email 权限的角色
  5. 这些用户现在可以使用 https://mycompany.looker.com/login/email(隐藏网址)登录

启用 Google Auth 后将其停用

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

  • 如果用户是在添加 Google 身份验证之前创建,并且已设置正常的电子邮件登录名和密码的用户,则仍可正常使用。
  • 在添加 Google 身份验证之后创建的用户将无法再登录。由于这些用户的帐号仍然存在,因此他们无法访问它们,并且他们的帐号实际上已成为孤立帐号。

因此,我们建议您避开此路线。如果您必须选择此路径,或许可以使用 Looker API 来修复孤立帐号。如需更多指导,请与 Looker 支持团队联系。