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.cancel
に dataproc.batches.cancel
権限も必要です。
Apache Spark 用サーバーレスのロール
Apache Spark 用サーバーレスの IAM ロールは、1 つ以上の権限をまとめたものです。ロールを付与されたユーザーまたはグループは、プロジェクト内の Apache Spark 用サーバーレス リソースに対する操作を行えるようになります。たとえば、Dataproc 閲覧者のロールには、dataproc.batches
と dataproc.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
コマンドライン ツールを使用できます。
- Google Cloud コンソールについては、 Google Cloud コンソールによるアクセス制御をご覧ください。
- API については、API によるアクセス制御をご覧ください。
gcloud
コマンドライン ツールについては、Google Cloud CLI コマンドライン ツールによるアクセス制御をご覧ください。