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 untuk 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, seperti BigQuery atau Cloud Storage, ke akun layanan tempat pipeline berjalan, gunakan IAM. Google Cloud

  • Untuk mengontrol izin terperinci untuk tindakan yang dilakukan di instance, yang dikenal sebagai operasi bidang data, seperti memulai pipeline, gunakan role-based access control (RBAC).

Untuk mengetahui 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 .

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. Alamat ini digunakan untuk semua instance di 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 Managed Service for Apache Spark 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
  • Managed Service for Apache Spark
  • 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
  • Cloud Service Mesh
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 resourceGoogle Cloud lainnya. Secara default, akun ini dilampirkan ke VM cluster Managed Service untuk Apache Spark agar Cloud Data Fusion dapat mengakses resource Managed Service untuk Apache Spark selama menjalankan pipeline.

Anda dapat memilih akun layanan kustom untuk dilampirkan ke cluster Managed Service for Apache Spark saat membuat instance Cloud Data Fusion atau dengan membuat Profil Komputasi 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 tujuan) 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

Di project yang berisi instance Cloud Data Fusion, untuk akun layanan kustom yang dikelola pengguna dan default, 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 dalam project tempat cluster Managed Service for Apache Spark 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 Managed Service for Apache Spark, berikan peran Dataproc Worker (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 (principal) harus memiliki izin yang memadai. Izin individual 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 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 mereka butuhkan di Cloud Data Fusion.

Peran Deskripsi Izin
Admin Cloud Data Fusion (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 lain 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 prinsipal 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 di resource target dalam project tempat resource target berada.

Setelah memberikan peran, Anda dapat mengakses resource di project lain pada waktu desain dengan cara yang sama seperti Anda 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 lain dengan instance Cloud Data Fusion Anda pada waktu eksekusi.

Pada waktu eksekusi, Anda menjalankan pipeline di cluster Managed Service for Apache Spark, yang dapat mengakses resource di project lain. Secara default, cluster Managed Service for Apache Spark diluncurkan di project yang sama dengan instance Cloud Data Fusion, tetapi Anda dapat menggunakan cluster di project lain.

Untuk mengakses resource di project Google Cloud lain, 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 akses IAM ke resource 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 Instances 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 berikutnya