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

このページでは、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 役割と、各役割に含まれているすべての権限に対応するリストを記載します。各権限は、それぞれ特定のリソースタイプを対象としています。

BigQuery の役割

roles/
bigquery.admin
BigQuery 管理者 プロジェクト内のすべてのリソースを管理する権限を提供します。プロジェクト内のすべてのデータを管理でき、プロジェクト内で実行されている他のユーザーのジョブもキャンセルできます。 bigquery.*
resourcemanager.projects.get
resourcemanager.projects.list
プロジェクト roles/
bigquery.connectionAdmin
BigQuery Connection 管理者 ベータ版 bigquery.connections.*
roles/
bigquery.connectionUser
BigQuery Connection ユーザー ベータ版 bigquery.connections.get
bigquery.connections.getIamPolicy
bigquery.connections.list
bigquery.connections.use
roles/
bigquery.dataEditor
BigQuery データ編集者

データセットに適用した場合、dataEditor には次の権限が与えられます。

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

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

bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.datasets.updateTag
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
データセット roles/
bigquery.dataOwner
BigQuery データオーナー

データセットに適用した場合、dataOwner には次の権限が与えられます。

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

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

bigquery.datasets.*
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
データセット roles/
bigquery.dataViewer
BigQuery データ閲覧者

データセットに適用した場合、dataViewer には次の権限が与えられます。

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

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

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 データセット roles/
bigquery.jobUser
BigQuery ジョブユーザー プロジェクト内でジョブ(クエリを含む)を実行する権限を付与します。jobUser 役割は、自分が所有するジョブの列挙とキャンセルを行うことができます。 bigquery.jobs.create
resourcemanager.projects.get
resourcemanager.projects.list
プロジェクト 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.readSessionUser
BigQuery 読み取りセッション ユーザー ベータ版 読み取りセッションを作成および使用するためのアクセス権 bigquery.readsessions.*
resourcemanager.projects.get
resourcemanager.projects.list
roles/
bigquery.user
BigQuery ユーザー プロジェクト内でジョブ(クエリを含む)を実行する権限を付与します。ユーザーの役割は、自分が所有するジョブの列挙、自分が所有するジョブのキャンセル、プロジェクト内のデータセットの列挙ができます。また、プロジェクト内に新しいデータセットを作成することもできます。作成者には新しいデータセットの bigquery.dataOwner の役割が付与されます。 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
プロジェクト
役割 役職 説明 権限 最下位のリソース

BigQuery の基本の役割

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

BigQuery のカスタムの役割

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

次のステップ

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

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

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