Kontrol akses dengan IAM

Halaman ini menjelaskan opsi kontrol akses di Cloud Data Fusion.

Anda dapat mengontrol akses ke resource di Cloud Data Fusion dengan cara berikut:

  • Untuk mengontrol akses operasi bidang kontrol, seperti membuat dan memperbarui instance melalui Konsol Google Cloud, Google Cloud CLI, dan REST API, gunakan Identity and Access Management (IAM), seperti yang dijelaskan di halaman ini.

  • Untuk memberikan akses ke layanan data Google Cloud, seperti BigQuery atau Cloud Storage ke akun layanan tempat pipeline berjalan, gunakan IAM.

  • Guna mengontrol izin terperinci untuk tindakan yang dilakukan di instance, yang dikenal sebagai operasi bidang data, seperti memulai pipeline, gunakan kontrol akses berbasis peran (RBAC). Untuk mengetahui informasi selengkapnya, lihat ringkasan RBAC.

Untuk mengetahui informasi tentang arsitektur dan resource yang terlibat dalam kontrol akses Cloud Data Fusion, lihat Networking. Untuk mengetahui informasi tentang cara memberikan peran dan izin, lihat Mengelola akses ke project, folder, dan organisasi.

Tentang IAM di Cloud Data Fusion

Anda dapat mengontrol akses ke fitur Cloud Data Fusion dengan memberikan peran dan izin IAM ke akun layanan dan akun utama lainnya di project Google Cloud Anda.

Untuk memberikan akses terperinci ke akun pengguna agar mereka dapat menggunakan antarmuka web Cloud Data Fusion, gunakan RBAC.

Secara default, Cloud Data Fusion menggunakan akun layanan berikut:

Akun Layanan Cloud Data Fusion

Akun Layanan Cloud Data Fusion adalah agen layanan yang dikelola Google yang dapat mengakses resource pelanggan pada waktu desain pipeline. Agen layanan ini otomatis ditambahkan ke project saat Anda mengaktifkan Cloud Data Fusion API. Ini digunakan untuk semua instance dalam project Anda.

Agen layanan memiliki tanggung jawab berikut:

  • Berkomunikasi dengan layanan lain, seperti Cloud Storage, BigQuery, atau Datastream selama desain pipeline.

  • Mengaktifkan eksekusi dengan menyediakan cluster Dataproc dan mengirimkan tugas pipeline.

Peran untuk Akun Layanan Cloud Data Fusion

Secara default, akun layanan Cloud Data Fusion hanya memiliki peran Agen Layanan Cloud Data Fusion API (roles/datafusion.serviceAgent).

Nama utama untuk agen layanan ini adalah service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Resource default berikut dikaitkan dengan peran Agen Layanan Cloud Data Fusion API.

Peran Resource Izin
Cloud Data Fusion API Service Agent Layanan terkait:
  • BigQuery
  • Bigtable
  • Compute Engine
  • Dataproc
  • Cloud DNS
  • Firebase
  • Cloud Monitoring
  • Konektivitas Jaringan
  • Pengelola Integrasi Layanan Jaringan
  • API Layanan Jaringan
  • Kebijakan Organisasi
  • API Pemberi Rekomendasi
  • API Cloud Resource Manager
  • Service Networking
  • Service Usage
  • Spanner
  • Cloud Storage
  • Traffic Director
Lihat izin Agen Layanan Cloud Data Fusion API.

Akun layanan default atau akun layanan kustom Compute Engine

Akun layanan Compute Engine adalah akun default yang digunakan Cloud Data Fusion untuk men-deploy dan menjalankan tugas yang mengakses resource Google Cloud lainnya. Secara default, alat ini terhubung ke VM cluster Dataproc sehingga Cloud Data Fusion dapat mengakses resource Dataproc selama pipeline berjalan.

Anda dapat memilih akun layanan kustom untuk dilampirkan ke cluster Dataproc saat membuat instance Cloud Data Fusion atau dengan membuat Profil Compute baru di antarmuka web Cloud Data Fusion.

Untuk mengetahui informasi selengkapnya, lihat Akun layanan di Cloud Data Fusion.

Peran untuk akun layanan Compute Engine

Secara default, untuk mengakses resource (seperti sumber dan sink) saat Anda menjalankan pipeline, Cloud Data Fusion menggunakan akun layanan default Compute Engine.

Anda dapat menyiapkan akun layanan kustom yang dikelola pengguna untuk instance Cloud Data Fusion dan memberikan peran ke akun ini. Setelah itu, Anda dapat memilih akun layanan ini saat membuat instance baru.

Peran Cloud Data Fusion Runner

Pada project yang berisi instance Cloud Data Fusion, untuk akun layanan kustom default dan yang dikelola pengguna, berikan peran Cloud Data Fusion Runner (datafusion.runner).

Peran Deskripsi Izin
Runner Data Fusion (datafusion.runner) Mengizinkan akun layanan Compute Engine berkomunikasi dengan layanan Cloud Data Fusion dalam project tenant datafusion.instances.runtime

Peran Pengguna Akun Layanan

Pada akun layanan default atau yang dikelola pengguna dalam project tempat cluster Dataproc diluncurkan saat Anda menjalankan pipeline, berikan peran Service Account User (roles/iam.serviceAccountUser) kepada Akun Layanan Cloud Data Fusion.

Untuk mengetahui informasi selengkapnya, lihat Memberikan izin akun layanan.

Peran Dataproc Worker

Untuk menjalankan tugas pada cluster Dataproc, berikan peran Pekerja Dataproc (roles/dataproc.worker) ke akun layanan default atau yang dikelola pengguna yang digunakan oleh pipeline Cloud Data Fusion Anda.

Peran untuk pengguna

Untuk memicu operasi apa pun di Cloud Data Fusion, Anda (akun utama) harus memiliki izin yang cukup. Setiap izin dikelompokkan ke dalam peran, dan Anda memberikan peran ke akun utama tersebut.

Jika RBAC tidak diaktifkan, atau jika Anda menggunakan edisi Cloud Data Fusion yang tidak mendukung RBAC, pengguna dengan peran IAM Cloud Data Fusion memiliki akses penuh ke antarmuka web Cloud Data Fusion. Peran Admin hanya memungkinkan pengguna mengelola instance, seperti operasi Create, Update, Upgrade, dan Delete.

Berikan peran berikut kepada akun utama, bergantung pada izin yang diperlukan di Cloud Data Fusion.

Peran Deskripsi Izin
Admin Cloud Data Fusion (roles/datafusion.admin) Semua izin viewer, plus izin untuk membuat, mengupdate, dan menghapus instance Cloud Data Fusion.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.instances.create
  • datafusion.instances.delete
  • datafusion.instances.update
  • datafusion.operations.get
  • datafusion.operations.list
  • datafusion.operations.cancel
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Penampil Cloud Data Fusion (roles/datafusion.viewer)
  • Dapat melihat instance Cloud Data Fusion project di konsol Google Cloud.
  • Tidak dapat membuat, mengupdate, atau menghapus instance Cloud Data Fusion.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.operations.get
  • datafusion.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Mengakses sumber daya di proyek lain pada waktu desain

Bagian ini menjelaskan kontrol akses atas resource yang terletak di project Google Cloud yang berbeda dengan instance Cloud Data Fusion Anda pada saat desain.

Saat mendesain pipeline di antarmuka web Cloud Data Fusion, Anda dapat menggunakan fungsi seperti Wrangler atau Pratinjau, yang mengakses resource dalam project lain.

Bagian berikut menjelaskan cara menentukan akun layanan di lingkungan Anda, lalu memberikan izin yang sesuai.

Menentukan akun layanan lingkungan Anda

Nama akun layanan adalah Akun Layanan Cloud Data Fusion dan akun utama untuk agen layanan ini adalah service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Memberikan izin untuk mengakses resource di project lain

Untuk memberikan peran yang memberikan izin untuk mengakses berbagai resource, ikuti langkah-langkah berikut:

  1. Pada project tempat resource target berada, tambahkan Akun Layanan Cloud Data Fusion (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) sebagai akun utama.
  2. Memberikan peran ke Akun Layanan Cloud Data Fusion pada resource target dalam project tempat resource target berada.

Setelah memberikan peran tersebut, Anda dapat mengakses resource dalam project yang berbeda pada waktu desain dengan cara yang sama seperti saat mengakses resource dalam project tempat instance Anda berada.

Mengakses resource di project lain pada waktu eksekusi

Bagian ini menjelaskan kontrol akses atas resource yang terletak di project Google Cloud yang berbeda dengan instance Cloud Data Fusion Anda pada waktu eksekusi.

Pada waktu eksekusi, Anda menjalankan pipeline di cluster Dataproc, yang dapat mengakses resource dalam project lain. Secara default, cluster Dataproc sendiri diluncurkan dalam project yang sama dengan instance Cloud Data Fusion, tetapi Anda dapat menggunakan cluster di project lain.

Untuk mengakses resource di project Google Cloud lainnya, ikuti langkah-langkah berikut:

  1. Tentukan akun layanan untuk project Anda.
  2. Dalam project tempat resource tersebut berada, berikan peran IAM ke akun layanan default Compute Engine untuk memberinya akses ke resource di project lain.

Menentukan akun layanan Compute Engine

Untuk mengetahui informasi selengkapnya tentang akun layanan Compute Engine, lihat Tentang IAM di Cloud Data Fusion.

Memberikan resource akses IAM pada project lain

Akun layanan default Compute Engine memerlukan izin untuk mengakses resource di project lain. Peran dan izin ini dapat berbeda-beda, bergantung pada resource yang ingin Anda akses.

Untuk mengakses referensi, ikuti langkah-langkah berikut:

  1. Memberikan peran dan izin, dengan menentukan akun layanan Compute Engine Anda sebagai akun utama dalam project tempat resource target berada.
  2. Tambahkan peran yang sesuai untuk mengakses resource.

Izin Cloud Data Fusion API

Izin berikut diperlukan untuk menjalankan Cloud Data Fusion API.

Panggilan API Izin
instances.create datafusion.instances.create
instances.delete datafusion.instances.delete
instances.list datafusion.instances.list
instances.get datafusion.instances.get
instances.update datafusion.instances.update
operations.cancel datafusion.operations.cancel
operations.list datafusion.operations.list
operations.get datafusion.operations.get

Izin untuk tugas umum

Tugas umum di Cloud Data Fusion memerlukan izin berikut:

Tugas Izin
Mengakses antarmuka web Cloud Data Fusion datafusion.instances.get
Mengakses halaman Instance Cloud Data Fusion di Konsol Google Cloud datafusion.instances.list
Mengakses halaman Details untuk instance datafusion.instances.get
Membuat instance baru datafusion.instances.create
Memperbarui label dan opsi lanjutan untuk menyesuaikan instance datafusion.instances.update
Menghapus instance datafusion.instances.delete

Langkah selanjutnya