Identity and Access Management (IAM) memungkinkan Anda mengontrol akses ke resource project. Dokumen ini berfokus pada izin IAM yang relevan dengan deployment serverless Managed Service untuk Apache Spark dan peran IAM yang memberikan izin tersebut.
Izin deployment serverless Managed Service untuk Apache Spark
Izin Managed Service untuk Apache Spark memungkinkan pengguna dan
akun layanan,
melakukan tindakan pada resource Managed Service untuk Apache Spark. Misalnya, izin dataproc.batches.create memungkinkan Anda membuat workload batch dalam project.
Anda tidak memberikan izin kepada pengguna secara langsung. Sebagai gantinya, Anda memberikan peran IAM kepada mereka, yang memiliki satu atau beberapa izin yang digabungkan di dalamnya. Anda dapat memberikan peran bawaan yang berisi daftar izin, atau Anda dapat membuat dan memberikan peran khusus yang berisi satu atau beberapa izin yang Anda sertakan dalam peran khusus.
Tabel berikut mencantumkan izin dasar yang diperlukan untuk memanggil Dataproc API (metode) yang membuat atau mengakses resource Managed Service untuk Apache Spark. Tabel ini disusun berdasarkan API yang terkait dengan setiap resource Managed Service untuk Apache Spark, yang mencakup batches, sessions, sessionTemplates, dan operations.
Contoh:
dataproc.batches.creatememungkinkan pembuatan batch dalam project yang berisi.dataproc.sessions.creatememungkinkan pembuatan sesi interaktif dalam project yang berisi.
Izin batch
| Metode | Izin yang Diperlukan |
|---|---|
| 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 juga memerlukan izin dataproc.batches.get dan dataproc.operations.get untuk memungkinkannya mendapatkan update status dari alat command line gcloud.
Izin sesi
| Metode | Izin yang Diperlukan |
|---|---|
| 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 juga memerlukan izin dataproc.sessions.get dan
dataproc.operations.get untuk memungkinkannya mendapatkan update status
dari alat command line gcloud.
Izin template sesi
| Metode | Izin yang Diperlukan |
|---|---|
| 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 juga memerlukan dataproc.sessionTemplates.get dan
dataproc.operations.get izin untuk memungkinkannya mendapatkan update status
dari alat command line gcloud.
Izin operasi
| Metode | Izin yang Diperlukan |
|---|---|
| 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 Untuk membatalkan operasi batch, dataproc.operations.cancel juga memerlukan
dataproc.batches.cancel izin.
Izin runtime Managed Service untuk Apache Spark 3.0+
Izin berikut berlaku untuk runtime Managed Service untuk Apache Spark 3.0 dan yang lebih baru.
Izin workload
| Metode | Izin yang Diperlukan |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.workloads.create | dataprocrm.workloads.create |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.cancel | dataprocrm.workloads.cancel |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.delete | dataprocrm.workloads.delete |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.get | dataprocrm.workloads.get |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.list | dataprocrm.workloads.list |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.use | dataprocrm.workloads.use |
Izin NodePools
| Metode | Izin yang Diperlukan |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.create | dataprocrm.nodePools.create |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.delete | dataprocrm.nodePools.delete |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.resize | dataprocrm.nodePools.resize |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.deleteNodes | dataprocrm.nodePools.deleteNodes |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.update | dataprocrm.nodePools.update |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.get | dataprocrm.nodePools.get |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.list | dataprocrm.nodePools.list |
Izin Node
| Metode | Izin yang Diperlukan |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.create | dataprocrm.nodes.create |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.delete | dataprocrm.nodes.delete |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.update | dataprocrm.nodes.update |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.heartbeat | dataprocrm.nodes.heartbeat |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.get | dataprocrm.nodes.get |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.list | dataprocrm.nodes.list |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.mintOAuthToken | dataprocrm.nodes.mintOAuthToken |
Izin operasi
| Metode | Izin yang Diperlukan |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
| dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Peran deployment serverless Managed Service untuk Apache Spark
Tabel berikut mencantumkan peran yang berisi izin yang diperlukan untuk mengelola workload dan sesi batch. Persyaratan dapat bervariasi bergantung pada batch atau sesi versi runtime dan apakah batch atau sesi berjalan dengan kredensial akun layanan atau pengguna akhir (EUC).
| Versi runtime | Peran IAM |
|---|---|
pre-3.0 |
Berikan peran berikut kepada pengguna:
|
3.0+ |
Berikan peran berikut kepada pengguna:
|
Catatan:
Saat mengirimkan workload batch atau membuat sesi interaktif dengan runtime
3.0+dan kredensial pengguna akhir (default 3.0+), operasi sistem dataplane akan dieksekusi oleh Managed Service untuk Apache Spark Resource Manager Node Service Agent. Untuk mengetahui informasi selengkapnya, lihat Akun layanan agen layanan runtime 3.0+.Untuk kompatibilitas mundur, peran Dataproc Editor dan Dataproc Viewer lama dapat diberikan dengan runtime
3.0+, bukan peran Dataproc Serverless Editor dan Dataproc Serverless Viewer. Selain itu, peran Dataproc Worker dapat diberikan, bukan peran Dataproc Serverless Node.Jika akun layanan telah diberi peran Editor project, akun tersebut akan berisi izin yang disertakan dalam peran Dataproc Worker.
Untuk mengetahui informasi selengkapnya, lihat Akun layanan Serverless untuk Apache Spark.
Apakah Anda perlu memberikan peran?
Bergantung pada kebijakan organisasi Anda, peran yang diperlukan mungkin sudah diberikan.
Memeriksa peran yang diberikan kepada pengguna
Untuk melihat apakah pengguna telah diberi peran, ikuti petunjuk di Mengelola akses ke project, folder, dan organisasi > Melihat akses saat ini.
Memeriksa peran yang diberikan kepada akun layanan
Untuk melihat apakah akun layanan telah diberi peran, lihat Melihat dan mengelola peran akun layanan IAM.
Memeriksa peran yang diberikan pada akun layanan
Untuk melihat apakah pengguna telah diberi peran pada akun layanan, ikuti petunjuk di Mengelola akses ke akun layanan > Melihat akses saat ini.
Mencari peran dan izin
Anda dapat menggunakan bagian berikut untuk mencari peran dan izin Managed Service untuk Apache Spark.
| Role | Permissions |
|---|---|
Dataproc Administrator( Full control of Dataproc resources. |
|
Dataproc Editor( Provides the permissions necessary for viewing the resources required to manage Managed Service for Apache Spark, including machine types, networks, projects, and zones. Lowest-level resources where you can grant this role:
|
|
Dataproc Viewer( Provides read-only access to Managed Service for Apache Spark resources. Lowest-level resources where you can grant this role:
|
|
Dataproc Hub Agent( Allows management of Dataproc resources. Intended for service accounts running Dataproc Hub instances. |
|
Dataproc Serverless Editor( Permissions needed to run serverless sessions and batches as a user |
|
Dataproc Serverless Node.( Node access to Dataproc Serverless sessions and batches. Intended for service accounts. |
|
Dataproc Serverless Viewer( Permissions needed to view serverless sessions and batches |
|
Dataproc Worker( Provides worker access to Managed Service for Apache Spark resources. Intended for service accounts. |
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Dataproc Service Agent( Gives Dataproc Service Account access to service accounts, compute resources, storage resources, and kubernetes resources. Includes access to service accounts. |
|
Peran project
Anda juga dapat menetapkan izin di tingkat project menggunakan peran IAM Project. Tabel berikut merangkum izin yang terkait dengan peran project IAM:
| Peran Project | Izin |
|---|---|
| Project Viewer | Semua izin project untuk tindakan hanya baca yang mempertahankan status (get, list) |
| Editor Project | Semua izin Project Viewer ditambah semua izin project untuk tindakan yang mengubah status (create, delete, update, use, cancel, stop, start) |
| Pemilik Project | Semua izin Editor Project ditambah izin untuk mengelola kontrol akses untuk project (get/set IamPolicy) dan untuk menyiapkan penagihan project |
Langkah berikutnya
- Pelajari cara Mengelola akses ke project, folder, dan organisasi.