Dengan Identity and Access Management (IAM), Anda dapat mengontrol akses ke resource project Anda. Dokumen ini berfokus pada izin IAM yang relevan dengan Serverless untuk Apache Spark dan peran IAM yang memberikan izin tersebut.
Izin Dataproc untuk Serverless for Apache Spark
Izin Dataproc memungkinkan pengguna dan
akun layanan,
melakukan tindakan pada resource Serverless for Apache Spark. Misalnya, izin dataproc.batches.create
memungkinkan Anda membuat beban kerja batch dalam project.
Anda tidak secara langsung memberikan izin kepada pengguna; tetapi, Anda memberikan peran IAM kepada pengguna, yang memiliki satu atau beberapa izin yang dipaketkan di dalamnya. Anda dapat memberikan peran standar 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
API (metode) Dataproc yang membuat atau mengakses resource
Serverless for Apache Spark. Tabel disusun berdasarkan API yang terkait dengan setiap resource Serverless for 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 pembaruan 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 pembaruan 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 izin dataproc.sessionTemplates.get dan
dataproc.operations.get untuk memungkinkannya mendapatkan pembaruan 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 izin
dataproc.batches.cancel.
Izin runtime Serverless for Apache Spark 3.0+
Izin berikut berlaku untuk runtime Serverless for 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 |
Persyaratan peran Serverless for Apache Spark
Tabel berikut mencantumkan peran yang berisi izin yang diperlukan untuk mengelola workload dan sesi batch. Persyaratan dapat bervariasi bergantung pada batch atau versi runtime sesi 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 beban kerja batch atau membuat sesi interaktif dengan runtime
3.0+dan kredensial pengguna akhir (default 3.0+), operasi sistem bidang data dijalankan oleh Agen Layanan Node Pengelola Resource Dataproc. 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 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 ke 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 di akun layanan, ikuti petunjuk di Mengelola akses ke akun layanan > Melihat akses saat ini.
Mencari peran dan izin Dataproc
Anda dapat menggunakan bagian berikut untuk mencari peran dan izin Dataproc.
| Role | Permissions |
|---|---|
Dataproc Administrator( Full control of Dataproc resources. |
|
Dataproc Editor( Provides the permissions necessary for viewing the resources required to manage Dataproc, including machine types, networks, projects, and zones. 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 Service Agent( Gives Dataproc Service Account access to service accounts, compute resources, storage resources, and kubernetes resources. Includes access to service accounts. |
|
Dataproc Viewer( Provides read-only access to Dataproc resources. Lowest-level resources where you can grant this role:
|
|
Dataproc Worker( Provides worker access to Dataproc resources. Intended for service accounts. |
|
Peran project
Anda juga dapat menetapkan izin di level 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 (buat, hapus, perbarui, gunakan, batalkan, hentikan, mulai) |
| Pemilik Project | Semua izin Editor Project ditambah izin untuk mengelola kontrol akses project (get/set IamPolicy) dan untuk menyiapkan penagihan project |
Langkah berikutnya
- Pelajari cara Mengelola akses ke project, folder, dan organisasi.