Ringkasan
Identity and Access Management (IAM) memungkinkan Anda mengontrol akses pengguna dan grup ke resource project. Dokumen ini berfokus pada izin IAM yang relevan dengan Dataproc dan peran IAM yang memberikan izin tersebut.
Izin Dataproc
Izin Dataproc memungkinkan pengguna, termasuk
akun layanan,
melakukan tindakan pada cluster, tugas, operasi, dan template alur kerja Dataproc. Misalnya, izin dataproc.clusters.create
memungkinkan pengguna membuat cluster Dataproc dalam project.
Biasanya, Anda tidak memberikan izin; tetapi, Anda memberikan
peran, yang mencakup satu atau beberapa izin.
Tabel berikut mencantumkan izin yang diperlukan untuk memanggil API (metode) Dataproc. Tabel disusun berdasarkan API yang terkait dengan setiap resource Dataproc (cluster, tugas, operasi, dan template alur kerja).
Cakupan Izin: Cakupan izin Dataproc yang tercantum dalam tabel berikut adalah project yang berisi (cakupan cloud-platform). Google CloudLihat
Izin akun layanan.
Contoh:
dataproc.clusters.createmengizinkan pembuatan cluster Dataproc dalam project yang berisidataproc.jobs.createmengizinkan pengiriman tugas Dataproc ke cluster Dataproc dalam project yang berisidataproc.clusters.listmengizinkan pencantuman detail cluster Dataproc dalam project yang memuatnya
Izin yang diperlukan untuk metode cluster
| Metode | Izin yang diperlukan |
|---|---|
| projects.regions.clusters.create 1, 2 | dataproc.clusters.create |
| projects.regions.clusters.get | dataproc.clusters.get |
| projects.regions.clusters.list | dataproc.clusters.list |
| projects.regions.clusters.patch 1, 2, 3 | dataproc.clusters.update |
| projects.regions.clusters.delete 1 | dataproc.clusters.delete |
| projects.regions.clusters.start | dataproc.clusters.start |
| projects.regions.clusters.stop | dataproc.clusters.stop |
| projects.regions.clusters.getIamPolicy | dataproc.clusters.getIamPolicy |
| projects.regions.clusters.setIamPolicy | dataproc.clusters.setIamPolicy |
Catatan:
- Izin
dataproc.operations.getjuga diperlukan untuk mendapatkan update status dari Google Cloud CLI. - Izin
dataproc.clusters.getjuga diperlukan untuk mendapatkan hasil operasi dari Google Cloud CLI. - Izin
dataproc.autoscalingPolicies.usejuga diperlukan untuk mengaktifkan kebijakan penskalaan otomatis pada cluster.
Izin yang diperlukan untuk metode Jobs
| Metode | Izin yang diperlukan |
|---|---|
| projects.regions.jobs.submit 1, 2 | dataproc.jobs.create dataproc.clusters.use |
| projects.regions.jobs.get | dataproc.jobs.get |
| projects.regions.jobs.list | dataproc.jobs.list |
| projects.regions.jobs.cancel 1 | dataproc.jobs.cancel |
| projects.regions.jobs.patch 1 | dataproc.jobs.update |
| projects.regions.jobs.delete 1 | dataproc.jobs.delete |
| projects.regions.jobs.getIamPolicy | dataproc.jobs.getIamPolicy |
| projects.regions.jobs.setIamPolicy | dataproc.jobs.setIamPolicy |
Catatan:
Google Cloud CLI juga memerlukan izin
dataproc.jobs.getuntuk perintahjobs submit,jobs wait,jobs update,jobs delete, danjobs kill.gcloud CLI juga memerlukan izin
dataproc.clusters.getuntuk mengirimkan tugas. Untuk contoh penetapan izin yang diperlukan agar pengguna dapat menjalankangcloud dataproc jobs submitpada cluster menggunakan IAM Terperinci Dataproc (lihat Mengirimkan Job dengan IAM Terperinci).
Izin yang diperlukan untuk metode operasi
| Metode | Izin yang diperlukan |
|---|---|
| projects.regions.operations.get | dataproc.operations.get |
| projects.regions.operations.list | dataproc.operations.list |
| projects.regions.operations.cancel | dataproc.operations.cancel |
| projects.regions.operations.delete | dataproc.operations.delete |
| projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
| projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
Izin yang diperlukan untuk metode template alur kerja
| Metode | Izin yang diperlukan |
|---|---|
| projects.regions.workflowTemplates.instantiate | dataproc.workflowTemplates.instantiate |
| projects.regions.workflowTemplates.instantiateInline | dataproc.workflowTemplates.instantiateInline |
| projects.regions.workflowTemplates.create | dataproc.workflowTemplates.create |
| projects.regions.workflowTemplates.get | dataproc.workflowTemplates.get |
| projects.regions.workflowTemplates.list | dataproc.workflowTemplates.list |
| projects.regions.workflowTemplates.update | dataproc.workflowTemplates.update |
| projects.regions.workflowTemplates.delete | dataproc.workflowTemplates.delete |
| projects.regions.workflowTemplates.getIamPolicy | dataproc.workflowTemplates.getIamPolicy |
| projects.regions.workflowTemplates.setIamPolicy | dataproc.workflowTemplates.setIamPolicy |
Catatan:
Izin Template Alur Kerja tidak bergantung pada izin Cluster dan Tugas. Pengguna tanpa izin
create clusteratausubmit jobdapat membuat dan membuat instance Template Alur Kerja.Google Cloud CLI juga memerlukan izin
dataproc.operations.getuntuk melakukan polling penyelesaian alur kerja.Izin
dataproc.operations.canceldiperlukan untuk membatalkan alur kerja yang sedang berjalan.
Izin yang diperlukan untuk metode kebijakan penskalaan otomatis
| Metode | Izin yang diperlukan |
|---|---|
| projects.regions.autoscalingPolicies.create | dataproc.autoscalingPolicies.create |
| projects.regions.autoscalingPolicies.get | dataproc.autoscalingPolicies.get |
| projects.regions.autoscalingPolicies.list | dataproc.autoscalingPolicies.list |
| projects.regions.autoscalingPolicies.update | dataproc.autoscalingPolicies.update |
| projects.regions.autoscalingPolicies.delete | dataproc.autoscalingPolicies.delete |
| projects.regions.autoscalingPolicies.getIamPolicy | dataproc.autoscalingPolicies.getIamPolicy |
| projects.regions.autoscalingPolicies.setIamPolicy | dataproc.autoscalingPolicies.setIamPolicy |
Catatan:
- Izin
dataproc.autoscalingPolicies.usediperlukan untuk mengaktifkan kebijakan penskalaan otomatis pada cluster dengan permintaan metodeclusters.patch.
Izin yang diperlukan untuk metode grup node
| Metode | Izin yang diperlukan |
|---|---|
| projects.regions.nodeGroups.create | dataproc.nodeGroups.create |
| projects.regions.nodeGroups.get | dataproc.nodeGroups.get |
| projects.regions.nodeGroups.resize | dataproc.nodeGroups.update |
Peran Dataproc
Peran IAM Dataproc
adalah paket berisi satu atau beberapa izin.
Anda memberikan peran kepada pengguna atau grup untuk mengizinkan mereka melakukan tindakan pada
resource Dataproc dalam project. Misalnya,
peran Dataproc Viewer berisi izin
get dan list, yang memungkinkan pengguna mendapatkan dan mencantumkan
cluster, tugas, dan operasi Dataproc dalam project.
Tabel berikut mencantumkan peran IAM Dataproc dan izin yang terkait dengan setiap peran.
| 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. |
|
Catatan:
- Izin
computediperlukan atau direkomendasikan untuk membuat dan melihat cluster Dataproc saat menggunakan konsol Google Cloud atau gcloud CLI Google Cloud CLI. - Untuk mengizinkan pengguna mengupload file, berikan peran
Storage Object Creator. Untuk mengizinkan pengguna melihat output tugas, berikan peranStorage Object Viewer. - Pengguna harus memiliki izin
monitoring.timeSeries.listuntuk melihat grafik di tab Ringkasan Google Cloud console→Dataproc→Detail cluster. - Pengguna harus memiliki izin
compute.instances.listuntuk melihat status instance dan menu SSH instance master di Google Cloud konsol→Dataproc→Detail cluster tab Instance VM. Untuk mengetahui informasi tentang peran Compute Engine, lihat Compute Engine→Peran IAM yang tersedia). - Untuk membuat cluster dengan akun layanan yang ditentukan pengguna, akun layanan yang ditentukan harus memiliki semua izin yang diberikan oleh peran
Dataproc Worker, yang mencakup akses ke bucket sementara dan penyiapan Dataproc. Peran tambahan mungkin diperlukan, bergantung pada fitur yang dikonfigurasi. Lihat Membuat cluster dengan akun layanan VM kustom untuk mengetahui informasi selengkapnya.
Peran project
Anda juga dapat menetapkan izin di level project menggunakan peran Project IAM. Tabel berikut mencantumkan 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 |
Ringkasan peran IAM dan operasi Dataproc
Tabel berikut mencantumkan operasi Dataproc yang terkait dengan project dan peran Dataproc.
| Operasi | Editor Project | Project Viewer | Admin Dataproc | Editor Dataproc | Penampil Dataproc |
|---|---|---|---|---|---|
| Mendapatkan/Menetapkan izin IAM Dataproc | Tidak | Tidak | Ya | Tidak | Tidak |
| Buat cluster | Ya | Tidak | Ya | Ya | Tidak |
| Mencantumkan cluster | Ya | Ya | Ya | Ya | Ya |
| Mendapatkan detail cluster | Ya | Ya | Ya 1, 2 | Ya 1, 2 | Ya 1, 2 |
| Memperbarui cluster | Ya | Tidak | Ya | Ya | Tidak |
| Hapus cluster | Ya | Tidak | Ya | Ya | Tidak |
| Mulai/Hentikan cluster | Ya | Tidak | Ya | Ya | Tidak |
| Kirim tugas | Ya | Tidak | Ya 3 | Ya 3 | Tidak |
| Membuat daftar tugas | Ya | Ya | Ya | Ya | Ya |
| Mendapatkan detail tugas | Ya | Ya | Ya 4 | Ya 4 | Ya 4 |
| Batalkan tugas | Ya | Tidak | Ya | Ya | Tidak |
| Hapus tugas | Ya | Tidak | Ya | Ya | Tidak |
| Mencantumkan operasi | Ya | Ya | Ya | Ya | Ya |
| Mendapatkan detail operasi | Ya | Ya | Ya | Ya | Ya |
| Menghapus operasi | Ya | Tidak | Ya | Ya | Tidak |
Catatan:
- Grafik performa tidak tersedia kecuali jika pengguna juga memiliki
peran dengan izin
monitoring.timeSeries.list. - Daftar VM dalam cluster tidak akan menyertakan informasi status atau link SSH untuk instance master kecuali jika pengguna juga memiliki peran dengan izin
compute.instances.list. - Tugas yang mengupload file mengharuskan pengguna memiliki peran
Storage Object Creatoratau akses tulis ke bucket penyiapan Dataproc. - Output tugas tidak tersedia kecuali jika pengguna juga memiliki peran Storage Object Viewer atau telah diberi akses baca ke bucket penyiapan untuk project.
Akun layanan
Saat Anda memanggil Dataproc API untuk melakukan tindakan dalam project, seperti membuat instance VM, Dataproc akan melakukan tindakan tersebut atas nama Anda dengan menggunakan akun layanan yang memiliki izin yang diperlukan untuk melakukan tindakan tersebut. Untuk mengetahui informasi selengkapnya, lihat Akun layanan Dataproc.
Pengelolaan IAM
Anda dapat memperoleh dan menetapkan kebijakan IAM menggunakan konsol Google Cloud , IAM API, atau Google Cloud CLI.
- Untuk konsol Google Cloud , lihat Kontrol akses menggunakan konsol Google Cloud .
- Untuk API, lihat Kontrol akses menggunakan API.
- Untuk Google Cloud CLI, lihat Kontrol akses menggunakan Google Cloud CLI.
Langkah berikutnya
- Mempelajari akun utama dan peran Dataproc
- Mempelajari IAM Terperinci Dataproc
- Pelajari lebih lanjut tentang IAM.
- Mempelajari Akun layanan di Dataproc