BigQuery Data Transfer Service を有効にする

BigQuery Data Transfer Service を使用するには、プロジェクトのオーナーとして次の手順を行う必要があります。

  • プロジェクトを作成して BigQuery API を有効にします。
  • BigQuery Data Transfer Service を有効にします。

Identity and Access Management(IAM)ロールの詳細については、IAM ドキュメントのロールについてをご覧ください。

プロジェクトを作成して BigQuery API を有効にする

BigQuery Data Transfer Service を使用する前に、プロジェクトを作成し、通常はこのプロジェクトで請求を有効にする必要があります。BigQuery Data Transfer Service で既存のプロジェクトを使用することも、新しいプロジェクトを作成することもできます。既存のプロジェクトを使用する場合は、BigQuery API を有効にする必要があります。

プロジェクトを作成して BigQuery API を有効にするには:

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

  3. すべての転送について、プロジェクトで課金を有効にします。無料の転送では、$0 が請求されます。

    課金の有効化が必要になるのは、プロジェクトごとに 1 回のみです。複数のソースからデータを転送する場合も同様です。BigQuery でデータのクエリを行うには、データの転送後に課金を有効にする必要があります。

    プロジェクトに対して課金が有効になっていることを確認するで詳細をご覧ください。

  4. 新しいプロジェクトでは、BigQuery が自動的に有効になります。既存のプロジェクトで BigQuery を有効にするには、BigQuery API を有効にします。

    BigQuery API を有効にする

BigQuery Data Transfer Service を有効にする

転送を作成する前に、BigQuery Data Transfer Service を有効にする必要があります。BigQuery Data Transfer Service を有効にするには、プロジェクトのオーナーのロールが付与されている必要があります。

BigQuery Data Transfer Service を有効にするには:

  1. API ライブラリの BigQuery Data Transfer API ページを開きます。

  2. プルダウン メニューから、適切なプロジェクトを選択します。

  3. [有効にする] ボタンをクリックします。

    Data Transfer API を有効にします

サービス エージェント

BigQuery Data Transfer Service は、サービス エージェントを使用してリソースへのアクセスとリソースの管理を行います。これには次のリソースが含まれますが、これらに限定されるものではありません。

  • データ転送の承認時に使用するサービス アカウントのアクセス トークンを取得する。
  • 有効な Pub/Sub トピックに通知をパブリッシュする。
  • BigQuery ジョブを開始する。

サービス エージェントは、BigQuery Data Transfer Service を有効にした後で API を初めて使用するときに、自動的に作成されます。サービス エージェントを作成すると、事前定義のサービス エージェント ロールが自動的に付与されます。

プロジェクト間のサービス アカウントの承認

BigQuery Data Transfer Service が有効になっているプロジェクトとは別のプロジェクトを使用して、サービス アカウントを使用してデータ転送を承認する場合、roles/iam.serviceAccountTokenCreator ロールを、次の Google Cloud CLI コマンドを使用しているサービス エージェントに付与する必要があります。

gcloud iam service-accounts add-iam-policy-binding service_account \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \
--role roles/iam.serviceAccountTokenCreator

ここで

  • service_account は、データ転送の承認に使用されるプロジェクト間のサービス アカウントです。
  • project_number は、BigQuery Data Transfer Service が有効になっているプロジェクトのプロジェクト番号です。

プロジェクト間のリソース構成の詳細については、Identity and Access Management サービス アカウントの権限借用に関するドキュメントの別のプロジェクトのリソースの構成をご覧ください。

サービス エージェントの手動作成

API を操作する前にサービス エージェントの作成をトリガーする場合(たとえば、サービス エージェントに追加のロールを付与する必要がある場合)は、次のいずれかの方法を使用できます。

サービス エージェントの作成を手動でトリガーする場合、事前定義されたサービス エージェントのロールが自動的に付与されることはありません。次の Google Cloud CLI コマンドを使用して、サービス エージェントに事前定義ロールを手動で付与する必要があります。

gcloud projects add-iam-policy-binding project_number \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \
--role roles/bigquerydatatransfer.serviceAgent

ここで

  • project_number は、BigQuery Data Transfer Service が有効になっているプロジェクトのプロジェクト番号です。

bigquery.adminアクセス権を付与

BigQuery Data Transfer Service 転送を作成するユーザーには、bigquery.admin IAM 事前定義ロールを付与することをおすすめします。bigquery.admin ロールには、最も一般的なタスクを実行するために必要な IAM 権限が含まれています。bigquery.admin ロールには、次の BigQuery Data Transfer Service の権限が含まれます。

  • BigQuery Data Transfer Service の権限:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • BigQuery の権限
    • bigquery.datasets.get
    • bigquery.datasets.update
    • bigquery.jobs.create

場合によっては、必要な権限がデータソースによって異なることがあります。具体的な IAM 情報については、各データソース転送ガイドの「必要な権限」をご覧ください。たとえば、Amazon S3 の転送権限Cloud Storage の転送権限をご覧ください。

bigquery.admin 役割を付与するには次の手順に従います。

コンソール

  1. Google Cloud コンソールで [IAM] ページを開きます。

    [IAM] ページを開く

  2. [プロジェクトを選択] をクリックします。

  3. プロジェクトを選択して [開く] をクリックします。

  4. [追加] をクリックしてプロジェクトに新しいメンバーを追加し、権限を設定します。

  5. [メンバーの追加] ダイアログで、次の操作を行います。

    • [メンバー] で、ユーザーまたはグループのメールアドレスを入力します。
    • [役割を選択] プルダウンで [BigQuery] > [BigQuery 管理者] の順にクリックします。
    • [追加] をクリックします。

      管理者権限を付与する

gcloud

Google Cloud CLI を使用して、ユーザーやグループに bigquery.admin ロールを付与できます。

プロジェクトの IAM ポリシーにバインドを 1 つ追加するには、次のコマンドを入力します。ユーザーを追加するには、フォーマット user:user@example.com--member フラグを指定します。グループを追加するには、フォーマット group:group@example.com--member フラグを指定します。

gcloud projects add-iam-policy-binding project_id \
--member principal:address \
--role roles/bigquery.admin

ここで

  • project_id はプロジェクト ID です。
  • principalgroupuser のどちらかです。
  • address はユーザーまたはグループのメールアドレスです。

例:

gcloud projects add-iam-policy-binding myproject \
--member group:group@example.com \
--role roles/bigquery.admin

このコマンドでは、更新したポリシーが出力されます。

    bindings:
    - members:
      - group:group@example.com
        role: roles/bigquery.admin
    

BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。

次のステップ

BigQuery Data Transfer Service を有効にしたら、データソースの転送を作成します。