您可以在管理 菜单的身份验证 部分中找到 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 用户的权限默认为对指定模型列表的基本访问权限(也可以选择不访问任何模型)。账号创建后,管理员可以更新权限。
- 即使为 Looker 实例停用了 OAuth,使用 Google OAuth 进行身份验证的新 Looker 账号也无法切换到密码身份验证。
初步要求
使用 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 控制台帮助文档。
点击选择项目 下拉菜单中的向下箭头。您可能会在下拉菜单中看到现有项目的名称;无论如何,请点击向下箭头,系统会带您前往创建新项目的选项。
在选择项目 页面中,点击新建项目 。
Google 会显示新建项目 页面。
填写新建项目 页面上的信息,然后点击创建 。
Google 完成新项目的创建后,会将您返回到 Google Cloud 控制台并显示新项目。
在左侧菜单中,依次选择 API 和服务 > 凭据 。
在凭据 页面上,点击创建凭据 按钮,然后从下拉菜单中选择 OAuth 客户端 ID 。
Google 会显示创建 OAuth 客户端 ID 页面。
Google 要求您配置 OAuth 同意屏幕,以便用户选择如何授予对其私有数据的访问权限,并提供指向贵组织的服务条款和隐私权政策的链接。点击配置权限请求页面 。(如果您已为之前的项目配置 OAuth 权限请求,则不会看到此选项,您可以跳到第 13 步。)
Google 会显示 OAuth 权限请求页面 。
在已获授权的网域 字段中,输入 Looker 实例的网域。例如,如果 Looker 在
https://mycompany.looker.com中托管您的实例,则网域为looker.com。对于客户托管的 Looker 部署,请输入您在其中托管 Looker 的网域。配置 OAuth 权限请求页面,然后点击保存并继续 。
在范围 页面上,点击保存并继续 。无需进行其他范围配置。
在摘要 页面上,点击返回信息中心 。
Google 会将您返回到创建 OAuth 客户端 ID 页面。
在应用类型 下,选择Web 应用 。
在名称 字段中,输入 OAuth 客户端 ID 的名称。
在已获授权的 JavaScript 来源 字段中,输入 Looker 实例的网址,包括
https://。例如:- 如果 Looker 托管您的实例:
https://mycompany.looker.com - 如果您有客户托管的 Looker 实例:
https://looker.mycompany.com - 如果您的 Looker 实例需要端口号:
https://looker.mycompany.com:9999
- 如果 Looker 托管您的实例:
在已获授权的重定向 URI 字段中,输入 Looker 实例的网址,后跟
/oauth2callback。例如:https://mycompany.looker.com/oauth2callback或https://looker.mycompany.com:9999/oauth2callback。点击创建 。
复制您的客户端 ID 和客户端密钥 值,您需要使用这些值来配置 Looker。
在 Looker 端进行设置
如需在 Looker 端启用 Google OAuth,请按以下步骤操作。
在 Looker 应用中,以管理员身份登录后,点击管理 下拉菜单以打开管理 菜单。
在身份验证 群组下,点击 Google 。Looker 会显示 Google 身份验证 页面。
点击已启用 以显示和修改 Google OAuth 设置。(这不会立即启用 Google 身份验证;您必须稍后确认您的选择)。
输入您的 Google 身份验证设置 。
- 客户端 ID 和客户端密钥 - 从 Google OAuth 客户端 页面复制并粘贴这些值,如之前的 Google 设置说明中所述。
- 网域 - 贵组织的 Google 管理的域名。给定网域中的任何 Google 用户都可以登录您的 Looker 实例。如果您控制多个 Google 网域,则可以输入这些网域,并用英文逗号分隔。
输入迁移选项,这些选项控制 Looker 实例在过渡到 Google OAuth 期间的行为。
- 管理员的备用登录方式 - 让管理员继续使用电子邮件地址和密码登录,这在设置 Google OAuth 时出现问题时非常有用。建议使用此设置,如需了解详情,请参阅在启用 Google 身份验证的情况下启用电子邮件地址登录。
- 按电子邮件地址合并 - 将给定网域 中具有电子邮件地址的所有现有用户转换为使用 Google OAuth,以便在他们下次登录时使用。建议使用此设置。
- 新用户的角色 - 指定新的非管理员用户拥有的功能和模型访问权限。此列表可以稍后更新。如果留空,则经过 Google 身份验证的新用户在 Looker 平台中的功能将受到限制,直到管理员为其账号添加角色为止。由于 Google 网域中的所有用户都将能够登录 Looker,因此请考虑为新用户指定默认角色,以适当限制访问权限。
点击测试 Google 身份验证 以使用当前设置,并尝试在新窗口中对当前浏览器进行身份验证。此操作不会 保存当前设置,也不会将其应用于 Looker 实例。
如果您未登录 Google,系统会提示您登录,并要求您同意使用您的 Google 账号信息。此流程使用您在 Google 端设置中使用的自定义权限请求页面 设置。
成功后,系统会显示用户信息 部分,其中包含您的姓名、电子邮件地址和网域。如果显示此用户信息 部分,则表明 Looker 会成功对该用户进行身份验证。
如果失败,系统会显示错误说明。一些常见问题包括:
- 客户端 ID 或客户端密钥复制错误。必须仔细复制并完整粘贴这些值。
- 用户不在网域中。如果您看到个人信息 部分,但没有用户信息 部分,可能是因为用户不在您指定的网域中。这表明该用户已正确向 Google 验证了自己的身份,但他们使用的 Google 账号不是您选择允许其访问 Looker 实例的账号。
- Looker 网址或重定向网址在 Google 中未针对您的 Looker 实例正确设置。
如需保存并应用更改,请选中我已确认上述配置,并希望启用全局应用 。点击更新 。
提示
如需体验完整的身份验证周期,您可以退出 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 身份验证的情况下启用电子邮件地址登录
新的 Google 账号会自动获得 Looker 的访问权限,因此无需添加 Google 网域中的用户。
如需添加电子邮件地址不在 Google 网域中的用户,请执行以下操作:
- 在 Google 身份验证页面上启用管理员和指定用户的备用登录方式 选项
- 创建或修改现有用户角色以添加
login_special_email权限 - 从用户面板 (/admin/users/new) 中前往添加用户
- 添加您要添加的电子邮件地址以及这些用户应拥有的角色,这些角色必须包含具有
login_special_email权限的角色 - 这些用户现在可以使用 https://mycompany.looker.com/login/email (隐藏网址)登录
在启用 Google 身份验证后将其停用
如果您想在启用 Google 身份验证后停用 Looker 实例的 Google 身份验证,请考虑以下事项:
- 在添加 Google 身份验证之前创建的用户,并且已设置正常的电子邮件地址登录和密码,仍将正常运行。
- 在添加 Google 身份验证之后创建的用户将无法再登录。 虽然他们的账号仍然存在,但他们无法访问这些账号,并且他们的账号实际上已成为孤立账号。
因此,我们建议您避免采用这种方式。如果您必须采用这种方式,则可以使用 Looker API 修复孤立账号。如需更多指导,请与 Looker 支持团队联系。