在管理菜单的身份验证部分中,您可以使用 Google Authentication 页面在 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 控制台帮助文档。
前往 Google Cloud 控制台。
点击选择项目下拉菜单中的向下箭头。您可能会在下拉菜单中看到现有项目的名称;无论如何,点击向下箭头都会将您带到用于创建新项目的选项。
在选择项目页面中,点击新建项目。
Google 会显示新建项目页面。
在 New Project 页面上填写信息,然后点击 Create。
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 同意屏幕,然后点击 Save and Continue(保存并继续)。
在范围页面上,点击保存并继续。无需进行其他镜重配置。
在摘要页面上,点击返回信息中心。
Google 会将您返回到创建 OAuth 客户端 ID 页面。
在应用类型下,选择网页应用。
在名称字段中,输入 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 设置说明中所述,从 Google OAuth 客户端页面复制并粘贴这些值。
- 网域 - 贵组织的 Google 管理的域名。给定网域中的任何 Google 用户都可以登录您的 Looker 实例。如果您管理多个 Google 网域,可以输入这些网域,并用英文逗号分隔。
进入迁移选项,用于控制 Looker 实例在向 Google OAuth 过渡期间的行为。
- 管理员的备用登录信息 - 允许管理员继续使用电子邮件地址和密码登录,如果遇到 Google OAuth 设置问题,这是一种非常有用的备用方法。我们建议您采用此设置,在启用 Google 身份验证时启用电子邮件登录中对此进行了详细介绍。
- 通过电子邮件合并 - 让拥有指定网域电子邮件地址的任何现有用户在下次登录时改用 Google OAuth。建议使用此设置。
- 新用户的角色 - 指定新的非管理员用户拥有的功能和模型访问权限。此列表稍后可以更新。如果留空,通过 Google 身份验证的新用户在 Looker 平台中只能使用有限的功能,直到管理员为其账号添加角色为止。由于 Google 网域中的所有用户都能登录 Looker,因此请考虑为新用户指定默认角色,适当限制访问权限。
点击测试 Google 身份验证,使用当前设置并尝试在新窗口中对当前浏览器进行身份验证。此操作不会保存当前设置,也不会将它们应用于 Looker 实例。
如果您未登录 Google,系统会提示您登录并请求同意使用您的 Google 账号信息。此流程使用您在 Google 端设置中使用的自定义同意屏幕设置。
成功后,系统会显示用户信息部分,其中包含您的姓名、电子邮件地址和网域。如果存在此用户信息部分,则表示 Looker 会成功对此用户进行身份验证。
如果失败,系统会显示错误说明。常见问题包括:
- 错误复制了客户端 ID 或客户端密钥。请务必小心地完整复制和粘贴这些内容。
- 用户不在网域内。如果您看到个人信息部分,但看不到用户信息,则可能是因为该用户不在您指定的网域内。这表明此人已向 Google 正确验证了自己的身份,但并未使用您已选择允许访问 Looker 实例的 Google 账号。
- 未在 Google 中为 Looker 实例正确设置 Looker 网址或重定向网址。
如需保存并应用更改,请选中我已确认上述配置,并希望启用全局应用更改。点击更新。
提示
如需试用整个身份验证周期,您可以退出 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 网域,请执行以下操作:
- 在“Google 身份验证”页面上,启用为管理员和指定用户启用备用登录方式选项
- 创建或修改现有用户角色,以添加
login_special_email
权限 - 在“用户”面板中,前往添加用户 (/admin/users/new)
- 添加您要包含的电子邮件地址以及这些用户应拥有的角色,这些角色必须包含具有
login_special_email
权限的角色 - 这些用户现在可以使用 https://mycompany.looker.com/login/email(隐藏的网址)登录
启用 Google Auth 后将其停用
如果您想要在 Looker 实例启用 Google 身份验证后为其停用 Google 身份验证,则需要考虑以下几点:
- 如果用户是在添加 Google 身份验证之前创建,并且已设置正常的电子邮件登录名和密码的用户,则仍可正常使用。
- 在添加 Google 身份验证之后创建的用户将无法再登录。虽然其账号仍然存在,但他们无法访问这些账号,因此这些账号实际上已成为孤儿账号。
因此,我们建议您避免使用此路线。如果您必须选择此路径,或许可以使用 Looker API 来修复孤立账号。如需更多指导,请与 Looker 支持团队联系。