在管理菜单的身份验证部分中,点击 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 会显示新建项目页面。
在新建项目页面上填写相关信息,然后点击创建。
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 页面。
在应用类型下,选择网页应用。
在名称字段中,输入 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 应用中,以管理员身份登录后,点击 Admin(管理)下拉菜单以打开 Admin(管理)菜单。
在身份验证组下,点击 Google。Looker 会显示 Google 身份验证页面。
点击已启用以显示和修改 Google OAuth 设置。(这不会立即启用 Google 身份验证;您必须稍后确认自己的选择)。
输入您的 Google 身份验证设置。
- 客户端 ID 和客户端密钥 - 从 Google OAuth 客户端页面复制并粘贴这些值,如前面的 Google 设置说明中所述。
- 域名 - 贵组织由 Google 管理的域名。给定网域中的任何 Google 用户都可以登录您的 Looker 实例。如果您管理多个 Google 网域,可以输入这些网域,并用英文逗号分隔。
进入迁移选项,用于控制 Looker 实例在向 Google OAuth 过渡期间的行为。
- 管理员的备用登录方式 - 让管理员可以继续使用电子邮件地址和密码登录,这在设置 Google OAuth 时出现问题时非常有用。我们建议您采用此设置,在启用 Google 身份验证时启用电子邮件登录中对此进行了详细介绍。
- 按电子邮件地址合并 - 将电子邮件地址位于指定网域中的所有现有用户转换为使用 Google OAuth,以便他们在下次登录时使用 Google OAuth。建议使用此设置。
- 新用户的角色 - 指定非管理员新用户拥有的功能和模型访问权限。此列表稍后可以更新。如果留空,那么在管理员向其账号添加角色之前,通过 Google 身份验证的新用户在 Looker 平台中的功能将受到限制。由于您 Google 网域中的所有用户都将能够登录 Looker,因此不妨为新用户指定一个默认角色,以适当限制其访问权限。
点击测试 Google 身份验证,使用当前设置并在新窗口中尝试对当前浏览器进行身份验证。此操作不会保存当前设置或将其应用于 Looker 实例。
如果您未登录 Google,系统会提示您登录,并要求您同意使用您的 Google 账号信息。此流程使用您在 Google 端设置中使用的自定义意见征求界面设置。
成功后,系统会显示用户信息部分,其中包含您的姓名、电子邮件地址和网域。如果系统显示此用户信息部分,则表示 Looker 会成功对此用户进行身份验证。
如果失败,系统会显示错误说明。常见问题包括:
- 错误复制了客户端 ID 或客户端密钥。请务必仔细复制并完整粘贴这些信息。
- 用户不在网域内。如果您看到个人信息部分,但没有看到用户信息,则可能是因为用户不在您指定的网域中。这表示该用户已正确向 Google 进行身份验证,但使用的 Google 账号并非您选择允许访问 Looker 实例的账号。
- 您在 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 身份验证
如果您想在已启用 Google 身份验证的 Looker 实例中停用该功能,请注意以下几点:
- 在添加 Google 身份验证器之前创建且已设置常规电子邮件登录名和密码的用户仍可正常使用。
- 在添加 Google 身份验证后创建的用户将无法再登录。虽然其账号仍然存在,但他们无法访问这些账号,因此这些账号实际上已成为孤儿账号。
因此,我们建议您避免使用此路线。如果您必须采用这种方法,或许可以使用 Looker API 来修正孤岛账号。如需更多指导,请与 Looker 支持团队联系。