Ringkasan
Dengan Identity and Access Management (IAM), Anda dapat 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 sebuah project.
Biasanya, Anda tidak memberikan izin; sebagai gantinya, Anda memberikan
peran, yang mencakup satu atau beberapa izin.
Tabel di bawah ini mencantumkan izin yang diperlukan untuk memanggil Dataproc API (metode). Tabel disusun menurut API yang terkait dengan setiap resource Dataproc (cluster, tugas, operasi, dan template alur kerja).
Izin cluster
Metode | Izin yang Diperlukan |
---|---|
projects.region.clusters.create 1, 2 | dataproc.clusters.create |
projects.regions.clusters.get | dataproc.clusters.get |
projects.regions.clusters.list | dataproc.clusters.list |
projects.region.clusters.patch 1, 2, 3 | dataproc.clusters.update |
projects.region.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.get
juga diperlukan untuk mendapatkan pembaruan status dari Google Cloud CLI. - Izin
dataproc.clusters.get
juga diperlukan untuk mendapatkan hasil operasi dari Google Cloud CLI. - Izin
dataproc.autoscalingPolicies.use
juga diperlukan untuk mengaktifkan kebijakan penskalaan otomatis di cluster.
Izin pekerjaan
Metode | Izin yang Diperlukan |
---|---|
projects.region.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.region.jobs.cancel 1 | dataproc.jobs.cancel |
projects.region.jobs.patch 1 | dataproc.jobs.update |
projects.region.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.get
untuk perintahjobs submit
,jobs wait
,jobs update
,jobs delete
, danjobs kill
.Gcloud CLI juga memerlukan izin
dataproc.clusters.get
untuk mengirim tugas. Untuk contoh setelan izin yang diperlukan agar pengguna dapat menjalankangcloud dataproc jobs submit
pada cluster menggunakan IAM Perincian Dataproc (lihat Mengirim Tugas dengan IAM Terperinci).
Izin 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 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 cluster
atausubmit job
dapat membuat dan membuat instance Template Alur Kerja.Google Cloud CLI juga memerlukan izin
dataproc.operations.get
untuk melakukan polling terkait penyelesaian alur kerja.Izin
dataproc.operations.cancel
diperlukan untuk membatalkan alur kerja yang sedang berjalan.
Izin 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.use
diperlukan untuk mengaktifkan kebijakan penskalaan otomatis di cluster dengan permintaan metodeclusters.patch
.
Izin 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 yang terdiri dari satu atau beberapa izin.
Anda memberikan peran kepada pengguna atau grup agar mereka dapat melakukan tindakan pada resource Dataproc dalam sebuah project. Misalnya, peran Dataproc Viewer berisi izin dataproc.*.get
dan dataproc.*.list
, yang memungkinkan pengguna untuk mendapatkan dan mencantumkan cluster, tugas, dan operasi Dataproc dalam sebuah project.
Tabel berikut mencantumkan peran IAM Dataproc dan izin yang terkait dengan setiap peran:
ID Peran | Izin |
---|---|
roles/dataproc.admin | dataproc.*.getIamPolicy dataproc.*.setIamPolicy dataproc.*.create dataproc.*.get dataproc.*.list dataproc.*.delete dataproc.*.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop dataproc.jobs.cancel dataproc.workflowTemplates.instantiate dataproc.workflowTemplates.instantiateInline compute.machineTypes.get compute.machineTypes.list compute.networks.get compute.networks.list compute.projects.get compute.regions.get compute.regions.list compute.zones.get compute.zones.list resourcemanager.projects.get resourcemanager.projects.list |
roles/dataproc.editor | dataproc.*.create dataproc.*.get dataproc.*.list dataproc.*.delete dataproc.*.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop dataproc.jobs.cancel dataproc.workflowTemplates.instantiate dataproc.workflowTemplates.instantiateInline compute.machineTypes.get compute.machineTypes.list compute.networks.get compute.networks.list compute.projects.get compute.regions.get compute.regions.list compute.zones.get compute.zones.list resourcemanager.projects.get resourcemanager.projects.list |
roles/dataproc.viewer | dataproc.*.get dataproc.*.list compute.machineTypes.get compute.regions.get compute.regions.list compute.zones.get resourcemanager.projects.get resourcemanager.projects.list |
role/dataproc.worker (hanya untuk akun layanan) | dataproc.agents.* dataproc.tasks.* logging.logEntries.create monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create storage.buckets.get storage.objects.create storage.objects.get storage.objects.list storage.objects.update storage.objects.delete storage.objects.getIamPolicy storage.objects.setIamPolicy |
Catatan:
- "*" menandakan "cluster", "tugas", atau "operasi", kecuali
satu-satunya izin yang terkait dengan
dataproc.operations.
adalahget
,list
, dandelete
. - Izin
compute
yang tercantum sebelumnya diperlukan atau direkomendasikan untuk membuat dan melihat cluster Dataproc saat menggunakan Google Cloud Console atau Google Cloud CLI gcloud CLI. - Untuk mengizinkan pengguna mengupload file, berikan peran
Storage Object Creator
. Untuk mengizinkan pengguna melihat output tugas, berikan peranStorage Object Viewer
. Dengan memberikan salah satu peran Cloud Storage ini, pengguna dapat mengakses bucket apa pun dalam project. - Pengguna harus memiliki izin
monitoring.timeSeries.list
untuk melihat grafik di Konsol Google Cloud→Dataproc→Detail cluster tab Ringkasan. - Pengguna harus memiliki izin
compute.instances.list
agar dapat melihat status instance dan menu SSH instance master di tab VM Instances di konsol Google Cloud→Dataproc→Detail cluster. 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
. Peran tambahan mungkin diperlukan bergantung pada fitur yang dikonfigurasi. Lihat Akun Layanan untuk 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 Proyek | Izin |
---|---|
Project Viewer | Semua izin project untuk tindakan hanya-baca yang mempertahankan status (get, list) |
Editor Project | Semua izin Project Viewer serta semua izin project untuk tindakan yang mengubah status (membuat, menghapus, memperbarui, menggunakan, membatalkan, menghentikan, memulai) |
Pemilik Project | Semua izin Project Editor ditambah izin untuk mengelola kontrol akses project (mendapatkan/menetapkan IamPolicy) dan menyiapkan penagihan project |
Ringkasan peran IAM dan operasi Dataproc
Tabel berikut mencantumkan operasi Dataproc yang terkait dengan peran project dan Dataproc.
Operasi | Editor Project | Project Viewer | Admin Dataproc | Editor Dataproc | Dataproc Viewer |
---|---|---|---|---|---|
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 lowongan | 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 untuk memiliki peran
Storage Object Creator
atau akses tulis ke bucket staging Dataproc. - Output tugas tidak tersedia kecuali jika pengguna juga memiliki peran Storage Object Viewer atau telah diberi akses baca ke bucket staging untuk project tersebut.
Akun layanan
Saat Anda memanggil Dataproc API untuk melakukan tindakan dalam sebuah project, seperti membuat instance VM, Dataproc akan melakukan tindakan 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 Google Cloud Console, 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 selanjutnya
- Pelajari prinsip dan peran Dataproc
- Pelajari IAM Perincian Dataproc
- Pelajari lebih lanjut tentang IAM.
- Pelajari Akun layanan di Dataproc