通过管理菜单的身份验证部分中的 Google 身份验证页面,您可以在 Looker 端设置 Google OAuth。
功能概览
对于拥有在 Google Google Workspace 中注册的账号的用户,Looker 可以使用 Google OAuth 执行身份验证。
- 使用 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 应用中,以管理员身份登录后,点击管理下拉菜单以打开管理菜单。
在身份验证组下,点击 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,因此请考虑为新用户指定一个适当限制访问权限的默认角色。
点击 Test Google Authentication(测试 Google 身份验证),以使用当前设置在新窗口中尝试对当前浏览器进行身份验证。此操作不会保存当前设置或将其应用于 Looker 实例。
如果您未登录 Google,系统会提示您登录,并要求您同意使用您的 Google 账号信息。此流程使用您在 Google 端设置中使用的自定义意见征求屏幕设置。
成功后,系统会显示“用户信息”部分,其中包含您的姓名、电子邮件地址和网域。如果存在此用户信息部分,则表明 Looker 会成功对相应用户进行身份验证。
如果失败,系统会显示错误说明。一些常见问题包括:
- 客户端 ID 或客户端密钥复制有误。这些内容必须完整地复制并粘贴。
- 用户不在网域中。如果您看到个人信息部分,但没有看到用户信息,可能是因为相应用户不在您指定的网域中。这表示该用户已向 Google 正确完成身份验证,但他们使用的 Google 账号未获得您选择的 Looker 实例的访问权限。
- Google 中未为您的 Looker 实例正确设置 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 Workspace 账号。如果hd字段为空,请使用非受管用户转移工具邀请用户将其账号转换为您网域中的受管账号。如果用户尝试登录失败,但 Looker 未显示错误消息,则可能是用户修改了其 Google Workspace 账号名称,并删除了自己的名字或姓氏。在这种情况下,Google Workspace 账号名称在管理控制台中可能仍显示完整,而不会显示用户的修改。为防止出现此问题,Google Workspace 管理员可以停用允许用户自定义此设置选项。
在启用 Google 身份验证的同时启用电子邮件地址登录
新的 Google 账号会自动获得 Looker 访问权限,因此无需添加 Google 网域中的用户。
如需添加电子邮件地址不在您的 Google 网域中的用户,请执行以下操作:
- 在 Google Auth 页面上启用管理员和指定用户的备用登录方式选项
- 创建或修改现有用户角色以添加
login_special_email权限 - 从用户面板 (/admin/users/new) 中前往添加用户
- 添加您要添加的电子邮件地址以及这些用户应具备的角色,其中必须包含具有
login_special_email权限的角色 - 这些用户现在可以使用 https://mycompany.looker.com/login/email(隐藏网址)登录
停用已启用的 Google 身份验证
如果您想在 Looker 实例已启用 Google 身份验证后将其停用,请考虑以下事项:
- 在添加 Google 身份验证之前创建的用户(已设置常规电子邮件地址登录名和密码)仍可正常使用。
- 在添加 Google 身份验证后创建的用户将无法再登录。虽然这些账号仍然存在,但用户无法访问,实际上已成为孤儿账号。
因此,我们建议您避开此路线。如果您必须采用此方法,或许可以使用 Looker API 修复孤立账号。如需更多指导,请与 Looker 支持团队联系。