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

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

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

メリット

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

実装の手順

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

例: データポータルの Advanced Services とサービス アカウントを使用して BigQuery にアクセスする

ユーザー自身が BigQuery テーブルからダッシュボードを作成できるようにするソリューションを構築しているとします。データポータルの 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 レスポンスで他の構成アイテムとともにアクセス トークンを返します。