Apache Spark 用サーバーレスの権限と IAM ロール

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

Apache Spark 用 Serverless の権限

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

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

権限の範囲: 次の表に示す Serverless for Apache Spark の権限の範囲は、含まれる 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 権限も必要です。

Apache Spark 用サーバーレスのロール

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

次の表に、Serverless for Apache Spark の 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)に関するすべてのプロジェクト権限
プロジェクト所有者 すべてのプロジェクト編集者権限+プロジェクトに対するアクセス制御を管理(get/set IamPolicy)し、プロジェクト課金をセットアップするための権限

カスタムロール

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

IAM ポリシーの管理

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

次のステップ