通知

この記事では、Looker Studio について説明します。Looker のドキュメントについては、https://cloud.google.com/looker/docs/intro をご覧ください。

Looker Studio 用に Google Cloud サービス アカウントを設定する

サービス アカウントを作成し、Looker Studio に代わってデータにアクセスするよう構成します。
注: 
  • この記事は、サービス アカウント管理者を対象としています。データソースで既存のサービス アカウントを使用する方法について詳しくは、データの認証情報をご覧ください。
  • サービス アカウントの認証情報は現在、BigQuery データソースでのみ使用できます。

Looker Studio では、オーナーの認証情報を使ってアクセス権を委任したり、閲覧者の認証情報を使って個々のレポート閲覧者にデータへのアクセス権を要求したりする代わりに、サービス アカウントを使ってデータにアクセスできます。サービス アカウントは人間ではないユーザーを表す特別なタイプの Google アカウントで、Google の API やサービスのデータへのアクセスの認証を受けることができます。

Looker Studio でサービス アカウントを使用するには、組織の Looker Studio サービス エージェントをアカウントのユーザー(プリンシパル)として追加します。これにより、Looker Studio で使用できるサービス アカウントを管理できるようになるほか、組織内のユーザーが必要なデータに簡単にアクセスできるようになります。

個々のユーザーの認証情報ではなくサービス アカウントを使用すると、以下のようなメリットがあります。

  • サービス アカウントの認証情報を使用しているデータソースは、作成者が退職した場合でも悪影響を受けることはありません。
  • サービス アカウントの認証情報を使用すると、デバイス ポリシーを使用する VPC Service Controls の境界の背後にあるデータにアクセスできます。
  • スケジュール設定されたメールやスケジュール設定されたデータ抽出などの自動機能では、VPC Service Controls の境界の背後にあるデータソースが使用されます。

詳しくは、サービス アカウントをご覧ください。

Looker Studio 専用の新しいサービス アカウントを作成することをおすすめします。たとえば、マーケティング、セールス、エンジニアリングの各チームが Looker Studio で使用する専用のサービス アカウントを作成できます。
この記事の内容:

始める前に

  • サービス アカウントを設定するには、サービス アカウント管理者roles/iam.serviceAccountAdmin)またはサービス アカウント作成roles/iam.serviceAccountCreator のロールを Google Cloud プロジェクトに追加します。詳しくは、サービス アカウントのロールに関する記事をご覧ください。
  • Looker Studio サービス エージェントを取得するには、Workspace または Cloud Identity のユーザーである必要があります。

設定手順

この記事の手順は、チームまたはユーザー グループごとに異なるサービス アカウントを作成する場合を除き、複数回実施する必要はありません。複数のアカウントを作成する場合は、追加するアカウントごとにこの手順を繰り返します。

Looker Studio サービス エージェントを取得する

サービス アカウントにデータへのアクセスを許可するには、組織の Looker Studio サービス エージェントを指定する必要があります。サービス エージェントは、Looker Studio のヘルプページから取得できます。

  1. Looker Studio サービス エージェントのヘルプページに移動します。
  2. そのページに表示されるサービス エージェントのメールアドレスをコピーします。

[Looker Studio サービス エージェント] のヘルプページで [組織] と [サービス エージェント] が表示されている例。ヘルプアイコンをクリックすると、詳しい説明が表示されます。[サービス アカウント] ハイパーリンクをクリックすると、Cloud Console の構成ページに移動します。[手順についてはこちらをご覧ください] をクリックすると、ヘルプセンターに移動します。

Looker Studio サービス アカウントを作成する

サービス アカウントを作成する手順は、Google Cloud IAM のドキュメントで確認できます。サービス アカウントは、Cloud Console または Cloud Shell コマンドラインを使って作成できます。

Cloud Console を使用する

ステップ 1: 新しいサービス アカウントを作成する

  1. Cloud Console で [サービス アカウントの作成] ページに移動します。

    [サービス アカウントの作成] に移動

  2. プロジェクトを選択します。
  3. Cloud Console に表示するサービス アカウント名を入力します。

    Cloud Console では、この名前に基づいてサービス アカウント ID が生成されます。必要に応じて ID を編集してください。後で ID を変更することはできません。

  4. (省略可)サービス アカウントの説明を入力します。
  5. [作成して続行] をクリックします。
    「サービス アカウントを作成する」の「ステップ 1: サービス アカウントの詳細」を示す Google Cloud Platform インターフェースの例。[サービス アカウント名] には「Looker Studio サービス アカウント」、[サービス アカウント ID] には「data-studio-service-accoun-309」、[サービス アカウントの説明] には [Looker Studio ユーザー用のサービス アカウント] と入力されています。[作成して続行] ボタンがハイライト表示されています。

  6. ステップ 2 の [このサービス アカウントにプロジェクトへのアクセスを許可する] で、サービス アカウントに BigQuery ジョブユーザーIAM ロールを付与します。
    プロジェクトへのアクセス権をサービス アカウントに付与します。この例では、ユーザーはフィルタ ボックスに「BigQuery ジョブ」と入力し、[BigQuery ジョブユーザー] のロールを選択しています。
  7. [続行] をクリックします。
  8. [サービス アカウント ユーザーロール] フィールドに、このサービス アカウントを使ってデータソースの認証情報を提供できるユーザーを追加します。ユーザーを追加する準備ができていない場合は、後述する「ステップ 3: ユーザーロールを付与する」の手順に沿って追加できます。
  9. [完了] をクリックしてサービス アカウントを保存し、プロジェクトのサービス アカウントのリストのページに戻ります。

ステップ 2: Looker Studio サービス エージェントにサービス アカウントへのアクセスを許可する

  1. Cloud Console のサービス アカウントのリストに戻ります。
  2. 作成した新しい Looker Studio サービス アカウントをリスト内でクリックして選択します。
  3. 上部にある [権限] をクリックします。
  4. [共有アイコンアクセスを許可] をクリックします。
  5. 右側の [<プロジェクト> にプリンシパルを追加する] で、(上記のステップ 1 でコピーした)Looker Studio サービス エージェントのメールアドレスを [新しいプリンシパル] ボックスに貼り付けます。
  6. サービス エージェントに iam.serviceAccount.getAccessToken 権限を付与するロールを選択します。たとえば、サービス アカウント トークン作成者のロールだけでなく、この権限を付与する任意のカスタムロールも使用できます。
  7. [保存] をクリックします。
ヒント: サービス エージェントのアドレスでは、service-account@<project_id>.iam.gserviceaccount.com の形式が使用されます。プロジェクト ID がわかっている場合は、手動でアドレスを作成できます。

[Looker Studio サービス エージェント] をサービス アカウントのプリンシパルとして追加する例。[Looker Studio サービス エージェント] が新しいプリンシパルとして追加されています。[サービス アカウント トークン作成者] のロールが付与されています。

ステップ 3: ユーザーロールを付与する

: 上述のステップ 1 で説明したように、サービス アカウントの作成時に Looker Studio ユーザーをすでに追加している場合、この手順は省略可能です。

データソースを作成または編集する Looker Studio ユーザーには、サービス アカウント ユーザーのロール(roles/iam.serviceAccountUser)など、iam.serviceAccounts.actAs 権限を含むロールを付与する必要があります。このロールは、プロジェクトまたは個々のサービス アカウントに付与できますが、サービス アカウントのみに付与することをおすすめします。手順については、サービス アカウントの権限借用の管理をご覧ください。

ヒント: この手順を完了する準備が整っていない場合は、後で再開できます。
ヒント: サービス エージェント以外のユーザーにはサービス アカウント トークン作成者のロールは付与しないことをおすすめします。これは Looker Studio では必要ありません。
: Looker Studio のレポートの表示のみ行うユーザーは、サービス アカウントの権限を持っている必要はありません。
  1. Cloud Console のサービス アカウントのリストに移動します。
  2. Looker Studio サービス アカウントをリスト内でクリックして選択します。
  3. ページ上部の [権限] をクリックします。
  4. [共有アイコンアクセスを許可] をクリックします。
  5. 右側の [<サービス アカウント> のプリンシパルとロールを追加] で、ユーザーのメールアドレスを [新しいプリンシパル] ボックスに入力します。
  6. [サービス アカウント ユーザー] のロールを選択します。
  7. [保存] をクリックします。

サービス アカウントのプリンシパルとしてユーザーを追加し、[サービス アカウント ユーザー] のロールを付与する例。

ステップ 4: サービス アカウントで BigQuery のデータにアクセスできるようにする

Looker Studio にデータへのアクセスを許可するには、テーブルレベルまたはデータセット レベルでサービス アカウントに [BigQuery データ閲覧者] のロールを付与します。

: サービス アカウントにアクセス権をプロジェクト レベルで付与することはおすすめしません。

テーブルへのアクセス権を付与するには:

  1. Cloud Console のサービス アカウントのリストに移動します。
  2. Looker Studio サービス アカウントのメールアドレスをコピーします。
  3. BigQuery に移動して、プロジェクトを開きます。
  4. をクリックしてデータセットを展開します。
  5. テーブルを選択します。
  6. ツールバーの [共有アイコン 共有] をクリックします。
  7. 右側に表示されたパネルで、[共有アイコン プリンシパルを追加] をクリックします。
  8. [新しいプリンシパル] ボックスに、Looker Studio サービス アカウントのメールアドレスを貼り付けます。
  9. [BigQuery データ閲覧者] のロールを選択します。
  10. [保存] をクリックします。

データセットへのアクセス権を付与するには:

  1. Cloud Console のサービス アカウントのリストに移動します。
  2. Looker Studio サービス アカウントのメールアドレスをコピーします。
  3. BigQuery に移動してプロジェクトを開き、データセットを見つけます。
  4. データセット名の右にある [アクションを表示 [詳細オプション] アイコン] をクリックします。
  5. [開く] をクリックします。
  6. ツールバーで、共有アイコン [共有] > [権限] をクリックします。
  7. 右側に表示されたパネルで、[共有アイコン プリンシパルを追加] をクリックします。
  8. [新しいプリンシパル] ボックスに、Looker Studio サービス アカウントのメールアドレスを貼り付けます。
  9. [BigQuery データ閲覧者] のロールを選択します。
  10. [保存] をクリックします。
Cloud Shell を使用する

ステップ 1: 新しいサービス アカウントを作成する

サービス アカウントの作成と管理gcloud に記載された一般的な手順を行います。

  1. Cloud Shell を開きます
  2. 必要に応じてプロジェクトを選択します。
  3. サービス アカウントを作成するには、gcloud iam service-accounts create コマンドを実行します。任意のアカウント名、説明、表示名を使用できます。


    :

    gcloud iam service-accounts create datastudio_service_account \
    --description="Use for Looker Studio access to BigQuery" \
    --display-name="DS_BQ"
  1. Looker Studio で使用する GCP プロジェクトの BigQuery データにアクセスするには、サービス アカウントに bigquery.jobs.create 権限を付与します。この権限を付与するには、BigQuery ジョブユーザーIAM ロールを付与します。

    また、Looker Studio で使用するプロジェクトまたはデータセットの bigquery.tables.getData 権限と bigquery.tables.get 権限をサービス アカウントに付与します。これらの権限を付与するには、BigQuery データ閲覧者のロール(roles/bigquery.dataViewer)を付与します。

    これらのロールを付与するには、gcloud projects add-iam-policy-binding コマンドを実行します。次の例では、「PROJECT_ID」を自身のプロジェクト ID に置き換えます。

    :
    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member = "serviceAccount:datastudio_sa@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/bigquery.jobUser"
     
    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member = "serviceAccount:datastudio_sa@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/bigquery.dataViewer"

ステップ 2: Looker Studio サービス エージェントにサービス アカウントへのアクセスを許可する

Looker Studio サービス エージェントにサービス アカウント経由でのデータへのアクセスを許可するには、サービス アカウント トークン作成者のロール(roles/iam.serviceAccountTokenCreator)をサービス エージェントに付与します。これを行うには、gcloud iam service-accounts add-iam-policy-binding コマンドを実行します。次の例では、「ORG_ID」を自身の組織 ID に置き換えます。

例:

gcloud iam service-accounts add-iam-policy-binding \ datastudio_service_account@PROJECT_ID.iam.gserviceaccount.com \ --member="service-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountTokenCreator"

ステップ 3: ユーザーロールを付与する

データソースを作成または編集する Looker Studio ユーザーには、サービス アカウント ユーザーのロール(roles/iam.serviceAccountUser)など、iam.serviceAccounts.actAs 権限を含むロールを付与する必要があります。このロールは、プロジェクトまたは個々のサービス アカウントに付与できますが、サービス アカウントのみに付与することをおすすめします。手順については、サービス アカウントの権限借用の管理をご覧ください。

この手順を完了する準備が整っていない場合は、後で再開できます。
ヒント: サービス エージェント以外のユーザーにはサービス アカウント トークン作成者のロールは付与しないことをおすすめします。これは Looker Studio では必要ありません。
: Looker Studio のレポートの表示のみ行うユーザーは、サービス アカウントの権限を持っている必要はありません。

サービス アカウント ユーザーのロールを付与するには、gcloud projects add-iam-policy-binding コマンドを実行します。次の例では、「PROJECT_ID」を自身のプロジェクト ID、「user@example.com」を 1 つ以上の有効なメールアドレスに置き換えます(複数のメールアドレスを指定する場合はカンマで区切ります)。

:

gcloud iam service-accounts add-iam-policy-binding \ datastudio_service_account@PROJECT_ID.iam.gserviceaccount.com \
--member="user:user@example.com" \
--role="roles/iam.serviceAccountUser"

ステップ 4: サービス アカウントで BigQuery のデータにアクセスできるようにする

Looker Studio にデータへのアクセスを許可するには、テーブルレベルまたはデータセット レベルでサービス アカウントに [BigQuery データ閲覧者] のロールを付与します。

これを行うには、上記の Cloud Console の手順のステップ 4 を実施すると簡単です。bq コマンドライン ツールを使ってデータへのアクセス権を付与するには、データセットへのアクセスの制御をご覧ください。

Looker Studio ユーザーに Looker Studio サービス アカウントの情報を提供する

Looker Studio を使用するユーザーは、データソースの作成時に使用するサービス アカウントを把握している必要があります。利用可能なサービス アカウントのリストを Looker Studio 内から確認することはできないため、組織のドキュメント、社内ウェブサイト、またはメールでこの情報を提供する必要があります。

: サービス アカウント キーを手動で管理する必要はありません。また、ユーザーが Cloud Console からサービス アカウント キーをダウンロードして Looker Studio にアップロードする必要もありません。サービス アカウントごとに作成できるサービス アカウント キーの数には制限がありますが(最大 10 個)、Looker Studio には適用されません。

 

サービス アカウントの認証情報を使用したデータソースを編集する

ユーザーがサービス アカウントの認証情報を使用したデータソースを編集すると、Looker Studio は、ユーザーがそのサービス アカウントを使用する権限を持っているかどうかをチェックします。借用権限を持っていない場合、ユーザーの認証情報を使用するようデータソースの設定が切り替わります。

サービス アカウントを使用してデータにアクセスしたユーザーを確認する

Cloud Console でサービス アカウントの監査ログを確認できます。サービス アカウントの監査ログを受信するには、データアクセス アクティビティの IAM 監査ログを有効にする必要があります。

エラー

このセクションでは、Looker Studio のデータソース作成者とレポート閲覧者がサービス アカウントを使用しようとした際に表示される可能性のあるエラーについて説明します。ほとんどの場合、これらのエラーの根本原因は、サービス アカウントの設定が間違っているか不完全であることです。

サービス エージェントのロールが指定されていない

メッセージ

  • Looker Studio のサービス エージェントには、このサービスの iam.serviceAccount.getAccessToken 権限がありません。
  • このデータソースのサービス アカウントで使用されているサービス エージェントには、「サービス アカウント トークン作成者」のロールがありません。

原因

サービス エージェントにサービス アカウント トークン作成者のロール(または iam.serviceAccount.getAccessToken 権限を含む別のロール)が付与されていません。

解決策

サービス エージェントにサービス アカウント トークン作成者のロールを付与します。

データにアクセスできない

メッセージ

このサービス アカウントは基盤データセットにアクセスできません。

原因

プロジェクトのデータへのアクセス権がサービス アカウントに与えられていません。

解決策

基になるテーブル、データセット、プロジェクトのサービス アカウントには、少なくとも BigQuery データ閲覧者のロールを付与します。

ユーザーロールが割り当てられていない

メッセージ

このサービス アカウントを使用する権限がありません。

原因

ユーザーは、サービス アカウント ユーザーのロールを持つプリンシパルとしてサービス アカウントに追加されていません。

解決策

サービス アカウントのサービス アカウント ユーザーのロールをユーザーに付与します。

アカウントでサービス エージェントを利用できない

メッセージ

  • このアカウントではサービス エージェントを生成できません。Google Workspace または Cloud Identity の管理対象アカウントでもう一度お試しください。
  • サービス エージェントの認証情報は、Google Workspace または Cloud Identity の管理対象組織でのみ使用できます。この機能を使用するには、別のアカウントを使用してください。

原因

ユーザーは、サービス アカウントで管理されているデータに標準の(一般ユーザー向け)Google アカウントからアクセスしようとしています。

解決策

Google Workspace または Cloud Identity アカウントを使ってデータにアクセスします。

認証情報のダイアログでサービス エージェントを使用できない

メッセージ

Looker Studio のサービス エージェントはデータに直接アクセスできません。サービス アカウントを使用してください。

解決策

サービス エージェントとサービス アカウントは異なります。認証情報のダイアログでサービス アカウントを入力し、Cloud Console を使って、使用可能なサービス アカウントのリストを確認できます。

Cloud コンソールを使用する

  1. [Google Cloud Platform] > [IAM と管理] > [サービス アカウント] のページに移動します。
  2. 必要に応じてプロジェクトを選択します。
  3. [プロジェクトのサービス アカウント] ページで、Looker Studio で BigQuery データへのアクセスに使用するサービス アカウントを見つけます。
  4. そのアカウントのメールアドレスをコピーします。

Cloud Shell を使用する

  1. Cloud Shell を開きます
  2. 必要に応じてプロジェクトを選択します。
  3. アクセス権を持つサービス アカウントを一覧表示するには、gcloud iam service-accounts list コマンドを実行します。

例:

gcloud iam service-accounts list

制限事項

  • 現在、サービス アカウントの認証情報は BigQuery データソースでのみ使用できます。サービス アカウントには IAM の制限事項が適用されます。
  • サービス アカウントの権限に対する変更が Looker Studio で反映されるまでに数分かかることがあります。

関連資料

この情報は役に立ちましたか?

改善できる点がありましたらお聞かせください。
検索
検索をクリア
検索を終了
Google アプリ
メインメニュー