事前定義された役割と権限

このページでは、BigQuery の Cloud Identity and Access Management の役割と権限について説明します。

このページで説明する役割と権限には、BigQuery の次のコンパニオン プロダクトに関連するものも含まれています。

  • BigQuery ML
  • BigQuery Data Transfer Service
  • BigQuery BI Engine

BigQuery ML でのアクセス制御について詳しくは、BigQuery ML ドキュメントのアクセス制御をご覧ください。

概要

ID で Google Cloud Platform API を呼び出す場合、BigQuery はその ID がリソースを使用するための適切な権限を持っていることを要件とします。権限を付与するには、ユーザー、グループ、またはサービス アカウントに役割を付与します。

このページでは、BigQuery のリソースへアクセスできるよう、ID に付与できる BigQuery の Cloud IAM の役割について説明します。

Cloud IAM の役割のタイプ

Cloud Identity and Access Management の役割には、次の 3 つのタイプがあります。

  • 基本の役割: Cloud Identity and Access Management の導入前から存在しているオーナー、編集者、閲覧者の役割が含まれます。
  • 事前定義された役割: 特定のサービスへのアクセスを細かく制御します(GCP によって管理されます)。事前定義された役割は、一般的なユースケースとアクセス制御パターンをサポートすることを目的としています。
  • カスタムの役割: ユーザー指定の権限リストに従って、アクセスを細かく制御します。

基本の役割、事前定義された役割、カスタムの役割に 1 つ以上の権限が含まれているかどうかを確認するには、次のいずれかの方法を使用します。

ある特定のユーザーに事前定義された役割と基本の役割の両方を割り当てると、各役割の権限が合わせて付与されます。

Cloud IAM を使用してリソースにアクセスする方法について詳しくは、Cloud Identity and Access Management ドキュメントのリソースへのアクセス権の付与、変更、取り消しをご覧ください。

カスタムの役割の作成方法については、Cloud Identity and Access Management のドキュメントのカスタムの役割の作成と管理をご覧ください。

BigQuery の権限と事前定義された Cloud IAM の役割

BigQuery リソースへのアクセス権を付与するには、ユーザー、グループ、またはサービス アカウントに 1 つ以上の役割を割り当てます。組織レベルおよびプロジェクト レベルで役割を割り当てると、BigQuery ジョブの実行権限、またはプロジェクトに含まれるすべての BigQuery リソースの管理権限が付与されます。

データセット レベルで役割を割り当てて、1 つ以上のデータセットへのアクセス権のみ付与することもできます。Cloud IAM ポリシー階層では、BigQuery データセットはプロジェクトの子リソースです。テーブルとビューはデータセットの子リソースで、親データセットから権限を継承します。

データセット レベルで役割を割り当てる方法について詳しくは、データセットへのアクセスの制御をご覧ください。

BigQuery の権限

次の表に、BigQuery で使用可能な権限を記載します。

権限 説明
bigquery.jobs.create 新しいジョブを作成します。
bigquery.jobs.listAll すべてのジョブを一覧表示し、あらゆるユーザーが送信したあらゆるジョブのメタデータを取得します。
bigquery.jobs.list すべてのジョブを一覧表示し、あらゆるユーザーが送信したあらゆるジョブのメタデータを取得します。他のユーザーが送信したジョブについては、詳細とメタデータが削除されます。
bigquery.jobs.get ジョブのデータとメタデータを取得します。
bigquery.jobs.update ジョブをキャンセルします。
bigquery.datasets.create 新しい空白のデータセットを作成します。
bigquery.datasets.delete データセットを削除します。
bigquery.datasets.get データセットに関するメタデータを取得します。
bigquery.datasets.update データセットのメタデータを更新します。
bigquery.tables.create 新しいテーブルを作成します。
bigquery.tables.list テーブルとテーブルのメタデータをリスト表示します。
bigquery.tables.delete テーブルを削除します。
bigquery.tables.get テーブルのメタデータを取得します。
テーブルのデータを取得するには、bigquery.tables.getData が必要です。
bigquery.tables.getData テーブルのデータを取得します。この権限はテーブルのデータにクエリを実行するのに必要です。
テーブルのメタデータを取得するには、bigquery.tables.get が必要です。
bigquery.tables.export BigQuery からテーブルのデータをエクスポートします。
bigquery.tables.update

テーブルのデータを更新するには、
bigquery.tables.updateData が必要です。

bigquery.tables.updateData

テーブルのデータを更新します。
テーブルのメタデータを更新するには、bigquery.tables.update が必要です。

bigquery.routines.create(ベータ版) 新しいルーティン(関数とストアド プロシージャ)を作成します。
bigquery.routines.list(ベータ版) ルーティンおよびルーティンのメタデータを一覧表示します。
bigquery.routines.delete(ベータ版) ルーティンを削除します。
bigquery.routines.get(ベータ版) ルーティンの定義とメタデータを取得します。
bigquery.routines.update(ベータ版)

ルーティンの定義とメタデータを更新します。

bigquery.transfers.get 転送のメタデータを取得します。
bigquery.transfers.update 転送を作成、更新、削除します。
bigquery.savedqueries.create 保存したクエリを作成します。
bigquery.savedqueries.get 保存したクエリのメタデータを取得します。
bigquery.savedqueries.list 保存したクエリを一覧表示します。
bigquery.savedqueries.update 保存したクエリを更新します。
bigquery.savedqueries.delete 保存したクエリを削除します。
bigquery.readsessions.create(ベータ版) BigQuery Storage API を介した新しい読み取りセッションを作成します。
bigquery.connections.create(ベータ版) プロジェクト内で新しい接続を作成します。
bigquery.connections.get(ベータ版) 接続のメタデータを取得します。認証情報は除外されます。
bigquery.connections.list(ベータ版) プロジェクト内の接続を一覧表示します。
bigquery.connections.use(ベータ版) 接続構成を使用して、リモート データソースに接続します。
bigquery.connections.update(ベータ版) 接続とその認証情報を更新します。
bigquery.connections.delete(ベータ版) 接続を削除します。

* ジョブを作成すると、ジョブの作成者に、そのジョブの bigquery.jobs.get 権限および bigquery.jobs.update 権限に相当する権限が自動的に付与されます。

BigQuery の事前定義された Cloud IAM の役割

次の表に、BigQuery の事前定義された Cloud IAM の役割と、各役割に割り当てられたすべての権限のリストを記載します。各権限は、それぞれ特定のリソースタイプに適用されます。

roles/
bigquery.metadataViewer
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.list resourcemanager.projects.get resourcemanager.projects.list プロジェクト
役割 役職 説明 権限 最下位のリソース
roles/
bigquery.admin
BigQuery Admin Provides permissions to manage all resources within the project. Can manage all data within the project, and can cancel jobs from other users running within the project. bigquery.*
resourcemanager.projects.get
resourcemanager.projects.list
Project
roles/
bigquery.connectionAdmin
BigQuery Connection Admin Beta bigquery.connections.*
roles/
bigquery.connectionUser
BigQuery Connection User Beta bigquery.connections.get
bigquery.connections.getIamPolicy
bigquery.connections.list
bigquery.connections.use
roles/
bigquery.dataEditor
BigQuery Data Editor

When applied to a dataset, dataEditor provides permissions to:

  • Read the dataset's metadata and to list tables in the dataset.
  • Create, update, get, and delete the dataset's tables.

When applied at the project or organization level, this role can also create new datasets.

bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.datasets.updateTag
bigquery.models.*
bigquery.routines.*
bigquery.tables.create
bigquery.tables.delete
bigquery.tables.export
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.list
bigquery.tables.update
bigquery.tables.updateData
bigquery.tables.updateTag
resourcemanager.projects.get
resourcemanager.projects.list
Dataset
roles/
bigquery.dataOwner
BigQuery Data Owner

When applied to a dataset, dataOwner provides permissions to:

  • Read, update, and delete the dataset.
  • Create, update, get, and delete the dataset's tables.

When applied at the project or organization level, this role can also create new datasets.

bigquery.datasets.*
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
Dataset
roles/
bigquery.dataViewer
BigQuery Data Viewer

When applied to a dataset, dataViewer provides permissions to:

  • Read the dataset's metadata and to list tables in the dataset.
  • Read data and metadata from the dataset's tables.

When applied at the project or organization level, this role can also enumerate all datasets in the project. Additional roles, however, are necessary to allow the running of jobs.

bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.models.getData
bigquery.models.getMetadata
bigquery.models.list
bigquery.routines.get
bigquery.routines.list
bigquery.tables.export
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.list
resourcemanager.projects.get
resourcemanager.projects.list
Dataset
roles/
bigquery.jobUser
BigQuery Job User Provides permissions to run jobs, including queries, within the project. This role can check the existence of all jobs, enumerate their own jobs, and cancel their own jobs. bigquery.jobs.create
resourcemanager.projects.get
resourcemanager.projects.list
Project
roles/
bigquery.readSessionUser
BigQuery Read Session User Beta Access to create and use read sessions bigquery.readsessions.*
resourcemanager.projects.get
resourcemanager.projects.list
roles/
bigquery.user
BigQuery User Provides permissions to run jobs, including queries, within the project. The user role can enumerate their own jobs, cancel their own jobs, and enumerate datasets within a project. Additionally, allows the creation of new datasets within the project; the creator is granted the bigquery.dataOwner role for these new datasets. bigquery.config.get
bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.jobs.create
bigquery.jobs.list
bigquery.models.list
bigquery.readsessions.*
bigquery.routines.list
bigquery.savedqueries.get
bigquery.savedqueries.list
bigquery.tables.list
bigquery.transfers.get
resourcemanager.projects.get
resourcemanager.projects.list
Project

BigQuery の基本の役割

BigQuery の基本の役割については、BigQuery の基本の役割と権限をご覧ください。

BigQuery のカスタムの役割

BigQuery のカスタムの Cloud IAM の役割を作成するには、Cloud IAM のカスタム役割のドキュメントで説明されている手順に従ってください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。