通知

このヘルプセンターは Cloud に移行されます。移行の詳細

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

サービス アカウントを作成し、Looker Studio に代わってデータにアクセスするよう構成します。
対象者:

この記事は、Google Cloud 管理者を対象としています。Looker Studio データソースで既存のサービス アカウントを使用する方法について詳しくは、データの認証情報をご覧ください。

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

:

サービス アカウントの認証情報は現在、BigQuery データソースでのみ使用できます。

この記事の内容:

Looker Studio でサービス アカウントを使用するメリット

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 サービス エージェント] ページに、データにアクセスするためのサービス アカウントを設定する際に必要なサービス エージェントのメールアドレスが表示されています。

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. [作成して続行] をクリックします。
    Google Cloud Platform の [サービス アカウントの作成] ページに、[サービス アカウント名]、[サービス アカウント ID]、[サービス アカウントの説明] の各フィールドに値が入力されています。

  6. ステップ 2 の [このサービス アカウントにプロジェクトへのアクセスを許可する] で、Looker Studio で接続するデータを含むプロジェクトに対する [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 サービス エージェントのメールアドレスを入力し、[ロール] フィルタ ボックスに「トークン」と入力して、結果のプルダウン メニューから [サービス アカウント トークン作成者] のロールを選択しています。

ステップ 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 で使用する Google Cloud プロジェクトの 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 ユーザーがサービス アカウントの認証情報を使用するデータソースを作成するには、他のデータの認証情報の種類向けの手順と同じ基本的な手順を行います。

  1. BigQuery データソースを作成または編集します
  2. ツールバーで [データの認証情報] をクリックします。
  3. [サービス アカウント認証情報] を選択します。
  4. ボックスにサービス アカウントのメールアドレスを入力します。
  5. [更新] をクリックします。

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

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

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

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

サービス アカウントのシナリオの例

自社の Looker Studio ユーザーが自国の子会社のデータにのみアクセスできるようにするとします。その場合、解決策としては、国ごとにサービス アカウントを作成し、その国の Looker Studio ユーザーにのみ、サービス アカウントとして機能するための権限を付与します。

設定例

この例では、英国、フランス、ドイツ向けに 3 つのサービス アカウントを作成します。次に、サービス アカウントをプリンシパルとして使用するデータソースを作成できるようにする適切なロールをサービス エージェントと任意のユーザーに割り当てます。

英国のサービス アカウント

service-account-1@example-org-uk-example-project.iam.gserviceaccount.com

英国のプリンシパル

プリンシパル ロール

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

サービス エージェントです。

サービス アカウント トークン作成者
ユーザー 1 サービス アカウント ユーザー
ユーザー 2 サービス アカウント ユーザー

フランスのサービス アカウント

service-account-1@example-org-fr-example-project.iam.gserviceaccount.com

フランスのプリンシパル

プリンシパル ロール

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

サービス エージェントです。

サービス アカウント トークン作成者
ユーザー 3 サービス アカウント ユーザー
ユーザー 4 サービス アカウント ユーザー

ドイツのサービス アカウント

service-account-1@example-org-de-example-project.iam.gserviceaccount.com

ドイツのプリンシパル

プリンシパル ロール

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

サービス エージェントです。

サービス アカウント トークン作成者
ユーザー 5 サービス アカウント ユーザー
ユーザー 6 サービス アカウント ユーザー
ヒント: サービス アカウント名は機密情報ではありません。ユーザー 5 が service-account-1@example-org-fr-example-project.iam.gserviceaccount.com が存在することを知っていたとしても、適切な権限を持っていないため使用することはできません。サービス エージェントを機能させるには、サービス アカウントに追加する必要があります(Looker Studio ではサービス エージェントを使ってサービス アカウントを活用します)。

エラー

このセクションでは、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 アプリ
メインメニュー