简介
Looker 是一款可帮助您探索、共享和直观呈现公司数据的BI工具,让您可以做出更明智的业务决策。Looker是Google Cloud的一项服务,国内使用需要使用国外专线网络或者科学上网工具。
概览
Looker (Google Cloud Core)通过 Google Cloud 控制台简化了 Looker 实例的预配、配置和管理。部分实例管理任务也可通过控制台执行。
Looker (Google Cloud Core)实例由 Google 在 Google Cloud 中托管。Looker (Google Cloud Core)不适用于客户托管或多云环境。
第一步 为 Looker(Google Cloud 核心)实例创建授权凭据
Looker(Google Cloud 核心)通过 OAuth 2.0 协议对用户进行身份验证。在创建实例时,您可以使用任何 OAuth 2.0 客户端创建授权凭据。
OAuth 2.0 协议: OAuth 2.0是一个业界标准的授权协议(authorization protocol),这里的授权是以委派代理(delegation)的方式。可以这样理解,OAuth 2.0提供一种协议交互框架,让某个应用能够以安全地方式获取到用户的委派书,这个委派书在OAuth 2.0中就是访问令牌(access token),随后应用便可以使用该委派书,代表用户来访问用户的相关资源。
举个例子: 张三曾在A医院看过病,A医院保存了张三的病历信息,张三使用自己的账号和密码可以访问自己的病历信息。当他之后去B医院看病时,B医院的医生需要获取张三在A医院的病历信息所以需要张三提供他的账号和密码给医生。当医生获取了账号和密码后就可以访问张三在A医院的病历信息。这是一个办法,但是从安全性上来说极为不安全,因为医生得到了张三的全部权限,无法保证医生是否会通过张三的账号进行危险活动。而且一旦之后张三修改了密码,那医生就无法再次获取病历信息知道张三提供新的账号和密码。
如果使用OAuth 2.0 协议的办法,张三通知A医院创建一个信任凭据授权给医生的个人账号,医生可以通过这个凭据用个人账号获取张三的个人信息,只要这个凭据还处于有效期内,无论张三是否修改密码,医生都可以访问其病历信息。而且医生也只能获取病历信息无法进行其他危险操作。
-
导航到要在其中创建 OAuth 客户端的项目。
-
依次转到 API 和服务 > 凭据。
-
点击创建凭据。
-
从下拉菜单中选择 OAuth 客户端 ID。
-
点击配置同意屏幕。
-
在 User Type(用户类型)下,选择以下选项之一:
内部:仅限组织内的用户
外部:拥有任意 Google 帐号的用户
(如果希望 Google 支持团队等用户访问实例,则必须将用户类型设置为外部。可以随时修改用户类型设置。) -
点击创建。
-
点击创建即会打开 OAuth 同意屏幕面板。
应用名称、用户支持电子邮件地址和开发者联系信息字段为必填字段。
在已获授权的网域部分中,网域必须与使用 OAuth 凭据的 Looker(Google Cloud 核心)实例的网域相匹配。如果您要为 Looker(Google Cloud 核心)实例创建自定义网域,并了解将分配给该实例的网域,则可以立即输入该网域。否则,您可以将此字段留空,在创建 Looker(Google Cloud 核心)实例后添加已获授权的重定向 URI。 -
点击保存并继续。
-
如果需要,请在 Scopes 面板中添加范围。点击保存并继续
-
如果需要,在测试用户面板中添加测试用户。点击保存并继续
-
点击摘要面板上的返回信息中心。您会返回到创建 OAuth 客户端 ID 页面。
-
点击创建,生成OAuth客户端
在完成意见征求屏幕的初始配置、创建 OAuth 客户端后,会生成OAuth客户端 ID 和客户端密钥。这些值是在创建 Looker(Google Cloud 核心)实例的过程中必需的。
第二步 创建 Looker(Google Cloud 核心)实例
-
从 Google Cloud Console 中的项目转到 Looker 产品页面。这将打开 Looker 产品实例页面。
-
点击创建实例,系统会打开实例配置页面,您可以在其中为实例配置以下设置
-
OAuth 应用凭据: 在修改此设置前,请务必设置新凭据并将网域的域名添加到 OAuth 客户端中的已获授权的重定向 URI 字段。
-
网络连接: 您的实例配置必须指定网络连接。如果您为实例的网络连接同时选择了公共 IP 和专用 IP,则只能停用公共 IP 选项。创建实例后,您无法将网络连接从公共 IP 更改为专用 IP,也无法从专用 IP 更改为公共 IP。
-
维护窗口: 您可以选择指定一周中哪一天和哪些时间运行 Looker (Google Cloud Core)来安排维护。维护窗口会持续一小时。默认情况下,维护窗口中的首选窗口选项设置为任何窗口。
-
拒绝维护期: 您可以选择指定一个时间段,在这段时间内 Looker (Google Cloud Core)不会安排维护。拒绝维护期最长可达 60 天。拒绝维护期必须至少留出 14 天的维护时间。
-
电子邮件网域许可名单: 如果电子邮件网域许可名单中没有网域,则电子邮件网域不会受到限制。要限制域名,请以 domain.suffix 格式输入域名,然后在键盘上点击 Enter 键。如果您对设置更改了电子邮件网域许可名单,则必须重启 Looker (Google Cloud Core)实例,并且如果该实例中有任何正在运行的永久性派生表,系统将重新生成这些表。
- 点击创建,创建实例时,系统会将您重定向到实例页面。可能需要刷新页面才能查看新实例的状态。还可以通过点击 Google Cloud Console 菜单中的铃铛图标来查看实例创建活动。正在创建实例时,Google Cloud Console 菜单中的通知图标将周围环绕着加载图标。
创建实例后,该实例会列在 Google Cloud 项目的实例页面上。您可以从 Google Cloud 项目中导航到 Looker 产品,进而访问 Looker(Google Cloud 核心)实例页面。
别忘记把实例网址添加后缀后添加到对应 OAuth客户端重定向地址 和 OAuth同意屏幕的已获授权的网域
第三步 设置 Looker(Google Cloud 核心)实例
预配 Looker(Google Cloud 核心)实例后,您将收到一封欢迎电子邮件,其中说明了如何为此实例完成 Looker 帐号设置。在电子邮件中,点击激活您的帐号。在 Looker 帐号设置屏幕中,提供所需信息,然后点击登录。系统会自动为您授予对实例的管理员权限。
激活帐号后,您可以在 Google Cloud 项目的实例页面的实例网址列中找到用于访问 Looker(Google Cloud 核心)实例的浏览器链接。实例网址的格式为 https://hostname.looker.app,其中主机名随机分配。
重要提示:如果您已将 Looker(Google Cloud 核心)实例配置为使用公共 IP 和专用 IP,并且希望将实例重新配置为仅使用专用网络,则可以在您通过登录实例激活 Looker 用户后修改实例配置以停用公共 IP。
设置数据库连接
Looker 必须连接到数据库才能启用数据探索。
- 展开连接到数据库菜单选项。
- 点击连接,打开连接设置页面。
- 在名称字段中为您的连接提供名称。此值不需要与数据库中的任何内容匹配;它只是您分配的标签。您将在 LookML 模型的 connection 参数中使用该函数。例如:公共 BQ。
- 为您的数据集选择数据库方言。对于 Look 电子商务数据集,应为 Google BigQuery 标准 SQL。
- 在项目 ID 字段中输入 Google Cloud 项目的 ID。您可以在 Google Cloud 控制台中点击项目的名称来查找项目 ID。
- 在数据集字段中提供您计划使用的默认数据集的名称。对于 Look eCommerce,它是 thelook_ecommerce 或 empty。
- 勾选 Use Application Default Credentials(使用应用默认凭据)复选框。选中此复选框后,连接将使用您预定义的 Google Cloud 项目凭据向数据库进行身份验证。
- 点击测试这些设置以测试您输入的连接设置。如果您收到 Can connect(可以连接)消息,请点击 Add Connection(添加连接)。
如果需要详细了解数据库连接,请参阅将 Looker 连接到数据库文档页面
创建 LookML 项目
项目是一组 LookML 文件,用于描述数据库表之间的相互关系,以及 Looker 应如何解读这些表。如需详细了解如何创建 LookML 项目,请参阅创建新的 LookML 项目文档页面。
- 展开 Create a project 菜单选项。
- 点击创建项目,打开 Looker 项目生成器页面。点击进入开发模式,即可在开发环境中创建、修改和测试 LookML 模型。
- 点击创建项目,打开 Looker 项目生成器页面。点击进入开发模式,即可在开发环境中创建、修改和测试 LookML 模型。
- 选中数据集名称旁边的复选框以选择数据集。默认情况下,当生成项目查看文件时,会包括已连接数据库中的所有数据表。要指定要包含的表,请点击数据集旁边的箭头,然后选择要包含的表。完成选择后,点击下一步。
- 为每个表选择一个主键。可能不是每个视图文件都可用。选择主键后,点击下一步。
- 点击创建项目。 如果 Looker 能够为您的项目生成 LookML,您将看到一条消息,表明已成功创建项目。
如果您想探索数据,请点击探索数据。Looker 会打开一个面板,其中包含与您的项目关联的“探索”。选择“探索”即可开始探索数据。您也可以通过导航栏中的探索菜单访问探索列表,或者展开探索数据,然后点击设置 Looker 指南中的探索。
如果要自定义项目文件中的 LookML,请点击修改项目文件。您还可以通过导航中的开发菜单访问项目文件,或者展开修改项目文件,然后点击 Set up Looker 指南中的修改项目。点击项目名称以打开其 LookML 文件。
启用和配置某些 Looker(Google Cloud 核心)实例功能
在 Looker(Google Cloud 核心)实例中,部分 Looker 功能默认处于停用状态,或者需要额外的配置。对于 Preview Looker(Google Cloud 核心)实例,这些功能包括:
- Looker Action Hub
Looker 托管并提供 Looker Action Hub,这是一个无状态服务器,用于实现 Looker 的 Action API 并公开与第三方服务之间的集成(也称为操作)。用户使用操作发送的所有数据将通过 Looker 操作中心服务器暂时从 Looker(Google Cloud 核心)实例传递。在通过 Google Cloud 控制台创建的 Looker(Google Cloud 核心)实例中,Looker 操作中心默认处于停用状态。如需逐个启用操作,具有 Looker 管理员角色的用户必须点击 Looker(Google Cloud 核心)实例的管理部分中的操作(操作页面)旁边的启用,并配置操作设置。Looker 操作中心不适用于使用专用网络连接的 Looker(Google Cloud 核心)实例。
创建 Looker 用户
作为具有 Looker(Google Cloud 核心)实例的管理员角色的用户(也称为 Looker 管理员),您可以添加用户,并授予他们实例级或单个模型执行各种任务的权限。此外,您还可以创建角色来管理哪些用户有权访问功能和数据。当您开始使用 Looker 时,默认选项可能就足够了。
通过 Google Cloud 控制台管理 Looker(Google Cloud 核心)实例
Looker(Google Cloud 核心)实例的部分管理功能可以在 Google Cloud Console 中执行,包括以下任务:
- 查看 Looker(Google Cloud 核心)实例配置
- 修改 Looker(Google Cloud 核心)实例配置
- 删除 Looker(Google Cloud 核心)实例
- 重启 Looker(Google Cloud 核心)实例
与所选 Google Cloud 项目关联的 Looker(Google Cloud 核心)实例会列在 Google Cloud Console 的实例页面上,也包括由组织中的其他用户创建的实例。
实例页面会显示有关每个实例的以下信息
- 状态: 如果实例已成功创建且处于活跃状态,则会显示一个带对勾标记的绿色圆圈。如果实例正在创建,则 会显示加载图标。
- 名称: 创建实例时由实例创建者提供的实例的名称。点击名称可转到详细信息页面,其中显示有关所选实例的其他信息。
- 实例网址: 可用于访问实例的网址。所有实例网址均采用 https://hostname.looker.app 形式,其中主机名随机分配。点击网址以导航到该实例。
- 版本: 创建实例时的 Looker 版本。
- 区域: 托管实例的区域。(所有预览实例都托管在 us-central1(爱荷华)中。)
- 创建日期: 创建实例的日期。
实例详情页面会显示有关该实例的其他信息,包括:
- 平台版本: 实例的版本。选项有标准、高级和精英。您可以根据组织的需求修改版本选择,以增加或减少 Looker(Google Cloud 核心)实例的容量。
- 创建时间: 创建实例的时间。
- 启用公共 IP: 最近一次更新实例的时间。
- 专用 IP 已启用: 实例的公共连接是否已启用公共 IP。启用后,系统会显示 true。如果未启用,系统会显示 false。
- 出站流量公共 IP: 出站公共 IP 地址,在创建实例时自动分配(适用于具有公共 IP 网络连接的实例)。如果未分配价值,系统会显示没有价值。
- 入站流量公共 IP: 入站流量公共 IP 地址,该实例在创建实例时自动分配(适用于具有公共 IP 网络连接的实例)。
- 入站流量专用 IP: 创建实例时指定的入站流量专用 IP 地址(针对具有专用 IP 网络连接的实例)。如果实例具有公共 IP 网络连接,则会显示无值。
- 关联的网络: 选择建立专用连接的网络(针对使用专用 IP 网络连接的实例)。如果实例具有公共 IP 网络连接,则会显示无值。
- 分配的 IP 范围: 创建实例时或 Google 创建实例时由 Google 分配的 IP 地址范围(针对具有专用 IP 网络连接的实例)。如果实例具有公共 IP 网络连接,则会显示无值。
在实例详情页面上,点击修改图标可以修改 Looker(Google Cloud 核心)实例配置
- 版本: 包括“标准”、“高级”和“精选”。您可以根据组织的需求修改版本选择,以增加或减少 Looker(Google Cloud 核心)实例的容量。
- 网络连接: 如果您选择了公共 IP 和专用 IP 作为实例的网络连接,则可以仅停用公共 IP 选项。创建实例时,您不能将网络连接从公共 IP 更改为专用 IP,也不能将专用 IP 更改为公共 IP。
如需删除 Looker(Google Cloud 核心)实例,在实例页面上,点击实例旁边的三点状菜单。选择删除实例。如果实例当前正在修改,您将无法删除它。在弹出式窗口中,确认删除实例,只需在提供的字段中输入实例名称,然后点击删除即可。还可以通过点击实例配置页面图标栏中的删除,将实例从其配置页面中删除。
重启 Looker(Google Cloud 核心)实例会停止实例上的任何进程内 Looker 进程(包括运行查询、时间表和提醒),然后重启实例。重启完成后,实例将自动恢复正常运行。如果需要,则需要重新启动重新启动时运行的任何查询。时间表和提醒将按照指定的频率运行,但任何已安排的作业或重启期间执行的作业都不会完成。如果实例当前正在修改,请等待其完成更新,然后再尝试重启。在实例页面上,点击实例的名称以查看其配置设置。点击实例配置页面图标栏中的重启。
管理用户对 Looker (Google Cloud Core)实例的访问权限
Looker (Google Cloud Core)使用 Identity and Access Management (IAM) 通过一组预定义角色预配用户和管理员访问权限。
有两种不同类型的角色拥有 Looker (Google Cloud Core)的权限:IAM 角色和 Looker 角色。用户可以担任多种角色。
- Looker(Google Cloud 核心)IAM 角色: 1. 决定用户在 Google Cloud 控制台中与 Looker (Google Cloud Core)相关的功能。2.决定用户能够登录 Looker (Google Cloud Core)实例。3.决定用户登录 Looker (Google Cloud Core)实例后是否具有 Admin Looker 角色
- Looker 角色: 决定了用户在登录 Looker (Google Cloud Core)实例后可以执行哪些操作。
Looker IAM 角色有三种预定义角色:
- Looker Admin:拥有对所有 Looker 资源的完全访问权限。
(在当前项目下的所有Looker实例中都具有Admin Looker角色) - Looker Instance User:拥有登录 Looker 实例的权限。
(首次登陆实例时,系统会为其授予新用户的角色设置中选择的默认Looker角色) - Looker Viewer:拥有查看实例页面上的实例列表的只读权限。(无法登录Looker实例)
在 Looker实例中设置默认 Looker 角色
在添加任何用户之前,最好在具有 Looker 实例用户 IAM 角色的用户首次登录 Looker (Google Cloud Core)实例时为其授予默认的 Looker 角色。
- 确保您对实例所在的项目拥有 Looker Admin IAM 角色。
- 在 Looker (Google Cloud Core)实例中,依次前往管理控制台中的 管理 > 身份验证 > Google 页面。
- 新用户的角色设置包含 Looker (Google Cloud Core)实例中所有默认角色和自定义角色的列表。选择默认授予所有新用户的角色。
- 无论在新用户的角色设置中选择了哪些设置,拥有 Looker Admin IAM 角色的用户帐号都将获得分配给默认 Admin Looker 角色的所有权限。
将用户添加到 Looker 实例
创建并配置 Looker (Google Cloud Core)实例后,就可以添加用户了。
- 请确保您拥有 Project IAM Admin 角色或可让您管理 IAM 访问权限的其他角色。
- 前往 Looker (Google Cloud Core)实例所在的 Google Cloud 控制台项目。
- 前往 Google Cloud 控制台的 IAM 和管理 > IAM 部分。
- 选择授予访问权限。
- 在添加主帐号部分,添加以下一项或多项:Google 帐号电子邮件地址,Google 群组,Google Workspace 网域
- 在分配角色部分中,选择一个预定义 Looker (Google Cloud Core)IAM 角色或您添加的自定义角色。
- 点击保存。
- 告知新的访问权限(Google Cloud 核心用户)已授予访问权限,并将用户定向到实例的网址。然后,他们可以登录实例,此时系统会创建他们的帐号。系统不会自动发送消息。
如果您更改了用户的 IAM 角色,那么这些更改会在几分钟内传播到 Looker (Google Cloud Core)实例中。
所有用户都必须通过先前所述的 IAM 步骤进行配置,但有一个例外:您可以在 Looker (Google Cloud Core)实例中创建仅限 Looker API 的服务帐号。
创建仅限 API 的服务帐号
只能在Looker实例中创建服务帐号。Looker 中的服务帐号与 Google 服务帐号不同,不受 IAM 的约束。
如果您拥有 Looker Admin IAM 角色,则可以通过 管理 > 用户 页面创建仅限 API 的帐号(通常称为“服务帐号”)。这些帐号可以授予 Admin Looker 角色,并且可以授予 Looker API 凭据。不过,这些帐号无法通过界面登录 Looker (Google Cloud Core)。
登录 Looker(Google Cloud 核心)
首次登录时,系统会要求用户使用自己的 Google 帐号登录。他们应该使用授予访问权限时在添加主帐号字段中列出的 Looker 管理员所用的帐号。用户会看到创建 OAuth 客户端期间配置的 OAuth 同意屏幕。用户同意同意屏幕后,系统会在 Looker (Google Cloud Core)实例中创建帐号并登录帐号。
此后,用户会自动登录 Looker(Google Cloud 核心),除非其授权到期或被用户撤消。在这些情况下,系统会再次显示 OAuth 权限请求页面,并请求用户同意授权。
系统可能会为部分用户分配 API 凭据,以用于检索 API 访问令牌。如果这些用户的授权到期或被撤消,其 API 凭据就会停止运行。当前的所有 API 访问令牌也会停止运行。为了解决此问题,用户必须重新登录每个 Looker(Google Cloud 核心)实例的 Looker(Google Cloud 核心)界面,从而重新为其凭据授权。或者,使用仅限 API 的服务帐号有助于避免 API 访问令牌出现凭据授权失败。
在 Looker (Google Cloud Core)中查看用户
如果您拥有 Looker Admin IAM 角色,则可以在 Looker (Google Cloud Core)管理面板中前往管理 > 用户,在 Looker (Google Cloud Core)实例中查看用户。
Looker (Google Cloud Core)实例中的用户页面与 Looker(原始)实例中的用户页面存在以下区别:
- 无法在 Looker (Google Cloud Core)中修改用户的姓名或电子邮件地址。
- 您无法在 Looker (Google Cloud Core)中以另一用户的身份sudo。(Superuser Do(超级用户执行)的缩写)
- 拥有 Looker Admin IAM 角色的用户将在 Looker (Google Cloud Core)实例中具有管理员默认
Looker 角色。在用户页面上的用户列表中,此角色将显示为通过 IAM 管理。 - 除了 Looker 服务帐号之外,您无法为用户分配 Admin 角色。这必须通过 IAM 授予。
- 可以在用户页面中添加的唯一一种用户是专门为 API 活动创建的 Looker(Google Cloud 核心)服务帐号。
- 只有在查看 Embed Edition Looker (Google Cloud Core)实例时,您才会看到嵌入用户标签页。
- 在修改用户时,您无法发送设置或密码重置链接选项。所有用户帐号身份验证均通过 OAuth 完成。
- 如需了解如何删除 Looker 用户,请参阅移除对 Looker 的访问权限(Google Cloud 核心)部分。
更改用户在 Looker (Google Cloud Core)中的角色和权限
如果您拥有 Looker Admin IAM 角色,则可以在 Looker (Google Cloud Core)实例中修改用户的 Looker (Google Cloud Core)权限。
群组和角色文档页面介绍了如何在 Looker (Google Cloud Core)实例中授予访问权限和权限。
在 Looker (Google Cloud Core)实例中授予 Looker 角色和权限与 Looker(原版)实例不同,您只能向服务帐号授予 Admin Looker 角色。
移除对 Looker (Google Cloud Core)的访问权限(建议使用IAM移除Looker的我访问权限)
如果您拥有可管理 IAM 访问权限的角色,则可以通过撤消授予访问权限的 IAM 角色来移除对 Looker (Google Cloud Core)实例的访问权限。如果您移除用户帐号的 IAM 角色,那么这些更改会在几分钟内传播到 Looker (Google Cloud Core)实例中。虽然该用户无法再访问该实例,但其用户帐号在用户页面上可能仍会显示为有效状态。