基本の役割と権限

概要

BigQuery は、プロジェクト レベルのアクセスを許可するため、Cloud IAM の基本の役割をサポートしています。

BigQuery には、Cloud Identity and Access Management の導入前からデータセット レベルに適用される基本の役割が存在しています。代わりに、事前定義の Cloud IAM 役割を使用することをおすすめします。

プロジェクトに対する基本の役割

デフォルトでは、プロジェクトへのアクセス権限を付与すると、その中のデータセットにもアクセス権が付与されます。デフォルトのアクセス権限はデータセット単位でオーバーライドできます。プロジェクトの Owner 役割を持つユーザーは、任意のプロジェクト役割を取り消しまたは変更できます。

プロジェクトを作成すると、その作成者に Owner の役割が与えられます。

基本の役割 可能な操作
Viewer
  • プロジェクトでジョブを開始できます。ジョブの種類によっては、データセットの役割が追加で必要になります。
  • すべてのジョブを一覧表示して取得し、プロジェクトに対して開始したジョブを更新できます。
  • 閲覧者が含まれるプロジェクトにデータセットを作成すると、BigQuery によって、新しいデータセット用の定義済みの役割 bigquery.dataViewer がそれらのユーザーに付与されます。
Editor
  • Viewer で可能な操作に加えて、次のことができます。
    • プロジェクトで新しいデータセットを作成できます。
    • 編集者が含まれるプロジェクトにデータセットを作成すると、BigQuery によって、新しいデータセット用の定義済みの役割 bigquery.dataEditor がそれらのユーザーに付与されます。
Owner
  • Editor で可能な操作に加えて、次のことができます。
    • プロジェクトのすべてのデータセットを一覧表示できます。
    • プロジェクトの任意のデータセットを削除できます。
    • プロジェクトで実行されているすべてのジョブ(他のプロジェクト ユーザーによって実行されたジョブを含む)を一覧表示し、それらのジョブを取得できます。
    • データセットを作成すると、BigQuery によって、新しいデータセット用の定義済みの役割 bigquery.dataOwner がすべてのプロジェクト オーナーに付与されます。

      例外: ユーザーがクエリを実行すると、キャッシュに保存された結果テーブルを格納するために匿名データセットが作成されます。クエリを実行するユーザーにのみ、匿名データセットに対する OWNER アクセス権が付与されます。

プロジェクトに対する基本の役割は Google Cloud Platform Console を使用して付与または取り消します。新しいプロジェクト役割の付与や取り消しを行うには、プロジェクトに対する Owner アクセス権が必要です。

プロジェクトへのアクセス権の付与とその取り消しについては、Cloud Identity and Access Management ドキュメントのリソースへのアクセス権の付与、変更、取り消しをご覧ください。

データセットに対する基本の役割

以下の基本な役割はデータセット レベルで適用されます。

データセット役割 可能な操作
READER
  • データセットのテーブルの読み取り、クエリ、コピー、エクスポートを行えます。データセット内のルーティンを読み取ることも可能です。
    • データセットで get を呼び出すことができます。
    • データセット内のテーブルで getlist を呼び出すことができます。
    • データセット内のルーティンで getlist を呼び出すことができます。
    • データセット内のテーブルのテーブルデータで list を呼び出すことができます。
  • 事前定義の bigquery.dataViewer 役割にマッピングされます。
WRITER
  • READER で可能な操作に加えて、次の操作が可能です。
    • データセットのデータを編集または追加できます。
      • テーブルで insertinsertAllupdatedelete を呼び出すことができます。
      • データセット内のテーブルを、ジョブの読み込み、コピー、クエリの実行先として使用できます。
      • ルーティンで insertupdatedelete を呼び出すことができます。
  • 事前定義の bigquery.dataEditor 役割にマッピングされます。
OWNER
  • WRITER で可能な操作に加えて、次の操作が可能です。
    • データセットで update を呼び出すことができます。
    • データセットで delete を呼び出すことができます。
  • 事前定義の bigquery.dataOwner 役割にマッピングされます。

注: データセットには、OWNER 役割を持つエンティティが少なくとも 1 つ必要です。OWNER 役割を持つユーザーは自分の OWNER 役割を削除できません。

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

新しいデータセットを作成すると、BigQuery によってデフォルトのデータセット アクセス権限が次のエンティティに追加されます。データセットの作成時に役割を指定すると、デフォルトの値がオーバーライドされます。

エンティティ データセット役割
プロジェクトに対する Viewer アクセス権限を持つすべてのユーザー READER
プロジェクトに対する Editor アクセス権限を持つすべてのユーザー WRITER
プロジェクトに対する Owner アクセス権限を持つすべてのユーザー

OWNER

例外: ユーザーがクエリを実行すると、キャッシュに保存された結果テーブルを格納するために匿名データセットが作成されます。クエリを実行するユーザーにのみ、匿名データセットに対する OWNER アクセス権が付与されます。

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

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

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