Untuk membatasi akses bagi pengguna dalam project atau organisasi, Anda dapat menggunakan peran Pengelolaan Akses dan Identitas (IAM) untuk Dataflow. Anda dapat mengontrol akses ke resource terkait Dataflow, bukan memberikan 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 fitur-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 dengan daftar terkait izin terkait Dataflow yang disertakan dalam setiap peran. Setiap izin berlaku untuk jenis resource tertentu. Untuk mengetahui daftar izin, lihat halaman Roles 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 Pekerja Dataflow (roles/dataflow.worker
)
memberikan izin yang diperlukan bagi akun layanan Compute Engine untuk menjalankan unit kerja
untuk pipeline Apache Beam. Peran Pekerja Dataflow
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. Peran ini memberi akun layanan akses ke resource terkelola di project Google Cloud Anda untuk menjalankan tugas Dataflow. Akun ini ditetapkan secara otomatis ke akun layanan saat Anda mengaktifkan Dataflow API untuk project dari halaman API di Konsol Google Cloud.
Membuat tugas
Untuk membuat tugas, peran roles/dataflow.admin
mencakup
kumpulan izin minimum 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 guna melakukan staging file di Cloud Storage.
Contoh penetapan peran
Untuk mengilustrasikan kegunaan 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 staging file yang diperlukan. - Untuk proses debug dan pemeriksaan kuota, mereka memerlukan peran project
roles/compute.viewer
. - Tanpa penetapan peran lain, 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, subnetwork VPC Bersama
harus dibagikan dengan akun layanan
Dataflow
dan harus memiliki
peran Compute Network User
yang ditetapkan di subnet yang ditentukan.
- Untuk melihat apakah sub-jaringan VPC Bersama dibagikan dengan akun layanan Dataflow, di konsol Google Cloud, buka halaman Shared VPC dan telusuri subnet. Di kolom Dibagikan kepada, Anda dapat melihat apakah subjaringan VPC dibagikan kepada akun layanan Dataflow. Untuk mengetahui informasi selengkapnya, lihat Panduan untuk menentukan parameter subjaringan 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 yang menggunakan IAM.
Untuk menetapkan peran tingkat project, lihat Memberikan, mengubah, dan mencabut akses ke resource.