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 submitdi 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 meng-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 yang berisi izin yang diperlukan untuk membuat dan mengelola cluster Dataproc.
| Memberi peran kepada | Peran |
|---|---|
| Pengguna | Berikan peran berikut kepada pengguna:
|
| Akun layanan | Berikan peran Dataproc Worker kepada akun layanan VM Dataproc. |
Perhatikan hal berikut:
Anda mungkin perlu memberikan peran tambahan yang telah ditentukan sebelumnya atau peran kustom kepada akun layanan VM Dataproc yang berisi izin yang diperlukan untuk operasi lain, seperti membaca dan menulis data dari dan ke Cloud Storage, BigQuery, Cloud Logging, dan resource Google Cloud lainnya.
Di beberapa project, akun layanan VM Dataproc mungkin telah otomatis diberi peran Editor project, yang mencakup izin peran Worker Dataproc ditambah izin tambahan yang tidak diperlukan untuk operasi bidang data Dataproc. Untuk mengikuti prinsip praktik terbaik keamanan hak istimewa terendah, ganti peran Editor dengan peran Pekerja Dataproc (lihat Melihat peran akun layanan VM).
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. |
|
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 informasi selengkapnya.
Peran project
Anda juga dapat menetapkan izin di level project menggunakan peran IAM Project. 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 (membuat, menghapus, memperbarui, menggunakan, membatalkan, menghentikan, memulai) |
| 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.
Cakupan akses VM Dataproc
Cakupan Akses VM dan peran IAM bekerja sama untuk membatasi akses VM ke API. Google CloudMisalnya, jika VM cluster hanya diberi cakupan https://www.googleapis.com/auth/storage-full, aplikasi yang berjalan di VM cluster dapat memanggil Cloud Storage API, tetapi tidak dapat membuat permintaan ke BigQuery, meskipun aplikasi tersebut berjalan sebagai akun layanan VM yang telah diberi peran BigQuery dengan izin luas.
Praktik terbaiknya adalah memberikan cakupan cloud-platform yang luas
(https://www.googleapis.com/auth/cloud-platform)
ke VM, lalu membatasi akses VM dengan memberikan
peran IAM tertentu ke akun layanan VM (lihat Praktik terbaik cakupan).
Cakupan VM Dataproc default. Jika cakupan tidak ditentukan saat cluster dibuat (lihat gcloud dataproc cluster create --scopes), VM Dataproc akan memiliki kumpulan cakupan default berikut:
https://www.googleapis.com/auth/cloud-platform (clusters created with image version 2.1+).
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/bigtable.admin.table
https://www.googleapis.com/auth/bigtable.data
https://www.googleapis.com/auth/cloud.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.full_control
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/logging.write
Jika Anda menentukan cakupan saat membuat cluster, VM cluster akan memiliki cakupan yang Anda tentukan dan set cakupan minimum berikut yang diperlukan (meskipun Anda tidak menentukannya):
https://www.googleapis.com/auth/cloud-platform (clusters created with image version 2.1+).
https://www.googleapis.com/auth/cloud.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/logging.write
Pengelolaan kebijakan izin IAM
Anda memberikan peran IAM kepada principal menggunakan kebijakan izinkan. Anda dapat memperoleh dan menetapkan kebijakan yang diizinkan 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 prinsipal dan peran Dataproc
- Mempelajari IAM Terperinci Dataproc
- Pelajari lebih lanjut tentang IAM.
- Mempelajari Akun layanan di Dataproc