Looker API の認証

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

SDK による認証

これは API 認証に推奨される方法です。

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

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

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

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

SDK を使用しない認証

SDK を使用して API 認証を行うことが推奨されます。SDK を使用せずに認証するには:

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

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

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

  3. そのアクセス トークンを 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 アクセス トークンは、アクセス トークンの有効期限が切れるか、logout エンドポイントを呼び出して無効になるまで、複数の API リクエストで使用できます。期限切れのアクセス トークンを使用する API リクエストは、401 Authorization Required HTTP レスポンスで失敗します。

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

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

そのため、ユーザー認証プロトコルからユーザーの情報を削除しても、API 認証情報は削除されません。ユーザーの個人情報の削除のドキュメント ページに記載されている手順に沿って、Looker からユーザーの個人データをすべて削除し、API 経由などでログインできないようにします。

API の認証情報を管理できます。

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

HTTPS 認証

クライアント SDK を使用して認証の詳細を処理している場合でも、Looker API の認証の仕組みを確認することを必要とする場合があります。認証の詳細については、GitHub で Looker API の認証方法をご覧ください。

OAuth を使用した認証

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