Untuk membatasi akses bagi pengguna dalam project atau organisasi, Anda dapat menggunakan peran Identity and Access Management (IAM) untuk Dataflow. Anda dapat mengontrol akses ke resource terkait Dataflow, bukan peran Viewer, Editor, atau Pemilik kepada pengguna untuk seluruh project Google Cloud.
Halaman ini berfokus pada cara menggunakan peran IAM Dataflow. Untuk mengetahui deskripsi mendetail tentang IAM dan fiturnya, lihat dokumentasi IAM.
Setiap metode Dataflow mengharuskan pemanggil memiliki izin yang diperlukan. Untuk mengetahui daftar izin dan peran yang didukung Dataflow, lihat bagian berikut.
Izin dan peran
Bagian ini merangkum izin dan peran yang didukung IAM Dataflow.
Izin yang diperlukan
Tabel berikut mencantumkan izin yang harus dimiliki pemanggil untuk memanggil setiap metode:
Metode | Izin yang Diperlukan |
---|---|
dataflow.jobs.create |
dataflow.jobs.create |
dataflow.jobs.cancel |
dataflow.jobs.cancel |
dataflow.jobs.updateContents |
dataflow.jobs.updateContents |
dataflow.jobs.list |
dataflow.jobs.list |
dataflow.jobs.get |
dataflow.jobs.get |
dataflow.messages.list |
dataflow.messages.list |
dataflow.metrics.get |
dataflow.metrics.get |
dataflow.jobs.snapshot |
dataflow.jobs.snapshot |
Peran
Tabel berikut mencantumkan peran IAM Dataflow beserta daftar izin terkait Dataflow terkait setiap peran. Setiap izin berlaku untuk jenis resource tertentu. Untuk mengetahui daftar izin, lihat halaman Peran di Konsol Google Cloud.
Role | Permissions |
---|---|
Dataflow Admin( Minimal role for creating and managing dataflow jobs. |
|
Dataflow Developer( Provides the permissions necessary to execute and manipulate Dataflow jobs. Lowest-level resources where you can grant this role:
|
|
Dataflow Viewer( Provides read-only access to all Dataflow-related resources. Lowest-level resources where you can grant this role:
|
|
Dataflow Worker( Provides the permissions necessary for a Compute Engine service account to execute work units for a Dataflow pipeline. Lowest-level resources where you can grant this role:
|
|
Peran Dataflow Worker (roles/dataflow.worker
) memberikan izin yang diperlukan agar akun layanan Compute Engine dapat menjalankan unit kerja untuk pipeline Apache Beam. Peran Dataflow Worker harus ditetapkan ke akun layanan yang dapat meminta dan memperbarui pekerjaan dari layanan Dataflow.
Peran Agen Layanan Dataflow (roles/dataflow.serviceAgent
) digunakan secara eksklusif oleh akun layanan Dataflow. Data ini memberikan akses akun layanan ke resource terkelola di project Google Cloud Anda untuk menjalankan tugas Dataflow. Parameter ini ditetapkan secara otomatis ke akun layanan saat Anda mengaktifkan Dataflow API untuk project Anda dari halaman API di Konsol Google Cloud.
Membuat tugas
Untuk membuat tugas, peran roles/dataflow.admin
menyertakan
kumpulan izin minimal yang diperlukan untuk menjalankan dan memeriksa tugas.
Atau, izin berikut diperlukan:
- Peran
roles/dataflow.developer
, untuk membuat instance tugas itu sendiri. - Peran
roles/compute.viewer
, untuk mengakses informasi jenis mesin dan melihat setelan lainnya. - Peran
roles/storage.objectAdmin
, untuk memberikan izin ke tahap file di Cloud Storage.
Contoh penetapan peran
Untuk mengilustrasikan utilitas dari berbagai peran Dataflow, pertimbangkan perincian berikut:
- Developer yang membuat dan memeriksa tugas memerlukan peran
roles/iam.serviceAccountUser
. - Untuk pengelolaan izin yang lebih canggih, developer yang berinteraksi dengan tugas Dataflow memerlukan peran
roles/dataflow.developer
.- Mereka memerlukan
roles/storage.objectAdmin
atau peran terkait untuk melakukan tahap file yang diperlukan. - Untuk proses debug dan pemeriksaan kuota, pengguna memerlukan peran
roles/compute.viewer
project. - Jika tidak ada penetapan peran lainnya, peran ini memungkinkan developer membuat dan membatalkan tugas Dataflow, tetapi tidak berinteraksi dengan setiap VM atau mengakses layanan Cloud lainnya.
- Mereka memerlukan
- Akun layanan pekerja memerlukan peran
roles/dataflow.worker
danroles/dataflow.admin
untuk memproses data untuk layanan Dataflow.- Untuk mengakses data tugas, akun layanan pekerja memerlukan peran lain seperti
roles/storage.objectAdmin
. - Untuk menulis ke tabel BigQuery, akun layanan pekerja memerlukan peran
roles/bigquery.dataEditor
. - Untuk membaca dari topik atau langganan Pub/Sub, akun layanan pekerja memerlukan peran
roles/pubsub.editor
.
- Untuk mengakses data tugas, akun layanan pekerja memerlukan peran lain seperti
- Jika Anda menggunakan VPC Bersama, subjaringan VPC Bersama
harus dibagikan dengan akun layanan
Dataflow
dan harus memiliki
peran Pengguna Jaringan Compute
yang ditetapkan pada subnet yang ditentukan.
- Untuk melihat apakah subnetwork VPC Bersama dibagikan dengan akun layanan Dataflow, di konsol Google Cloud, buka halaman VPC Bersama dan telusuri subnet. Di kolom Dibagikan dengan, Anda dapat melihat apakah subnetwork VPC dibagikan dengan akun layanan Dataflow. Untuk informasi lebih lanjut, lihat Panduan menentukan parameter subnetwork untuk VPC Bersama.
- Akun layanan Compute Engine project host, akun layanan pekerja Dataflow project layanan, dan akun layanan yang digunakan untuk mengirimkan tugas harus memiliki peran berikut:
roles/dataflow.admin
roles/dataflow.serviceAgent
roles/compute.networkUser
roles/storage.objectViewer
Menetapkan peran Dataflow
Peran Dataflow saat ini hanya dapat ditetapkan di organisasi dan project.
Untuk mengelola peran di tingkat organisasi, lihat Kontrol akses untuk organisasi menggunakan IAM.
Untuk menetapkan peran level project, lihat Memberikan, mengubah, dan mencabut akses ke resource.