Integrations6 min read

Koneksi Data Eksternal

Hubungkan ke PostgreSQL dan BigQuery untuk mengkueri data eksternal bersama spreadsheet Anda

Ikhtisar

Koneksi Data Eksternal memungkinkan Anda mengkueri database langsung dari ModelMonkey. Alih-alih mengekspor data secara manual atau menulis skrip impor yang rumit, Anda dapat meminta ModelMonkey untuk mengambil data dari database PostgreSQL atau BigQuery Anda dan menggabungkannya dengan data spreadsheet Anda.

Setelah terhubung, Anda dapat mengajukan pertanyaan seperti "Bandingkan data penjualan Google Sheets kami dengan demografi pelanggan dari PostgreSQL" atau "Temukan semua pesanan bulan lalu dan gabungkan dengan profil pengguna dari database kami."

Tip

Kredensial Anda dienkripsi menggunakan envelope encryption tingkat enterprise dengan Google Cloud KMS. ModelMonkey tidak pernah menyimpan kata sandi dalam teks biasa.

Sumber Data yang Didukung

ModelMonkey saat ini mendukung dua sumber data eksternal:

PostgreSQL
Hubungkan ke database PostgreSQL mana pun yang dapat diakses melalui internet. Ini mencakup PostgreSQL yang dihosting sendiri, Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL, dan layanan PostgreSQL terkelola lainnya.

Google BigQuery
Hubungkan ke dataset Google BigQuery menggunakan service account. Ini ideal untuk beban kerja analitik skala besar dan kueri data warehouse.

Kedua jenis koneksi mendukung kueri hanya-baca untuk melindungi data produksi Anda dari modifikasi yang tidak disengaja.

Membuat Koneksi

Untuk membuat koneksi data eksternal baru:

  1. Buka panel External Data Connections dari sidebar ModelMonkey
  2. Klik tombol "New Connection"
  3. Pilih jenis sumber data Anda (PostgreSQL atau BigQuery)
  4. Masukkan detail koneksi Anda
  5. Uji koneksi untuk memverifikasi bahwa koneksi berfungsi
  6. Simpan koneksi

Wizard pengaturan memandu Anda melalui setiap langkah dan memvalidasi konfigurasi Anda sebelum menyimpan.

Konfigurasi Koneksi PostgreSQL

Untuk terhubung ke database PostgreSQL, Anda memerlukan informasi berikut:

Field Wajib

  • Connection Name: Nama yang mudah dikenali untuk mengidentifikasi koneksi ini (mis., "Production Analytics DB")
  • Host: Nama host atau alamat IP server database
  • Port: Port PostgreSQL (default: 5432)
  • Database: Nama database yang akan dihubungkan
  • Username: Nama pengguna database Anda
  • Password: Kata sandi database Anda

Field Opsional

  • Schema: Schema default yang digunakan (default: "public")
  • SSL Mode: Cara menangani koneksi SSL
    • Disable: Tanpa SSL (tidak disarankan untuk produksi)
    • Allow: Gunakan SSL jika tersedia
    • Prefer: Coba SSL terlebih dahulu, kembali ke non-SSL jika gagal (default)
    • Require: Selalu gunakan SSL

Warning

Demi keamanan, gunakan pengguna database hanya-baca dengan akses yang dibatasi hanya pada tabel yang perlu Anda kueri.

text
Connection Name: Production Analytics
Host: analytics-db.example.com
Port: 5432
Database: analytics
Schema: public
SSL Mode: Require
Username: readonly_user

Contoh konfigurasi PostgreSQL

Konfigurasi Koneksi BigQuery

Untuk terhubung ke Google BigQuery, Anda memerlukan service account dengan izin yang sesuai:

Field Wajib

  • Connection Name: Nama yang mudah dikenali untuk mengidentifikasi koneksi ini
  • Project ID: ID project Google Cloud Anda (tersedia di Google Cloud Console)
  • Service Account JSON: File kunci JSON untuk service account dengan akses BigQuery

Field Opsional

  • Dataset ID: Dataset default untuk dikueri
  • Location: Lokasi data (US, EU, atau region tertentu)

IAM Role yang Diperlukan
Service account Anda memerlukan izin-izin berikut:

  • BigQuery Data Viewer: Membaca metadata dan data tabel
  • BigQuery Job User: Membuat dan mengeksekusi kueri
  • BigQuery Read Session User: Membaca data melalui Storage API

Tip

Buat service account khusus untuk ModelMonkey hanya dengan izin yang tercantum di atas. Jangan pernah menggunakan kredensial pribadi atau service account dengan izin yang terlalu luas.

Membuat Service Account BigQuery

Untuk membuat service account untuk akses BigQuery:

  1. Buka Google Cloud Console (console.cloud.google.com)
  2. Navigasi ke IAM & Admin → Service Accounts
  3. Klik "Create Service Account"
  4. Masukkan nama seperti "modelmonkey-readonly"
  5. Berikan role berikut:
    • BigQuery Data Viewer
    • BigQuery Job User
    • BigQuery Read Session User
  6. Klik "Done" untuk membuat akun
  7. Klik pada service account baru, lalu buka tab "Keys"
  8. Klik "Add Key" → "Create new key" → "JSON"
  9. Unduh file JSON dan unggah ke ModelMonkey

Simpan file JSON ini dengan aman. File ini memberikan akses ke data BigQuery Anda.

Warning

Jangan pernah membagikan file JSON service account Anda atau menyimpannya di version control. Jika terjadi kebocoran, segera hapus kunci tersebut dari Google Cloud Console.

Menguji Koneksi

Sebelum menyimpan koneksi, ModelMonkey memvalidasi bahwa koneksi dapat menjangkau database Anda:

Yang Diperiksa Saat Pengujian

  • Konektivitas jaringan ke host
  • Autentikasi dengan kredensial Anda
  • Izin untuk mengkueri database

Hasil Pengujian
Pengujian yang berhasil menampilkan:

  • Informasi versi server
  • Schema yang tersedia (PostgreSQL)
  • Jumlah tabel yang dapat diakses

Jika pengujian gagal, Anda akan melihat pesan kesalahan spesifik yang menjelaskan apa yang salah. Masalah umum meliputi:

  • Nama host atau port yang salah
  • Nama pengguna atau kata sandi yang keliru
  • Firewall yang memblokir koneksi
  • Izin database yang tidak memadai

Keamanan & Manajemen Kredensial

ModelMonkey menggunakan keamanan tingkat enterprise untuk melindungi kredensial database Anda:

Envelope Encryption
Kredensial Anda dienkripsi menggunakan Data Encryption Key (DEK) unik yang dihasilkan untuk setiap koneksi. DEK itu sendiri dienkripsi oleh Google Cloud KMS sebelum disimpan. Pendekatan dua lapis ini berarti kredensial Anda tidak pernah disimpan dalam teks biasa.

Perlindungan SSRF
ModelMonkey memblokir koneksi ke rentang IP privat, localhost, dan endpoint metadata cloud. Ini mencegah potensi kerentanan keamanan meskipun input berbahaya diberikan.

Penanganan Memori Aman
Kredensial yang telah didekripsi disimpan dalam buffer memori yang aman dan secara otomatis dihapus ketika tidak lagi diperlukan.

Akses Hanya-Baca
Koneksi BigQuery dikonfigurasi secara eksplisit sebagai hanya-baca. Untuk PostgreSQL, kami menyarankan penggunaan pengguna database dengan izin SELECT saja.

Menggunakan Koneksi Anda

Setelah koneksi aktif, Anda dapat mengkuerinya cukup dengan meminta ModelMonkey menggunakan bahasa alami:

Contoh Permintaan

  • "Tampilkan 10 pelanggan teratas berdasarkan pendapatan dari database PostgreSQL kami"
  • "Bandingkan data penjualan Google Sheets kami dengan demografi pelanggan dari database eksternal"
  • "Temukan semua pesanan bulan lalu dan gabungkan dengan profil pengguna"
  • "Analisis tren dalam data analitik BigQuery kami"

ModelMonkey secara otomatis:

  1. Terhubung ke database eksternal Anda dengan aman
  2. Menerjemahkan permintaan Anda ke dalam SQL
  3. Mengeksekusi kueri
  4. Mengembalikan hasil yang dapat ditulis ke spreadsheet Anda

Anda dapat menggabungkan data dari beberapa sumber dalam satu permintaan, sehingga Anda dapat menggabungkan data spreadsheet dengan catatan database eksternal.

Tip

Rujuk koneksi Anda berdasarkan nama dalam permintaan Anda. Misalnya, "dari koneksi Production Analytics" membantu ModelMonkey mengetahui database mana yang harus dikueri.

Mengelola Koneksi

Melihat Koneksi
Semua koneksi Anda muncul di panel External Data Connections. Setiap koneksi menampilkan:

  • Nama koneksi
  • Jenis penyedia (PostgreSQL atau BigQuery)
  • Informasi host atau project
  • Status Aktif/Tidak Aktif
  • Tanggal pembuatan

Status Koneksi

  • Active: Koneksi tersedia untuk kueri
  • Inactive: Koneksi ada tetapi dinonaktifkan

Menghapus Koneksi
Untuk menghapus koneksi:

  1. Klik ikon menu (tiga titik) pada kartu koneksi
  2. Pilih "Delete"
  3. Konfirmasi penghapusan

Menghapus koneksi akan menghapusnya secara permanen beserta kredensial terenkripsinya. Tindakan ini tidak dapat dibatalkan.

Pemecahan Masalah

Pengujian Koneksi Gagal

  • Verifikasi bahwa nama host Anda benar dan dapat diakses secara publik
  • Periksa bahwa port database Anda terbuka di firewall Anda
  • Konfirmasi bahwa nama pengguna dan kata sandi Anda benar
  • Untuk BigQuery, pastikan service account Anda memiliki role yang diperlukan

Kueri Menghasilkan Kesalahan

  • Periksa bahwa pengguna database Anda memiliki izin SELECT pada tabel yang dikueri
  • Verifikasi bahwa nama tabel dan schema sudah benar
  • Untuk BigQuery, pastikan service account Anda dapat mengakses dataset yang ditentukan

Koneksi Habis Waktu (Timeout)

  • Database Anda mungkin berada di balik firewall yang memblokir server ModelMonkey
  • Periksa apakah penyedia cloud Anda memerlukan IP allowlisting
  • Pertimbangkan penggunaan database proxy atau VPN jika akses langsung tidak memungkinkan

Error "SSRF Attempt Detected"

  • Anda tidak dapat terhubung ke alamat IP privat atau localhost
  • Gunakan nama host yang dapat diakses secara publik untuk database Anda
  • Database yang dihosting di cloud (RDS, Cloud SQL, dll.) biasanya memiliki endpoint publik yang tersedia

Praktik Terbaik

Gunakan Pengguna Hanya-Baca yang Khusus
Buat pengguna database khusus untuk ModelMonkey dengan izin SELECT saja. Ini membatasi dampak jika kredensial suatu saat terkompromikan.

Aktifkan SSL/TLS
Selalu gunakan SSL mode "Require" untuk koneksi PostgreSQL di lingkungan produksi. Koneksi BigQuery selalu terenkripsi.

Batasi Akses Tabel
Berikan akses hanya pada tabel dan schema yang perlu dikueri oleh ModelMonkey. Hindari penggunaan akun superuser atau admin.

Gunakan Nama Koneksi yang Deskriptif
Beri nama koneksi Anda dengan jelas (mis., "Production Analytics", "Staging Orders DB") agar mudah dirujuk dalam permintaan.

Tinjau Koneksi Secara Berkala
Audit koneksi Anda secara berkala dan hapus yang tidak lagi diperlukan. Semakin sedikit koneksi aktif berarti semakin kecil permukaan keamanan.