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 を有効にするには:
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
すべての転送について、プロジェクトで課金を有効にします。無料の転送では、$0 が請求されます。
課金の有効化が必要になるのは、プロジェクトごとに 1 回のみです。複数のソースからデータを転送する場合も同様です。BigQuery でデータのクエリを行うには、データの転送後に課金を有効にする必要があります。
プロジェクトに対して課金が有効になっていることを確認するで詳細をご覧ください。
- 新しいプロジェクトでは、BigQuery が自動的に有効になります。既存のプロジェクトで BigQuery を有効にするには、BigQuery API を有効にします。
BigQuery API を有効にする
BigQuery Data Transfer Service を有効にする
転送を作成する前に、BigQuery Data Transfer Service を有効にする必要があります。BigQuery Data Transfer Service を有効にするには、プロジェクトのオーナーのロールが付与されている必要があります。
BigQuery Data Transfer Service を有効にするには:
API ライブラリの BigQuery 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 を操作する前にサービス エージェントの作成をトリガーする場合(たとえば、サービス エージェントに追加のロールを付与する必要がある場合)は、次のいずれかの方法を使用できます。
- API: services.GenerateServiceIdentity
- gcloud CLI: gcloud beta services identity create
- Terraform プロバイダ: google_project_service_identity
サービス エージェントの作成を手動でトリガーする場合、事前定義されたサービス エージェントのロールが自動的に付与されることはありません。次の 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
ロールを付与するには:
コンソール
Google Cloud コンソールで [IAM] ページを開きます
[プロジェクトを選択] をクリックします。
プロジェクトを選択して [開く] をクリックします。
[追加] をクリックしてプロジェクトに新しいメンバーを追加し、権限を設定します。
[メンバーの追加] ダイアログで、次の操作を行います。
- [メンバー] で、ユーザーまたはグループのメールアドレスを入力します。
- [役割を選択] プルダウンで [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 です。
- principal は
group
かuser
のどちらかです。 - 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 を有効にしたら、データソースの転送を作成します。
- Amazon S3
- Amazon Redshift
- Azure Blob Storage
- キャンペーン マネージャー
- Cloud Storage
- ディスプレイ&ビデオ 360(プレビュー)
- Facebook 広告(プレビュー)
- Google アド マネージャー
- Google 広告
- Google Merchant Center(プレビュー)
- Google Play
- Oracle(プレビュー)
- Salesforce(プレビュー)
- Salesforce Marketing Cloud(プレビュー)
- 検索広告 360
- ServiceNow(プレビュー)
- Teradata
- YouTube チャンネル
- YouTube コンテンツ所有者