若要对 Looker API 执行任何操作,您首先需要对其进行身份验证。您需要采取的步骤取决于您是否在使用 SDK。
使用 SDK 进行身份验证
以下是使用 API 身份验证的推荐方法:
在 Looker 实例的“管理”部分中的“用户”页面上创建 API 凭据。如果您不是 Looker 管理员,请让 Looker 管理员为您创建 API 凭据。
API 凭据始终绑定到 Looker 用户帐号。API 请求将“作为”用户执行,与 API 凭据相关联。对此 API 的调用仅返回用户有权访问的数据,且只修改用户有权修改的内容。
您生成的 API 凭据包含客户端 ID 和客户端密钥。您需要向 SDK 提供这些内容。如需了解相关操作说明,请参阅 SDK 文档。
然后,SDK 将负责获取必要的访问令牌,并将其插入到所有后续 API 请求中。
不使用 SDK 的身份验证
推荐使用 SDK 进行 API 身份验证。如需在不使用 SDK 的情况下进行身份验证,请执行以下操作:
在 Looker 实例的“管理”部分中的“用户”页面上创建 API 凭据。如果您不是 Looker 管理员,请让 Looker 管理员为您创建 API 凭据。
API 凭据始终绑定到 Looker 用户帐号。API 请求将“作为”用户执行,与 API 凭据相关联。对此 API 的调用仅返回用户有权访问的数据,且只修改用户有权修改的内容。
通过调用 API 的
login
端点可获取短期 OAuth 2.0 访问令牌。您需要提供在第 1 步中生成的 API 凭据,包括客户端 ID 和客户端密钥。将该访问令牌放入 Looker API 请求的 HTTP 授权标头中。包含授权标头的 Looker API 请求示例可能如下所示:
GET /api/3.0/user HTTP/1.1 Host: test.looker.com Date: Wed, 19 Oct 2016 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 活动所需的权限。
HTTPS 身份验证
即使您在使用客户端 SDK 处理身份验证详细信息,您可能仍然想知道 Looker API 身份验证的工作原理。如需低级别的身份验证详细信息,请参阅 GitHub 上的如何向 Looker API 进行身份验证。
使用 OAuth 进行身份验证
Looker 可以使用跨域资源共享 (CORS) 协议,让 Web 应用可以从 Looker 实例网域之外调用 Looker API。如需了解如何配置 CORS 身份验证,请参阅使用 OAuth 进行 Looker API 身份验证文档页面。