使用 Google OAuth 进行 Looker (Google Cloud Core) 用户身份验证

Google OAuth 与 Identity and Access Management (IAM) 结合使用,对 Looker (Google Cloud Core) 用户进行身份验证。

无论您是否计划将 OAuth 用作主要身份验证方法,都必须在 Looker (Google Cloud Core) 创建实例期间设置 OAuth 客户端和凭据。

如需允许用户使用 Google OAuth 对 Looker (Google Cloud Core) 实例进行身份验证,请按照本页面中的说明操作。

如果另一种方法是主要身份验证方式,则默认情况下,Google OAuth 是备用身份验证方法。Google OAuth 也是 Cloud Customer Care 在提供支持时使用的身份验证方法。

使用 OAuth 和 IAM 进行身份验证和授权

与 OAuth 搭配使用时,Looker (Google Cloud Core) IAM 角色可以为指定 Google Cloud 项目中的所有 Looker (Google Cloud Core) 实例提供以下级别的身份验证和授权。根据您希望为每个主账号拥有的访问权限级别,为您的每个主账号分配以下 IAM 角色之一:

IAM 角色 Authentication 授权
Looker 实例用户 (roles/looker.instanceUser)

可以登录 Looker (Google Cloud Core) 实例

首次登录 Looker (Google Cloud Core) 时,已授予新用户的角色中设置的默认 Looker 角色

无法在 Google Cloud 控制台中访问 Looker (Google Cloud Core) 资源。

Looker 查看者 (roles/looker.viewer) 可以登录 Looker (Google Cloud Core) 实例 首次登录 Looker (Google Cloud Core) 时,已授予新用户的角色中设置的默认 Looker 角色

可以在 Google Cloud 控制台中查看 Looker (Google Cloud Core) 实例列表和实例详情
Looker 管理员 (roles/looker.admin) 可以登录 Looker (Google Cloud Core) 实例 首次登录 Looker (Google Cloud Core) 时,此角色(或包含 looker.instances.update 权限的自定义角色)默认为实例中的 Admin Looker 角色

可以在 Google Cloud 控制台中执行 Looker (Google Cloud Core) 的所有管理任务

此外,具有项目的 owner 角色的用户帐号可以登录和管理该项目中的任何 Looker (Google Cloud Core) 实例。这些用户将被授予 Looker 管理员角色。

如果预定义角色未提供您所需的权限,您还可以创建自己的自定义角色

Looker (Google Cloud Core) 帐号是在首次登录 Looker (Google Cloud Core) 实例时创建的。

在 Looker (Google Cloud Core) 实例中配置 OAuth

在 Looker (Google Cloud Core) 实例中,您可以通过管理菜单身份验证部分的 Google 页面配置一些 Google OAuth 设置。

在 Looker (Google Cloud Core) 实例中设置默认 Looker 角色

在添加任何用户之前,您可以设置默认的 Looker 角色,在用户首次登录 Looker (Google Cloud Core) 实例时,系统会将该角色授予拥有 Looker Instance User (roles/looker.instanceUser) IAM 角色或 Looker Viewer (roles/looker.viewer) IAM 角色的用户账号。如需设置默认角色,请按以下步骤操作:

  1. 前往管理菜单的身份验证部分中的 Google 页面。
  2. 新用户的角色设置中,选择您希望默认向所有新用户授予的角色。该设置包含 Looker (Google Cloud Core) 实例中的所有默认角色自定义角色的列表。

无论在新用户的角色设置中选择了哪个角色,具有 Looker Admin (roles/looker.admin) IAM 角色的用户帐号都将获得 Admin Looker 角色。如有需要,您可以将 Admin 角色更改为其他角色。

指定用于将 OAuth 用户合并到 Looker (Google Cloud Core) 帐号的方法

使用以下用户合并字段中,指定将首次 OAuth 登录合并到现有用户账号的方法。您可以合并以下系统中的用户:

  • SAML
  • OIDC

如果您有多个系统,则可以在此字段中指定多个要合并的系统。Looker (Google Cloud Core) 会按照指定顺序从列出的系统中查询用户。例如,如果您先使用 OIDC 创建一些用户,之后使用 SAML,则 Looker (Google Cloud Core) 会首先通过 OIDC 进行合并,然后再通过 SAML 进行合并。

当用户通过 OAuth 首次登录时,此选项会查找具有匹配电子邮件地址的帐号,将用户连接到其现有帐号。如果用户没有现有帐号,系统会创建一个新用户帐号。

将用户添加到 Looker (Google Cloud Core) 实例

创建 Looker (Google Cloud Core) 实例后,您可以通过 IAM 添加用户。要添加用户,请按以下步骤操作:

  1. 请确保您拥有 Project IAM Admin 角色或允许您管理 IAM 访问权限的其他角色
  2. 前往 Looker (Google Cloud Core) 实例所在的 Google Cloud 控制台项目。

  3. 前往 Google Cloud 控制台的 IAM 和管理 > IAM 部分。

  4. 选择授予访问权限

  5. 添加主账号部分中,添加下面的一项或多项:

    • Google 帐号电子邮件地址
    • Google 群组
    • Google Workspace 网域
  6. 分配角色部分中,选择某个预定义的 Looker (Google Cloud Core) IAM 角色或您添加的自定义角色。

  7. 点击保存

  8. 与已获访问权限的新 Looker (Google Cloud Core) 用户沟通,并引导他们访问该实例的网址。用户可以登录该实例,然后系统会为其创建帐号。系统不会自动发送通信内容。

如果您更改用户的 IAM 角色,该 IAM 角色会在几分钟内传播到 Looker (Google Cloud Core) 实例。如果已存在 Looker 用户帐号,则该用户的 Looker 角色将保持不变。

所有用户都必须通过上述 IAM 步骤进行预配,但有一个例外情况:您可以在 Looker (Google Cloud Core) 实例中创建仅限 Looker API 的服务帐号

使用 OAuth 登录 Looker (Google Cloud Core)

首次登录时,系统会要求用户使用其 Google 帐号登录。他们应该使用添加主账号字段中列出的 Looker 管理员授予访问权限。用户会看到在创建 OAuth 客户端的过程中配置的 OAuth 同意屏幕。用户同意同意屏幕后,系统会为其创建 Looker (Google Cloud Core) 实例中的帐号并登录。

此后,除非其授权过期用户撤消,否则用户将自动登录 Looker (Google Cloud Core)。在这些情况下,用户会再次查看 OAuth 权限请求页面,并被要求同意授权。

可能会为某些用户分配 API 凭据,以便在检索 API 访问令牌时使用。如果这些用户的授权到期或被撤消,其 API 凭据会失效。当前的所有 API 访问令牌也将失效。如要解决此问题,用户必须重新登录受影响的每个 Looker (Google Cloud Core) 实例的 Looker (Google Cloud Core) 界面,重新授权其凭据。另外,使用仅限 API 的服务帐号有助于避免 API 访问令牌的凭据授权失败。

移除对 Looker (Google Cloud Core) 的 OAuth 访问权限

如果您拥有允许您管理 IAM 访问权限的角色,则可以通过撤消授予了访问权限的 IAM 角色来移除对 Looker (Google Cloud Core) 实例的访问权限。如果您移除用户帐号的 IAM 角色,这项更改会在几分钟内传播到 Looker (Google Cloud Core) 实例。该用户将无法再向该实例进行身份验证。不过,用户帐号在用户页面上仍会显示为活动状态。如需从用户页面中移除用户帐号,请在 Looker (Google Cloud Core) 实例中删除用户

将 OAuth 用作备用身份验证方法

SAMLOIDC 是主要身份验证方法时,OAuth 是备用身份验证方法。

如需将 OAuth 设置为备份方法,请向每个 Looker (Google Cloud Core) 用户授予适当的 IAM 角色,以便其登录实例。

设置备份方法后,用户可以按照以下步骤访问备份方法:

  1. 在登录页面上选择使用 Google 进行身份验证
  2. 系统会显示一个对话框,要求确认 Google 身份验证。在对话框中选择确认

接下来,用户可以使用自己的 Google 帐号登录。首次使用 OAuth 登录时,系统会提示他们接受在实例创建过程中设置的 OAuth 同意屏幕

后续步骤