Looker API で何かを行うには、まず認証を行う必要があります。必要な手順は、SDK を使用しているかどうかによって異なります。
SDK を使用した認証
API 認証に推奨される方法は次のとおりです。
Looker インスタンスの [管理] セクションの [ユーザー] ページで API 認証情報を作成します。Looker 管理者でない場合は、Looker 管理者に API 認証情報を作成してもらいます。
API 認証情報は常に Looker ユーザー アカウントにバインドされています。API リクエストは、API3 認証情報に関連付けられたユーザーとして実行されます。API の呼び出しでは、ユーザーに閲覧が許可されているデータのみが返され、ユーザーに変更が許可されている内容のみが変更されます。
生成した API 認証情報には、クライアント ID とクライアント シークレットがあります。これらの情報は SDK に提供する必要があります。これを行う手順については、SDK のドキュメントをご覧ください。
SDK は、必要なアクセス トークンを取得し、後続のすべての API リクエストに挿入します。
SDK を使用しない認証
SDK を使用した API 認証が推奨される方法です。SDK を使用せずに認証するには:
Looker インスタンスの [管理] セクションの [ユーザー] ページで API 認証情報を作成します。Looker 管理者でない場合は、Looker 管理者に API 認証情報を作成してもらいます。
API 認証情報は常に Looker ユーザー アカウントにバインドされています。API リクエストは、API3 認証情報に関連付けられたユーザーとして実行されます。API の呼び出しでは、ユーザーに閲覧が許可されているデータのみが返され、ユーザーに変更が許可されている内容のみが変更されます。
API の
login
エンドポイントを呼び出して、短期の OAuth 2.0 アクセス トークンを取得します。クライアント ID とクライアント シークレットを含め、ステップ 1 で生成した API 認証情報を指定する必要があります。そのアクセス トークンを 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 アクセス トークンは、アクセス トークンの有効期限が切れるか、logout
エンドポイントを呼び出して無効にされるまで、複数の API リクエストで使用できます。期限切れのアクセス トークンを使用する API リクエストは、401 Authorization Required
HTTP レスポンスで失敗します。
ユーザーのログイン設定を使用した API の操作
Looker API 認証は Looker ユーザーのログインから完全に独立しています。ワンタイム パスコード(OTP、2FA)やディレクトリ認証(LDAP、SAML など)のユーザー認証プロトコルは、Looker API 認証には適用されません。
そのため、ユーザー認証プロトコルからユーザーの情報を削除しても、API 認証情報は削除されません。ユーザーの個人情報の削除のドキュメント ページに記載されている手順に沿って、Looker からユーザーの個人データをすべて削除し、API 経由などでログインできないようにします。
API の認証情報を管理できます。
- 1 つの Looker ユーザー アカウントに複数の API 認証情報のセットをバインドできます。
- 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 認証のドキュメント ページをご覧ください。