IAM Terperinci Dataproc adalah fitur yang memungkinkan Anda memberikan izin di tingkat cluster, tugas, operasi, template alur kerja, atau kebijakan penskalaan otomatis.
Contoh: Anda dapat memberikan peran Viewer cluster kepada satu pengguna, yang memungkinkan pengguna tersebut melihat cluster dalam project, dan memberikan peran Editor tugas kepada pengguna lain, yang memungkinkan pengguna tersebut memperbarui dan membatalkan, serta melihat tugas. Lihat Perintah SDK yang Diaktifkan oleh IAM Granular untuk memahami perintah Google Cloud CLI tertentu yang diaktifkan oleh setiap peran IAM Granular Dataproc.
Peran dan Izin IAM Terperinci Dataproc
IAM Granular Dataproc dapat menetapkan peran berikut dengan izin berikut pada resource Dataproc.
Peran Cluster
Peran | Izin |
---|---|
Pelihat | dataproc.clusters.get |
Editor | dataproc.clusters.get dataproc.clusters.list dataproc.clusters.delete dataproc.clusters.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop |
Pemilik | dataproc.clusters.get dataproc.clusters.list dataproc.clusters.delete dataproc.clusters.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop dataproc.clusters.setIamPolicy dataproc.clusters.getIamPolicy |
Peran Tugas
Peran | Izin |
---|---|
Pelihat | dataproc.jobs.get |
Editor | dataproc.jobs.get dataproc.jobs.cancel dataproc.jobs.delete dataproc.jobs.update |
Pemilik | dataproc.jobs.get dataproc.jobs.cancel dataproc.jobs.delete dataproc.jobs.update dataproc.jobs.setIamPolicy dataproc.jobs.getIamPolicy |
Peran Operasi
Peran | Izin |
---|---|
Pelihat | dataproc.operations.get |
Editor | dataproc.jobs.get dataproc.operations.cancel dataproc.operations.delete |
Pemilik | dataproc.jobs.get dataproc.operations.cancel dataproc.operations.delete dataproc.operations.setIamPolicy dataproc.operations.getIamPolicy |
Peran Template Alur Kerja
Peran | Izin |
---|---|
Pelihat | dataproc.workflowTemplates.get |
Editor | dataproc.workflowTemplates.get dataproc.workflowTemplates.delete dataproc.workflowTemplates.update |
Pemilik | dataproc.workflowTemplates.get dataproc.workflowTemplates.delete dataproc.workflowTemplates.update dataproc.workflowTemplates.setIamPolicy dataproc.workflowTemplates.getIamPolicy |
Peran Kebijakan Penskalaan Otomatis
Peran | Izin |
---|---|
Pelihat | dataproc.autoscalingPolicies.get |
Editor | dataproc.autoscalingPolicies.get dataproc.autoscalingPolicies.use dataproc.autoscalingPolicies.delete dataproc.autoscalingPolicies.update |
Pemilik | dataproc.autoscalingPolicies.get dataproc.autoscalingPolicies.use dataproc.autoscalingPolicies.delete dataproc.autoscalingPolicies.update dataproc.autoscalingPolicies.setIamPolicy dataproc.autoscalingPolicies.getIamPolicy |
Menggunakan IAM Terperinci Dataproc
Bagian ini menjelaskan cara menggunakan IAM Granular Dataproc untuk menetapkan peran kepada pengguna di resource Dataproc yang ada. Lihat Memberikan, Mengubah, dan Mencabut Akses untuk mengetahui informasi yang lebih umum tentang cara memperbarui dan menghapus peran Identity and Access Management (IAM).
Perintah gcloud
- Dapatkan kebijakan IAM resource, dan tulis ke file JSON (resource-type dapat berupa "clusters" atau "jobs" atau "operations" atau "workflow-templates" atau "autoscaling-policies"):
gcloud dataproc resource-type get-iam-policy resource-id \ --region=region \ --format=json > iam.json
- Isi file JSON akan terlihat seperti berikut:
{ "bindings": [ { "role": "roles/editor", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@" ] } ], "etag": "string" }
- Dengan menggunakan editor teks, tambahkan
objek binding
baru ke array binding yang menentukan pengguna dan peran akses
resource untuk pengguna tersebut. Misalnya, untuk memberikan
peran Pelihat (
roles/viewer
) kepada penggunasean@example.com
, Anda akan mengubah contoh di atas untuk menambahkan objek binding baru (ditampilkan dalam cetak tebal, di bawah. Catatan: pastikan untuk menampilkan nilaietag
yang Anda terima darigcloud dataproc resource-type get-iam-policy
(lihat dokumentasi etag).{ "bindings": [ { "role": "roles/editor", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@" ] }, { "role": "roles/viewer", "members": [ "user:sean@example.com" ] } ], "etag": "value-from-get-iam-policy" }
- Perbarui kebijakan cluster dengan array binding baru dengan menjalankan
perintah berikut (resource-type dapat berupa "clusters" atau "jobs" atau "operations" atau "workflow-templates" atau "autoscaling-policies"):
gcloud dataproc resource-type set-iam-policy resource-name \ --region=region \ --format=json iam.json
- Perintah tersebut menghasilkan kebijakan yang telah diperbarui:
{ "bindings": [ { "role": "roles/editor", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@" ] }, { "role": "roles/viewer", "members": [ "user:sean@example.com" ] } ], "etag": "string" }
REST API
- Buat permintaan getIamPolicy resource-type ("clusters" or "jobs" or "operations" or "workflowTemplates" or "autoscalingPolicies") untuk mendapatkan kebijakan IAM untuk resource.
Contoh getIamPolicy Cluster:
GET https://dataproc.googleapis.com/v1/projects/projectName/regions/region/clusters/clusterName:getIamPolicy
- Isi file JSON akan terlihat seperti berikut:
{ "bindings": [ { "role": "roles/editor", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@" ] } ], "etag": "string" }
- Dengan editor teks, buat objek kebijakan JSON berikut untuk menyertakan array binding yang baru saja Anda terima dari layanan Dataproc. Pastikan untuk menampilkan nilai "etag" yang Anda terima dalam respons getIamPolicy (lihat dokumentasi etag).
Sekarang, tambahkan
objek binding
baru ke array binding yang menentukan pengguna dan peran akses
cluster untuk pengguna tersebut. Misalnya, untuk memberikan
peran Pelihat (
roles/viewer
) kepada penggunasean@example.com
, Anda akan mengubah contoh di atas untuk menambahkan objek binding baru (ditampilkan dalam cetak tebal, di bawah).{ "policy": { "version": "", "bindings": [ { "role": "roles/editor", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@" ] }, { "role": "roles/viewer", "members": [ "user:sean@example.com" ] } ], "etag": "value-from-getIamPolicy" } }
- Tetapkan kebijakan yang diperbarui pada resource dengan mengeluarkan permintaan setIamPolicy.
Contoh setIamPolicy Cluster:
POST https://dataproc.googleapis.com/v1/projects/projectName/regions/region/clusters/clusterName:setIamPolicy Request body
{ "policy": { "version": "", "bindings": [ { "role": "roles/editor", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@" ] }, { "role": "roles/viewer", "members": [ "user:sean@example.com" ] } ], "etag": "value-from-getIamPolicy" } }
- Isi respons JSON akan terlihat seperti berikut:
Tanggapan
{ "bindings": [ { "role": "roles/editor", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@" ] }, { "role": "roles/viewer", "members": [ "user:sean@example.com" ] } ], "etag": "string" }
Konsol
Buka halaman Dataproc Clusters di konsol Google Cloud, lalu klik kotak di sebelah kiri nama cluster untuk membuka panel Permissions/Labels (jika panel tidak ditampilkan, klik SHOW INFO PANEL di kanan atas halaman). Di tab Izin, pilih peran Dataproc, tambahkan satu atau beberapa alamat akun di kotak Tambahkan akun utama, lalu klik Tambahkan.
Perintah SDK yang Diaktifkan oleh IAM Terperinci
Tabel di bawah menunjukkan perintah gcloud dataproc
yang diaktifkan di resource Dataproc oleh setiap peran IAM terperinci.
Cluster
Peran IAM | Perintah |
---|---|
Pelihat | gcloud dataproc clusters describe cluster-name |
Editor | gcloud dataproc clusters describe cluster-name gcloud dataproc clusters list gcloud dataproc clusters delete cluster-name gcloud dataproc clusters diagnose cluster-name gcloud dataproc clusters update cluster-name gcloud beta dataproc clusters start cluster-name gcloud beta dataproc clusters stop cluster-name |
Pemilik | gcloud dataproc clusters describe cluster-name gcloud dataproc clusters list gcloud dataproc clusters delete cluster-name gcloud dataproc clusters diagnose cluster-name gcloud dataproc clusters update cluster-name gcloud beta dataproc clusters start cluster-name gcloud beta dataproc clusters stop cluster-name gcloud dataproc clusters get-iam-policy cluster-name gcloud dataproc clusters set-iam-policy cluster-name |
Pekerjaan
Peran IAM | Perintah |
---|---|
Pelihat | gcloud dataproc jobs describe job-id |
Editor | gcloud dataproc jobs delete job-id gcloud dataproc jobs describe job-id gcloud dataproc jobs kill job-id gcloud dataproc jobs update job-id gcloud dataproc jobs wait job-id |
Pemilik | gcloud dataproc jobs delete job-id gcloud dataproc jobs describe job-id gcloud dataproc jobs kill job-id gcloud dataproc jobs update job-id gcloud dataproc jobs wait job-id gcloud dataproc jobs get-iam-policy job-id gcloud dataproc jobs set-iam-policy job-id |
Operasi
Peran IAM | Perintah |
---|---|
Pelihat | gcloud dataproc operations describe operation-id |
Editor | gcloud dataproc operations delete operation-id gcloud dataproc operations describe operation-id gcloud dataproc operations cancel operation-id |
Pemilik | gcloud dataproc operations delete operation-id gcloud dataproc operations describe operation-id gcloud dataproc operations cancel operation-id gcloud dataproc operations get-iam-policy operation-id gcloud dataproc operations set-iam-policy operation-id |
Template Alur Kerja
Peran IAM | Perintah |
---|---|
Pelihat | gcloud dataproc workflow-templates describe template-id |
Editor | gcloud dataproc workflow-templates delete template-id gcloud dataproc workflow-templates describe template-id gcloud dataproc workflow-templates remove-job template-id gcloud dataproc workflow-templates run template-id |
Pemilik | gcloud dataproc workflow-templates delete template-id gcloud dataproc workflow-templates describe template-id gcloud dataproc workflow-templates remove-job template-id gcloud dataproc workflow-templates run template-id gcloud dataproc workflow-templates get-iam-policy template-id gcloud dataproc workflow-templates set-iam-policy template-id |
Kebijakan Penskalaan Otomatis
Peran IAM | Perintah |
---|---|
Pelihat | gcloud dataproc autoscaling-policies describe policy-id |
Editor | gcloud dataproc autoscaling-policies delete policy-id gcloud dataproc autoscaling-policies describe policy-id gcloud dataproc autoscaling-policies update policy-id gcloud dataproc clusters create cluster-name --autoscaling-policy policy-id |
Pemilik | gcloud dataproc autoscaling-policies delete policy-id gcloud dataproc autoscaling-policies describe policy-id gcloud dataproc autoscaling-policies update policy-id gcloud dataproc clusters create cluster-name --autoscaling-policy policy-id gcloud dataproc autoscaling-policies get-iam-policy policy-id gcloud dataproc autoscaling-policies set-iam-policy policy-id |
Mengirimkan Tugas dengan IAM Terperinci
Untuk mengizinkan akun utama (pengguna, grup, atau akun layanan) mengirimkan tugas ke cluster yang ditentukan menggunakan IAM Granular Dataproc, selain memberikan peran Editor kepada pengguna di cluster, izin tambahan harus ditetapkan di tingkat project. Berikut adalah langkah-langkah yang harus dilakukan untuk mengizinkan akun utama mengirimkan tugas di cluster Dataproc tertentu:
- Buat bucket Cloud Storage yang dapat digunakan cluster Anda untuk terhubung ke Cloud Storage.
- Tambahkan akun utama ke kebijakan tingkat bucket,
dengan memilih peran Storage Object Viewer untuk akun utama
(lihat
roles/storage.objectViewer
), yang mencakup izin berikut:storage.objects.get
storage.objects.list
- Saat membuat cluster, teruskan nama bucket yang baru saja Anda buat
ke cluster menggunakan parameter
--bucket
(lihat gcloud dataproc clusters create --bucket). - Setelah cluster dibuat, tetapkan kebijakan di cluster yang memberikan peran Editor atau Pemilik kepada akun utama (lihat Menggunakan IAM Granular Dataproc).
- Buat peran khusus IAM
dengan izin berikut:
dataproc.jobs.create
dataproc.jobs.get
- Pilih atau Tambahkan akun utama di halaman IAM konsol Google Cloud, lalu pilih peran kustom untuk menerapkannya ke akun utama.