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

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

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

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

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

概要

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

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

Cloud IAM の役割のタイプ

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

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

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

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

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

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

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

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

データセット レベルで役割を割り当てることにより、データセットへのアクセス権だけを付与することもできます。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.reservations.create(ベータ版) プロジェクトに予約を作成します。
bigquery.reservations.list(ベータ版) プロジェクト内の全予約を一覧表示します。
bigquery.reservations.get(ベータ版) 予約の詳細を取得します。
bigquery.reservations.delete(ベータ版) 予約の削除
bigquery.reservations.update(ベータ版) 予約のプロパティを更新します。
bigquery.capacityCommitments.create(ベータ版) プロジェクトに容量コミットメントを作成します。
bigquery.capacityCommitments.list(ベータ版) プロジェクト内の容量コミットメントすべてを一覧表示します。
bigquery.capacityCommitments.get(ベータ版) 容量コミットメントに関する詳細を取得します。
bigquery.capacityCommitments.delete(ベータ版) 容量コミットメントを削除します。
bigquery.reservationAssignments.create(ベータ版)

予約割り当てを作成します。所有者プロジェクトと割り当て先リソースには、この権限が必要です。
予約割り当てを移動するには、新しい所有者プロジェクトと割り当て先リソースに bigquery.reservationAssignments.create が必要です。

bigquery.reservationAssignments.delete(ベータ版)

予約割り当てを削除します。この権限は、所有者プロジェクトと割り当て先リソースに必要です。
予約の割り当てを移動するには、古い所有者プロジェクトと割り当て先リソースに bigquery.reservationAssignments.delete が必要です。

bigquery.reservationAssignments.list(ベータ版)

予約割り当てを一覧表示します。
特定のプロジェクト、フォルダ、組織の予約割り当てを検索するには、割り当て先リソースに bigquery.reservationAssignments.list が必要です。

* ジョブを作成すると、ジョブの作成者に、そのジョブの 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.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
データセット
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 のサポートページをご覧ください。