Looker API 身份验证

如需使用 Looker API 执行任何操作,您首先需要向其进行身份验证。您需要采取的步骤取决于您是否使用 SDK。

使用 SDK 进行身份验证

建议采用以下方法进行 API 身份验证:

  1. 在 Looker 实例的“管理”部分的“用户”页面上创建 API 凭据。如果您不是 Looker 管理员,请让 Looker 管理员为您创建 API 凭据。

    API 凭据始终与 Looker 用户账号相关联。API 请求会以与 API 凭据关联的用户的身份执行。对该 API 的调用只会返回用户有权查看的数据,并且只会修改用户有权修改的内容。

  2. 您生成的 API 凭据包含客户端 ID 和客户端密钥。您需要将这些信息提供给 SDK。如需了解相关说明,请参阅 SDK 文档

然后,SDK 会负责获取必要的访问令牌,并将其插入到所有后续 API 请求中。

不使用 SDK 进行身份验证

建议使用 SDK 进行 API 身份验证。如需在不使用 SDK 的情况下进行身份验证,请执行以下操作:

  1. 在 Looker 实例的“管理”部分的“用户”页面上创建 API 凭据。如果您不是 Looker 管理员,请让 Looker 管理员为您创建 API 凭据。

    API 凭据始终与 Looker 用户账号相关联。API 请求会以与 API 凭据关联的用户的身份执行。对该 API 的调用只会返回用户有权查看的数据,并且只会修改用户有权修改的内容。

  2. 通过调用 API 的 login 端点,获取短期 OAuth 2.0 访问令牌。您需要提供在第 1 步中生成的 API 凭据,其中包括客户端 ID 和客户端密钥。

  3. 将该访问令牌放入 Looker API 请求的 HTTP 授权标头中。以下是包含授权标头的 Looker API 请求示例:

    GET /api/4.0/user HTTP/1.1
    Host: test.looker.com
    Date: Wed, 19 Oct 2023 12:34:56 -0700
    Authorization: token mt6Xc8jJC9GfJzKBQ5SqFZTZRVX8KY6k49TMPS8F
    

OAuth 2.0 访问令牌可用于多个 API 请求,直到该访问令牌过期或通过调用 logout 端点使其失效为止。使用过期访问令牌的 API 请求将失败,并返回 401 Authorization Required HTTP 响应。

API 与用户登录设置的互动

Looker API 身份验证完全独立于 Looker 用户登录。用户身份验证协议(例如动态密码 [OTP、2FA] 和目录身份验证 [LDAP、SAML 等])不适用于 Looker API 身份验证。

因此,从用户身份验证协议中删除用户的信息并不会删除其 API 凭据。按照删除个人用户信息文档页面上的步骤操作,可从 Looker 中移除用户的所有个人数据,从而阻止用户登录(包括通过 API 登录)。

管理 API 凭据

  • 多组 API 凭据可以绑定到单个 Looker 用户账号。
  • 创建和删除 API 凭据不会影响用户账号的状态。
  • 删除 Looker 用户账号会使与该用户账号绑定的所有 API 凭据失效。
  • API 客户端密钥必须保密。请避免将 API 客户端密钥存储在源代码或许多人可以看到的其他位置。
  • 在生产环境中,请避免使用绑定到 Looker 管理员账号的 API 凭据。专门为 API 活动创建权限最低的用户账号(通常称为“服务账号”),并在这些账号上创建 API 凭据。 仅授予预期 API 活动所需的权限。

使用 OAuth 进行身份验证

Looker 可以使用跨域资源共享 (CORS) 协议,让 Web 应用从 Looker 实例网域外部调用 Looker API。如需了解如何配置 CORS 身份验证,请参阅 使用 OAuth 进行 Looker API 身份验证 文档页面。