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