管理员设置 - Google 身份验证

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

功能概览

Looker 可以使用 Google OAuth 对在 Google Google Workspace 中注册了账号的用户执行身份验证。

  • 使用 Google 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 Google Workspace 账号的网域。
  • 用户在与 Google 账号关联的网域中拥有电子邮件地址。
  • 每位用户都必须在 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 Cloud

  4. 填写新建项目 页面上的信息,然后点击创建 。

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

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

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

    控制台会显示创建 OAuth 客户端 ID 页面。 Google Cloud

  7. 控制台要求您配置 OAuth 权限请求页面,以便用户选择如何授予对其私有数据的访问权限,并提供指向贵组织的服务条款和隐私权政策的链接。 Google Cloud 点击配置权限请求页面 。(如果您已为之前的项目配置了 OAuth 权限请求,则不会看到此选项,您可以跳到第 13 步。)

    控制台会显示 OAuth 权限请求页面 。 Google Cloud

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

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

  10. 在范围 页面上,点击保存并继续 。无需进行其他范围配置。

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

    控制台会将您返回到创建 OAuth 客户端 ID 页面。 Google Cloud

  12. 在应用类型 下,选择Web 应用 。

  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/oauth2callback 或 https://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 OAuth 客户端 页面中的这些值,如之前的 Google 设置说明中所述。
    • 网域 - 贵组织的 Google 管理的域名。给定网域中的任何 Google 用户都可以登录您的 Looker 实例。如果您控制多个 Google 网域,则可以输入这些网域,并用英文逗号分隔。
  5. 输入迁移选项,以控制 Looker 实例在过渡到 Google OAuth 期间的行为。

    • 管理员的备用登录方式 - 让管理员继续使用电子邮件地址和密码登录。此设置启用了一种关键的后备方法,以防止在 Google Cloud 托管 Looker OAuth 客户端的项目被删除或停用(即使在项目恢复后也可能导致 401 deleted_client 错误),或者 Google OAuth 因其他原因失败时完全锁定。强烈建议您使用此设置,如需了解详情,请参阅在启用 Google 身份验证的情况下启用电子邮件地址登录。
    • 按电子邮件地址合并 - 将给定网域中具有电子邮件地址的所有现有用户转换为在下次登录时使用 Google OAuth。建议使用此设置。
    • 新用户的角色 - 指定新的非管理员用户拥有的功能和模型访问权限。此列表可以稍后更新。如果留空,则通过 Google 身份验证的新用户在管理员向其账号添加角色之前,在 Looker 平台内的功能将受到限制。由于 Google 网域中的所有用户都将能够登录 Looker,因此请考虑为新用户指定默认角色,以适当限制访问权限。
  6. 点击测试 Google 身份验证 以使用当前设置,并尝试在新窗口中对当前浏览器进行身份验证。此操作不会 保存当前设置,也不会将其应用于 Looker 实例。

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

    成功后,系统会显示用户信息 部分,其中包含您的姓名、电子邮件地址和网域。此用户信息 部分的存在表明 Looker 会成功对该用户进行身份验证。

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

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

提示

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

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

    在该管理页面上,有一个安全性 标签页,其中包含账号权限 部分。点击应用和网站 查看全部 可让您(作为用户)查看和管理您已授予权限的服务和应用。

    点击您为登录而授予的 Looker 权限会显示用户在您之前自定义的权限请求页面中看到的详细信息。您还可以点击撤消访问权限 ,以便在下次登录 Looker(或测试授权)时,系统会重新提示您显示权限请求页面。您可以使用此工作流来帮助您自定义权限请求页面,并查看用户将看到的内容。

问题排查

如需帮助排查身份验证问题,请查看系统活动中的用户活动信息中心。此信息中心包含显示近期登录失败的图块,并包含所用的身份验证方法、返回的错误消息以及尝试时间。

  • 如果用户尝试登录失败,请先确保用户在其 Google 账号中同时拥有名字和姓氏。如果用户已从其 Google 账号中删除了名字或姓氏,Looker 可能无法使用 Google OAuth 对用户进行身份验证。

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

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

  • 如果 Google 身份验证返回 401 deleted_client 错误,则此错误表示托管 Looker OAuth 客户端的项目已被删除或停用。 Google Cloud 即使项目随后恢复,OAuth 客户端也可能会继续失败并显示 deleted_client 错误,从而导致所有用户完全无法登录。 Google Cloud 如果 Google 身份验证是唯一启用的身份验证方法,则此锁定会阻止管理员访问。

    为防止在 OAuth 客户端被删除或失败时完全锁定,您必须启用管理员的备用登录方式 设置。此设置可确保管理员拥有后备登录方法来访问 Looker 实例并更新身份验证设置。

在启用 Google 身份验证的情况下启用电子邮件地址登录

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

如需添加电子邮件地址不在 Google 网域中的用户,请执行以下操作:

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

在启用 Google 身份验证后将其停用

如果您想在启用 Google 身份验证后将其停用,请考虑以下事项:

  • 在添加 Google 身份验证之前创建的用户,并且已设置正常的电子邮件地址登录和密码,仍将正常运行。
  • 在添加 Google 身份验证之后创建的用户将无法再登录。 虽然他们的账号仍然存在,但他们无法访问这些账号,并且他们的账号实际上已成为孤立账号。

因此,我们建议您避免采用此方法。如果您必须采用此方法,则可以使用 Looker API 修复孤立账号。如需更多指导,请与 Looker 支持团队联系。