メインコンテンツへスキップ
サービスアカウントは、人間のユーザーを介さずに認証するためにOAuth 2.0 Client Credentials フローを使用します。管理者がサービスアカウントを作成した後、以下の手順に従って認証を行い、リクエストを発行します。

前提条件

開始する前に、以下を確認してください:
  • Administrator がサービスアカウントを作成し、Client Id とClient Secret を共有していること。これらの認証情報は、サービスアカウントの作成時に一度だけ表示されます。サービスアカウントの作成手順については、Service Accounts を参照してください。
  • サービスアカウントに、データコネクションまたは仮想スキーマに対する権限が少なくとも 1 つ割り当てられていること。Administrator はEdit Service Account ページから権限を設定します。詳細については、権限とアクセス制御 を参照してください。
  • サービスアカウントのステータスがActive であること。非アクティブなサービスアカウントは認証できません。
  • クエリするコネクションがShared Authentication を使用していること。サービスアカウントは、そのコネクションに対する権限があっても、Per-User Authentication を使用するコネクションにはサインインできません。詳細については、サービスアカウントのコネクション要件 を参照してください。
Client Secret をお持ちでない場合は、Administrator に依頼してIdentities ページの Service Accounts タブからサービスアカウントの認証情報をローテーションしてもらってください。新しいシークレットは認証情報のローテーション直後に表示されます。シークレットは一度しか表示されません。

認証

Authentication ガイドの OAuth 2.0 Client Credentials の手順に従って、ベアラートークンを取得し、最初のAPI 呼び出しを行います。

セットアップの検証

権限を持つコネクションに対してクエリを実行します。成功レスポンスが返れば、サービスアカウントの認証が完了し、利用可能な状態であることが確認できます。 リクエストが失敗した場合は、以下を確認してください:
  • トークンの有効期限切れ:トークンは expires_in の期間経過後に失効します。新しいトークンをリクエストして再試行してください。
  • 権限の不足:サービスアカウントには、クエリ対象のコネクションに対する権限が必要です。Administrator に連絡し、Identities ページの Service Accounts タブで権限を確認または更新してください。
  • 非アクティブなアカウント:サービスアカウントのステータスはActive である必要があります。Administrator はIdentities ページの Service Accounts タブからステータスを確認および更新できます。
  • ユーザーごとのコネクション:クエリが空のスキーマ一覧やテーブル一覧、OAuth エラー、または「A table could not be found」を返す場合、コネクションがPer-User Authentication を使用している可能性があります。サービスアカウントは、ユーザーごとのコネクションにサインインできません。代わりにShared Authentication を使用するコネクションに対してクエリを実行してください。コネクションの認証モデルについては、Administrator に確認してください。
最終更新日 2026年10月29日