サービス アカウントを使用する

コミュニティ コネクタでサービス アカウントを使用すると、リソースのアクセス権限を集中管理できます。一般的な使用例は、ユーザーが自分の認証情報ではアクセスできないデータへのアクセスを委任することです。

このトピックについて、サービス アカウントについてもご確認ください。

利点

  • データアクセスの請求を統合できます。
  • コネクタに独自のアクセス制御レイヤを実装できます。
  • ユーザーの認証情報ではアクセスできないデータまたはリソースへのアクセス権を委任できます。

実装手順

  1. データを取得するプラットフォームのサービス アカウントを作成します。
  2. サービス アカウントが必要なリソースにアクセスできるように、必要な権限をサービス アカウントに付与します。
  3. サービス アカウントの認証情報をコネクタのスクリプト プロパティに保存します。
  4. コネクタの実行中に、保存されている認証情報を使用して必要なデータを取得します。
  5. 省略可)データをフィルタ処理するアクセス制御ロジックを実装します。

例: Looker Studio の高度なサービスとサービス アカウントを使用して BigQuery にアクセスする

ユーザー自身が BigQuery テーブルからダッシュボードを作成できるようにするソリューションを構築しているとします。ユーザーが Looker Studio の BigQuery コネクタを使用する場合は、BigQuery テーブルに対する読み取りアクセス権が必要になります。Google Cloud Platform(GCP)の請求先アカウントも必要になります。次の手順では、サービス アカウントを使用して請求を統合し、BigQuery データへのアクセスを委任する方法について説明します。

  1. 目的の GCP プロジェクトでサービス アカウントを作成します。
  2. サービス アカウントで BigQuery ジョブを作成し、必要なテーブルのデータを表示できるようにします。詳しくは、BigQuery アクセス制御についての記事をご覧ください。
  3. サービス アカウントのキーを作成し、認証情報をコネクタのスクリプト プロパティに保存します。
  4. Apps Script プロジェクトに OAuth2 Apps Script ライブラリを含めます。
  5. getData 関数では、サービス アカウントを認証してアクセス トークンを生成します。OAuth2 スコープを https://www.googleapis.com/auth/bigquery.readonly に設定します。
  6. getData レスポンスで他の設定アイテムとともにアクセス トークンを返します。