Dataproc サーバーレスの権限と IAM ロール

Identity and Access Management(IAM)を使用すると、プロジェクトのリソースに対するユーザーとグループのアクセスを制御できます。このドキュメントでは、Dataproc サーバーレスに関係する IAM の権限と、それらの権限を付与する IAM ロールについて説明します。

Dataproc サーバーレスの権限

Dataproc サーバーレスの権限により、サービス アカウントを含むユーザーは Dataproc サーバーレス リソースに対するアクションを実行できます。たとえば、dataproc.batches.create 権限は、プロジェクト内で Dataproc サーバーレス バッチを作成できます。ユーザーには権限を直接付与するのではなく、ロールを割り当てます。ロールには、1 つ以上の権限が組み込まれています。

次の表に、Dataproc サーバーレス API(メソッド)を呼び出すのに必要な権限を示します。表は、各 Dataproc サーバーレス リソース(バッチ、セッション、sessionTemplate、オペレーション)に関連付けられた API ごとに整理されています。各ロールに含まれる Google Cloud 権限の一覧については、Dataproc ロールをご覧ください。

権限の範囲: 次の表に示す Dataproc サーバーレス権限の範囲は、含まれる Google Cloud プロジェクトです(cloud-platform 範囲)。サービス アカウント権限をご覧ください。

例:

  • dataproc.batches.create は、含まれるプロジェクト内のバッチの作成を許可します。
  • dataproc.sessions.create は、含まれるプロジェクト内のインタラクティブなセッションの作成を許可します。
  • dataproc.operations.list は、含まれるプロジェクト内の Dataproc オペレーションの詳細の一覧表示を許可します。

バッチ権限

メソッド 必要な権限
projects.locations.batches.create dataproc.batches.create 1
projects.locations.batches.delete dataproc.batches.delete
projects.locations.batches.get dataproc.batches.get
projects.locations.batches.list dataproc.batches.list

1 dataproc.batches.create は、gcloud コマンドライン ツールからステータスの更新を取得するために、dataproc.batches.get 権限と dataproc.operations.get 権限も必要とします。

セッションの権限

メソッド 必要な権限
projects.locations.sessions.create dataproc.sessions.create 1
projects.locations.sessions.delete dataproc.sessions.delete
projects.locations.sessions.get dataproc.sessions.get
projects.locations.sessions.list dataproc.sessions.list
projects.locations.sessions.terminate dataproc.sessions.terminate

1 dataproc.sessions.create は、gcloud コマンドライン ツールからステータスの更新を取得するために、dataproc.sessions.get 権限と dataproc.operations.get 権限も必要とします。

セッション ランタイム テンプレートの権限

メソッド 必要な権限
projects.locations.sessionTemplates.create dataproc.sessionTemplates.create 1
projects.locations.sessionTemplates.delete dataproc.sessionTemplates.delete
projects.locations.sessionTemplates.get dataproc.sessionTemplates.get
projects.locations.sessionTemplates.list dataproc.sessionTemplates.list
projects.locations.sessionTemplates.update dataproc.sessionTemplates.update

1 dataproc.sessionTemplates.create は、gcloud コマンドライン ツールからステータスの更新を取得するために、dataproc.sessionTemplates.get 権限と dataproc.operations.get 権限も必要です。

オペレーション権限

メソッド 必要な権限
projects.regions.operations.get dataproc.operations.get
projects.regions.operations.list dataproc.operations.list
projects.regions.operations.cancel 1 dataproc.operations.cancel
projects.regions.operations.delete dataproc.operations.delete
projects.regions.operations.getIamPolicy dataproc.operations.getIamPolicy
projects.regions.operations.setIamPolicy dataproc.operations.setIamPolicy

1 バッチ オペレーションをキャンセルするには、dataproc.operations.canceldataproc.batches.cancel 権限も必要です。

Dataproc サーバーレスのロール

Dataproc サーバーレスの IAM ロールとは、1 つ以上の権限をまとめたものです。ロールを付与されたユーザーまたはグループは、プロジェクト内の Dataproc サーバーレス リソースに対する操作を行えるようになります。たとえば、Dataproc 閲覧者のロールには、dataproc.batchesdataproc.sessions の get および list 権限が含まれています。これらの権限を使用すると、プロジェクト内で Dataproc Serverless のバッチとセッションを取得して一覧表示できます。

次の表に、Dataproc サーバーレスの IAM ロールと、各ロールに関連付けられた権限を示します。

ロール ID 権限
roles/dataproc.admin dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.batches.cancel
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list
dataproc.sessionTemplates.update
roles/dataproc.editor dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list
dataproc.sessionTemplates.update
roles/dataproc.viewer dataproc.batches.get
dataproc.batches.list
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list

プロジェクトの役割

IAM プロジェクトのロールを使用して、権限をプロジェクト レベルで設定することもできます。ここで、IAM プロジェクトのロールに関連付けられた権限の概要を示します。

プロジェクトのロール 権限
プロジェクト閲覧者 状態を変更しない読み取り専用アクション(get、list)に関するすべてのプロジェクト権限
プロジェクト編集者 すべてのプロジェクト閲覧者権限+状態を変更するアクション(create、delete、update、use、cancel、stop、start)に関するすべてのプロジェクト権限
プロジェクト所有者 すべてのプロジェクト編集者権限+プロジェクトに対するアクセス制御を管理(get/set IamPolicy)し、プロジェクト課金をセットアップするための権限

カスタムの役割

Dataproc バッチ権限は、Google Cloud コンソールまたは gcloud コマンドライン ツールを使用してカスタムロールに追加できます。

IAM ポリシーの管理

IAM ポリシーの取得と設定には、Google Cloud コンソール、IAM API、gcloud コマンドライン ツールを使用できます。

次のステップ