IAM Perincian Dataproc adalah fitur yang memungkinkan Anda memberikan izin pada level kebijakan cluster, tugas, operasi, template alur kerja, atau penskalaan otomatis.
Contoh: Anda dapat memberikan peran Viewer cluster kepada satu pengguna, yang memungkinkan pengguna melihat cluster dalam project, dan memberi pengguna lain peran Editor tugas, yang memungkinkan pengguna tersebut memperbarui dan membatalkan, serta melihat tugas. Lihat Perintah SDK yang Diaktifkan oleh IAM Perincian untuk memahami perintah Google Cloud CLI khusus yang diaktifkan oleh setiap peran Dataproc Granular IAM.
Peran dan Izin IAM Perincian Dataproc
IAM Perincian Dataproc dapat menetapkan peran berikut dengan izin berikut pada resource Dataproc.
Peran Cluster
Peran | Izin |
---|---|
Viewer | 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 |
Owner | 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 Pekerjaan
Peran | Izin |
---|---|
Viewer | dataproc.jobs.get |
Editor | dataproc.jobs.get dataproc.jobs.cancel dataproc.jobs.delete dataproc.jobs.update |
Owner | dataproc.jobs.get dataproc.jobs.cancel dataproc.jobs.delete dataproc.jobs.update dataproc.jobs.setIamPolicy dataproc.jobs.getIamPolicy |
Peran Operasi
Peran | Izin |
---|---|
Viewer | dataproc.operations.get |
Editor | dataproc.jobs.get dataproc.operations.cancel dataproc.operations.delete |
Owner | dataproc.jobs.get dataproc.operations.cancel dataproc.operations.delete dataproc.operations.setIamPolicy dataproc.operations.getIamPolicy |
Peran Template Alur Kerja
Peran | Izin |
---|---|
Viewer | dataproc.workflowTemplates.get |
Editor | dataproc.workflowTemplates.get dataproc.workflowTemplates.delete dataproc.workflowTemplates.update |
Owner | dataproc.workflowTemplates.get dataproc.workflowTemplates.delete dataproc.workflowTemplates.update dataproc.workflowTemplates.setIamPolicy dataproc.workflowTemplates.getIamPolicy |
Peran Kebijakan Penskalaan Otomatis
Peran | Izin |
---|---|
Viewer | dataproc.autoscalingPolicies.get |
Editor | dataproc.autoscalingPolicies.get dataproc.autoscalingPolicies.use dataproc.autoscalingPolicies.delete dataproc.autoscalingPolicies.update |
Owner | dataproc.autoscalingPolicies.get dataproc.autoscalingPolicies.use dataproc.autoscalingPolicies.delete dataproc.autoscalingPolicies.update dataproc.autoscalingPolicies.setIamPolicy dataproc.autoscalingPolicies.getIamPolicy |
Menggunakan IAM Perincian Dataproc
Bagian ini menjelaskan cara menggunakan Dataproc Granular IAM untuk menetapkan peran kepada pengguna pada resource Dataproc yang ada. Lihat artikel Memberikan, Mengubah, dan Mencabut Akses untuk mengetahui informasi yang lebih umum tentang 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@appspot.gserviceaccount.com" ] } ], "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 Viewer (
roles/viewer
) kepada penggunasean@example.com
, Anda perlu mengubah contoh di atas untuk menambahkan objek binding baru (ditunjukkan dalam 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@appspot.gserviceaccount.com" ] }, { "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@appspot.gserviceaccount.com" ] }, { "role": "roles/viewer", "members": [ "user:sean@example.com" ] } ], "etag": "string" }
REST API
- Kirimkan permintaan getIamPolicy resource-type ("clusters" or "jobs" or "operations" or "workflowTemplates" or "autoscalingPolicies") guna 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@appspot.gserviceaccount.com" ] } ], "etag": "string" }
- Dengan menggunakan 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 Viewer (
roles/viewer
) kepada penggunasean@example.com
, Anda perlu mengubah contoh di atas untuk menambahkan objek binding baru (ditunjukkan dalam 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@appspot.gserviceaccount.com" ] }, { "role": "roles/viewer", "members": [ "user:sean@example.com" ] } ], "etag": "value-from-getIamPolicy" } }
- Tetapkan kebijakan yang diperbarui pada resource dengan mengajukan 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@appspot.gserviceaccount.com" ] }, { "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@appspot.gserviceaccount.com" ] }, { "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 pelanggan untuk membuka panel Permissions/Labels (jika panel tidak muncul, klik SHOW INFO panel di kanan atas halaman). Di tab Permissions, pilih peran Dataproc, tambahkan satu atau beberapa alamat akun di kotak Add principals, lalu klik Add.
Perintah SDK yang Diaktifkan oleh IAM Terperinci
Tabel di bawah menunjukkan perintah gcloud dataproc
yang diaktifkan di
resource Dataproc oleh setiap peran IAM Perincian.
Cluster
Peran IAM | Perintah |
---|---|
Viewer | 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 |
Owner | 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 |
---|---|
Viewer | 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 |
Owner | 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 |
---|---|
Viewer | 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 |
Owner | 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 |
---|---|
Viewer | 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 |
Owner | 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 |
---|---|
Viewer | 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 |
Owner | 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 Perincian
Untuk mengizinkan akun utama (pengguna, grup, atau akun layanan) mengirimkan tugas ke cluster yang ditentukan menggunakan Dataproc Granular IAM, selain memberikan peran Editor kepada pengguna di cluster, izin tambahan harus ditetapkan di level project. Berikut langkah-langkah yang harus dilakukan untuk mengizinkan akun utama mengirimkan tugas di cluster Dataproc yang ditentukan:
- Buat bucket Cloud Storage yang dapat digunakan cluster Anda untuk terhubung ke Cloud Storage.
- Tambahkan akun utama ke kebijakan level 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 cluster create --bucket). - Setelah cluster dibuat, tetapkan kebijakan pada cluster yang memberikan peran Editor atau Pemilik kepada kepala sekolah (lihat Menggunakan IAM Perincian Dataproc).
- Buat peran khusus IAM dengan izin berikut:
dataproc.jobs.create
dataproc.jobs.get
- Pilih atau Tambahkan akun utama di halaman IAM di Google Cloud Console, lalu pilih peran khusus untuk diterapkan ke akun utama.