アクセス制御

概要

BigQuery ML は、Identity and Access Management(IAM)を使用してモデルリソースへのアクセスを管理します。モデルリソースへのアクセス権を付与するには、ユーザー、グループ、またはサービス アカウントに 1 つ以上の BigQuery IAM 役割を割り当てます。BigQuery ML の権限は、BigQuery IAM 役割に組み込まれています。

このページでは、BigQuery ML Cloud Identity and Access Management の権限と役割について詳しく説明します。BigQuery でのアクセス制御の詳細については、BigQuery のアクセス制御ページをご覧ください。

BigQuery ML の権限

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

BigQuery ML リリースの詳細については、リリースノートをご覧ください。

権限 説明
bigquery.models.create 新しいモデルを作成します。
bigquery.models.delete モデルを削除します。
bigquery.models.getData モデルデータを取得します。モデル メタデータを取得するには、bigquery.models.getMetadata が必要です。
bigquery.models.getMetadata モデル メタデータを取得します。モデルデータを取得するには、bigquery.models.getData が必要です。
bigquery.models.list モデルとモデルのメタデータを一覧表示します。
bigquery.models.updateData モデルデータを更新します。モデル メタデータを更新するには、bigquery.models.updateMetadata が必要です。
bigquery.models.updateMetadata モデル メタデータを更新します。モデルデータを更新するには、bigquery.models.updateData が必要です。
bigquery.models.createbigquery.models.getData ML オペレーション ML.PREDICTML.WEIGHTSML.TRAINING_INFOML.FEATURE_INFO を行います。

ロール

次の表に、BigQuery の事前定義された Cloud IAM 役割と、各役割に含まれているすべての権限のリストを示します。BigQuery の権限とともに BigQuery ML の権限も示されています。各権限は、それぞれ特定のリソースタイプを対象としています。

ロール 役職 説明 権限 最下位のリソース
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.getIamPolicy
  • 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.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
データセット
roles/bigquery.jobUser BigQuery ジョブユーザー プロジェクト内でジョブ(クエリを含む)を実行する権限を付与します。このロールは、すべてのジョブの存在を確認し、自身のジョブを列挙し、自身のジョブを取り消すことができます。
  • 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.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
プロジェクト
roles/bigquery.readSessionUser BigQuery 読み取りセッション ユーザー 読み取りセッションを作成および使用するためのアクセス権
  • bigquery.readsessions.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceAdmin BigQuery リソース管理者 ベータ版 BigQuery のすべてのリソースを管理します。
  • bigquery.bireservations.*
  • bigquery.capacityCommitments.*
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.user BigQuery ユーザー

データセットに適用すると、次のことが可能になります。

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

プロジェクトに適用すると、プロジェクト内でクエリなどのジョブを実行することもできるようになります。このロールを持つメンバーは、自分が所有するジョブの列挙、自分が所有するジョブのキャンセル、プロジェクト内のデータセットの列挙を行うことができます。また、プロジェクト内に新しいデータセットを作成することもできます。作成者には新しいデータセットに対する 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 ML ではカスタムの役割もサポートされています。詳細については、Cloud IAM ドキュメントのカスタムの役割の作成と管理をご覧ください。

BigQuery ML でカスタムの役割を使用していたお客様については、現在、新しい権限を BigQuery ML で使用できます。ただし、2019 年 6 月 6 日まで有効になりません。カスタムの役割を持つお客様は、6 月 6 日までに新しい権限に移行する必要があります。事前定義された IAM 役割と基本の役割は、この変更による影響を受けません。

BigQuery ML リリースの詳細については、リリースノートをご覧ください。