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 bagi 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.

  • Untuk mengontrol izin terperinci bagi tindakan yang dilakukan dalam instance, yang dikenal sebagai operasi data plane, seperti memulai pipeline, gunakan kontrol akses berbasis peran (RBAC).

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

Tentang IAM di Cloud Data Fusion

Anda 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 akun 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
  • Integrasi Keamanan Jaringan
  • Network Services API
  • Kebijakan Organisasi
  • Recommender API
  • Cloud Resource Manager API
  • Service Networking
  • Service Usage
  • Spanner
  • Cloud Storage
  • Mesh Layanan Cloud
Lihat izin Agen Layanan Cloud Data Fusion API.

Akun layanan default Compute Engine atau akun layanan kustom

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, VM ini dilampirkan ke VM cluster Dataproc untuk memungkinkan Cloud Data Fusion 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

Dalam 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
Data Fusion Runner (datafusion.runner) Memungkinkan akun layanan Compute Engine berkomunikasi dengan layanan Cloud Data Fusion di project tenant datafusion.instances.runtime

Peran Pengguna Akun Layanan

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

Untuk mengetahui informasi selengkapnya, lihat Memberikan izin akun layanan.

Peran Pekerja Dataproc

Untuk menjalankan tugas di 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 (prinsipal) harus memiliki izin yang memadai. Setiap izin dikelompokkan ke dalam peran, dan Anda memberikan peran kepada 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 apa pun akan memiliki akses penuh ke antarmuka web Cloud Data Fusion. Peran Admin hanya mengizinkan pengguna mengelola instance, seperti operasi Create, Update, Upgrade, dan Delete.

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

Peran Deskripsi Izin
Cloud Data Fusion Admin (roles/datafusion.admin) Semua izin pelihat, ditambah izin untuk membuat, memperbarui, 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
Cloud Data Fusion Viewer (roles/datafusion.viewer)
  • Dapat melihat instance Cloud Data Fusion project di konsol Google Cloud.
  • Tidak dapat membuat, memperbarui, 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 resource di project lain pada waktu desain

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

Saat mendesain pipeline di antarmuka web Cloud Data Fusion, Anda dapat menggunakan fungsi, seperti Wrangler atau Pratinjau, yang mengakses resource di 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. Di 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. Berikan peran ke Akun Layanan Cloud Data Fusion pada resource target di project tempat resource target berada.

Setelah memberikan peran, Anda dapat mengakses resource di project lain pada waktu desain dengan cara yang sama seperti mengakses resource di project tempat instance Anda berada.

Mengakses resource di project lain pada waktu eksekusi

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

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

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

  1. Tentukan akun layanan untuk project Anda.
  2. Di project tempat resource 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 di project lain

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

Untuk mengakses resource, ikuti langkah-langkah berikut:

  1. Berikan 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 Detail 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