アクセス制御のリファレンス

概要

BigQuery Data Transfer Service は、Identity and Access Management を使用してリソースへのアクセスを管理します。リソースへのアクセス権を付与するには、1 つ以上の BigQuery IAM ロールをエンティティに割り当てます。BigQuery Data Transfer Service の権限は、BigQuery IAM ロールに組み込まれています。

このページでは、BigQuery Data Transfer Service の Identity and Access Management の権限とロールについて詳しく説明します。BigQuery でのアクセス制御の詳細については、BigQuery の事前定義ロールと権限をご覧ください。

BigQuery Data Transfer Service の権限

次の表に、BigQuery Data Transfer Service で使用可能な権限を示します。

権限 説明
bigquery.transfers.get 転送のメタデータを取得します。
bigquery.transfers.update 転送を作成、更新、削除します。

ロール

次の表に、BigQuery IAM 事前定義ロールとそのロールに含まれている権限を示します。BigQuery の権限と一緒に BigQuery Data Transfer Service の権限も示します。各権限は、それぞれ特定のリソースタイプを対象としています。

ロール 権限

BigQuery 管理者
roles/bigquery.admin

プロジェクト内のすべてのリソースを管理する権限を提供します。プロジェクト内のすべてのデータを管理でき、プロジェクト内で実行されている他のユーザーのジョブもキャンセルできます。

このロールを付与できる最下位レベルのリソース:

  • プロジェクト
  • bigquery.bireservations.*
  • bigquery.capacityCommitments.*
  • bigquery.config.*
  • bigquery.connections.*
  • bigquery.datasets.*
  • bigquery.jobs.*
  • bigquery.models.*
  • bigquery.readsessions.*
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • bigquery.routines.*
  • bigquery.rowAccessPolicies.create
  • bigquery.rowAccessPolicies.delete
  • bigquery.rowAccessPolicies.getIamPolicy
  • bigquery.rowAccessPolicies.list
  • bigquery.rowAccessPolicies.setIamPolicy
  • bigquery.rowAccessPolicies.update
  • bigquery.savedqueries.*
  • bigquery.tables.*
  • bigquery.transfers.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery Connection 管理者
roles/bigquery.connectionAdmin

  • bigquery.connections.*

BigQuery Connection ユーザー
roles/bigquery.connectionUser

  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.use

BigQuery データ編集者
roles/bigquery.dataEditor

このロールをテーブルまたはビューに適用すると、次の権限が付与されます。

  • テーブルまたはビューのデータとメタデータを読み取り、更新する。
  • テーブルまたはビューを削除する。

このロールは、個々のモデルやルーティンに適用できません。

このロールをデータセットに適用すると、次の権限が付与されます。

  • データセットのメタデータを読み取り、データセット内のテーブルを一覧表示する。
  • データセットのテーブルを作成、更新、取得、削除する。

プロジェクトまたは組織レベルで適用した場合、このロールは新しいデータセットを作成することもできます。

このロールを付与できる最下位レベルのリソース:

  • テーブル
  • ビュー
  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.updateTag
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.tables.create
  • bigquery.tables.createSnapshot
  • bigquery.tables.delete
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.restoreSnapshot
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery データオーナー
roles/bigquery.dataOwner

このロールをテーブルまたはビューに適用すると、次の権限が付与されます。

  • テーブルまたはビューのデータとメタデータを読み取り、更新する。
  • テーブルまたはビューを共有する。
  • テーブルまたはビューを削除する。

このロールは、個々のモデルやルーティンに適用できません。

このロールをデータセットに適用すると、次の権限が付与されます。

  • データセットを読み取り、更新、削除する。
  • データセットのテーブルを作成、更新、取得、削除する。

プロジェクトまたは組織レベルで適用した場合、このロールは新しいデータセットを作成することもできます。

このロールを付与できる最下位レベルのリソース:

  • テーブル
  • ビュー
  • bigquery.datasets.*
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.rowAccessPolicies.create
  • bigquery.rowAccessPolicies.delete
  • bigquery.rowAccessPolicies.getIamPolicy
  • bigquery.rowAccessPolicies.list
  • bigquery.rowAccessPolicies.setIamPolicy
  • bigquery.rowAccessPolicies.update
  • bigquery.tables.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery データ閲覧者
roles/bigquery.dataViewer

このロールをテーブルまたはビューに適用すると、次の権限が付与されます。

  • テーブルまたはビューからデータとメタデータを読み取る。

このロールは、個々のモデルやルーティンに適用できません。

このロールをデータセットに適用すると、次の権限が付与されます。

  • データセットのメタデータを読み取り、データセット内のテーブルを一覧表示する。
  • データセットのテーブルからデータとメタデータを読み取る。

プロジェクトまたは組織レベルで適用した場合、このロールは、プロジェクト内のすべてのデータセットを列挙することもできます。ただし、ジョブを実行するためには追加の役割が必要です。

このロールを付与できる最下位レベルのリソース:

  • テーブル
  • ビュー
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.tables.createSnapshot
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery フィルタ済みデータ閲覧者
roles/bigquery.filteredDataViewer

行アクセス ポリシーにより定義される、フィルタ済みテーブルデータを表示するためのアクセス権

  • bigquery.rowAccessPolicies.getFilteredData

BigQuery ジョブユーザー
roles/bigquery.jobUser

プロジェクト内でジョブ(クエリを含む)を実行する権限を付与します。

このロールを付与できる最下位レベルのリソース:

  • プロジェクト
  • bigquery.jobs.create
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery メタデータ閲覧者
roles/bigquery.metadataViewer

このロールをテーブルまたはビューに適用すると、次の権限が付与されます。

  • テーブルまたはビューからメタデータを読み取る。

このロールは、個々のモデルやルーティンに適用できません。

このロールをデータセットに適用すると、次の権限が付与されます。

  • データセット内のテーブルとビューを一覧表示する。
  • データセットのテーブルとビューからメタデータを読み取る。

このロールをプロジェクト レベルまたは組織レベルで適用すると、次の権限が付与されます。

  • プロジェクト内のすべてのデータセットを一覧表示し、すべてのデータセットのメタデータを読み込む。
  • プロジェクト内のすべてのテーブルとビューを一覧表示し、すべてのテーブルとビューのメタデータを読み込みます。

ジョブを実行する場合は追加の役割が必要です。

このロールを付与できる最下位レベルのリソース:

  • テーブル
  • ビュー
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.tables.get
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery 読み取りセッション ユーザー
roles/bigquery.readSessionUser

読み取りセッションを作成および使用するためのアクセス権

  • bigquery.readsessions.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery リソース管理者
roles/bigquery.resourceAdmin

BigQuery のすべてのリソースを管理します。

  • bigquery.bireservations.*
  • bigquery.capacityCommitments.*
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • recommender.bigqueryCapacityCommitmentsInsights.*
  • recommender.bigqueryCapacityCommitmentsRecommendations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery リソース編集者
roles/bigquery.resourceEditor

すべての BigQuery リソースを管理しますが、購入意思決定はできません。

  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery リソース閲覧者
roles/bigquery.resourceViewer

すべての BigQuery リソースを表示できますが、変更や購入意思決定はできません。

  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search
  • bigquery.reservations.get
  • bigquery.reservations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

BigQuery ユーザー
roles/bigquery.user

このロールをデータセットに適用すると、データセットのメタデータを読み取り、データセット内のテーブルを一覧表示できます。

プロジェクトに適用すると、プロジェクト内でクエリなどのジョブを実行することもできるようになります。このロールを持つプリンシパルは、所有するジョブの列挙、所有するジョブのキャンセル、プロジェクト内のデータセットの列挙を行えます。また、プロジェクト内に新しいデータセットを作成することもできます。作成者には新しいデータセットに対する BigQuery データオーナーのロール(roles/bigquery.dataOwner)が付与されます。

このロールを付与できる最下位レベルのリソース:

  • データセット
  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.config.get
  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.jobs.create
  • bigquery.jobs.list
  • bigquery.models.list
  • bigquery.readsessions.*
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.routines.list
  • bigquery.savedqueries.get
  • bigquery.savedqueries.list
  • bigquery.tables.list
  • bigquery.transfers.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list

カスタムロール

BigQuery Data Transfer Service では、事前定義ロールに加えてカスタムロールもサポートされています。詳しくは、IAM ドキュメントのカスタムロールの作成と管理をご覧ください。