Looker API の認証

Looker API を使用するには、まず API に対する認証を行う必要があります。必要な手順は、SDK を使用するかどうかによって異なります。

SDK による認証

API 認証には、この方法をおすすめします。

  1. Looker インスタンスの [Admin] セクションの [Users] ページで、API3 の認証情報を作成します。Looker 管理者でない場合は、Looker 管理者に API3 認証情報の作成を依頼してください。

    API3 の認証情報は常に Looker ユーザー アカウントにバインドされます。API リクエストは「API 認証情報に関連付けられているユーザー」として実行されます。API の呼び出しは、ユーザーが表示可能なデータのみを返し、ユーザーが変更できるデータのみを変更します。

  2. 生成した API3 の認証情報には、クライアント ID とクライアント シークレットが含まれています。デベロッパーはこれを SDK に提供する必要があります。詳しい手順については、SDK のドキュメントをご覧ください。

SDK が、必要なアクセス トークンを取得し、後続のすべての API リクエストに挿入します。

SDK を使用しない認証

SDK による API 認証をおすすめします。SDK を使用せずに認証するには:

  1. Looker インスタンスの [Admin] セクションの [Users] ページで、API3 の認証情報を作成します。Looker 管理者でない場合は、Looker 管理者に API3 認証情報の作成を依頼してください。

    API3 の認証情報は常に Looker ユーザー アカウントにバインドされます。API リクエストは「API 認証情報に関連付けられているユーザー」として実行されます。API の呼び出しは、ユーザーが表示可能なデータのみを返し、ユーザーが変更できるデータのみを変更します。

  2. API の login エンドポイントを呼び出して、短期の OAuth 2.0 アクセス トークンを取得します。クライアント ID とクライアント シークレットを含む、ステップ 1 で生成した API3 認証情報を提供する必要があります。

  3. このアクセス トークンを Looker API リクエストの HTTP Authorization ヘッダーに配置します。承認ヘッダー付き 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 アクセス トークンは、アクセス トークンの期限が切れるか、logout エンドポイントを呼び出して無効にするまで、複数の API リクエストで使用できます。期限切れのアクセス トークンを使用する API リクエストは失敗し、401 Authorization Required HTTP レスポンスが返されます。

API でのユーザー ログイン設定の操作

Looker API 認証は、Looker ユーザー ログインとは完全に独立しています。ワンタイム パスコード(OTP、2FA)やディレクトリ認証(LDAP、SAML など)などのユーザー認証プロトコルは、Looker API 認証には適用されません。

このため、ユーザー認証プロトコルからユーザー情報を削除しても、API 認証情報は削除されません。ユーザー情報の削除に関するドキュメント ページの手順を行うと、ユーザーの個人データが Looker からすべて削除され、API 経由を含む一切ログインできなくなります。

API 認証情報の管理

  • 複数の API3 認証情報を 1 つの Looker ユーザー アカウントにバインドできます。
  • API3 の認証情報は、ユーザー アカウントの状態に影響を与えることなく作成および削除できます。
  • Looker ユーザー アカウントを削除すると、ユーザー アカウントに関連付けられているすべての API3 認証情報が無効になります。
  • API3 クライアント シークレットは非公開にしておく必要があります。API3 クライアント シークレットをソースコードなど、多くの人に見られる場所に保存しないでください。
  • 本番環境では、Looker 管理者アカウントにバインドされた API3 認証情報は使用しないでください。API アクティビティ専用の権限の高いユーザー アカウント(多くの場合「サービス アカウント」)を作成し、そのアカウントに API3 の認証情報を作成します。目的の API アクティビティに必要な権限のみを付与します。

HTTPS 認証

クライアント SDK を使用して認証の詳細を処理している場合でも、Looker API 認証の仕組みに興味があるかもしれません。認証の詳細については、GitHub の Looker API に対する認証方法をご覧ください。

OAuth を使用した認証

Looker では、クロスオリジン リソース シェアリング(CORS)プロトコルを使用して、ウェブ アプリケーションが Looker インスタンスのドメイン外から Looker API を呼び出すことができます。CORS 認証の構成について、OAuth を使用した Looker API の認証のドキュメントで確認する。