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:
- Buka panel External Data Connections dari sidebar ModelMonkey
- Klik tombol "New Connection"
- Pilih jenis sumber data Anda (PostgreSQL atau BigQuery)
- Masukkan detail koneksi Anda
- Uji koneksi untuk memverifikasi bahwa koneksi berfungsi
- 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.
Connection Name: Production Analytics
Host: analytics-db.example.com
Port: 5432
Database: analytics
Schema: public
SSL Mode: Require
Username: readonly_userContoh 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:
- Buka Google Cloud Console (console.cloud.google.com)
- Navigasi ke IAM & Admin → Service Accounts
- Klik "Create Service Account"
- Masukkan nama seperti "modelmonkey-readonly"
- Berikan role berikut:
- BigQuery Data Viewer
- BigQuery Job User
- BigQuery Read Session User
- Klik "Done" untuk membuat akun
- Klik pada service account baru, lalu buka tab "Keys"
- Klik "Add Key" → "Create new key" → "JSON"
- 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:
- Terhubung ke database eksternal Anda dengan aman
- Menerjemahkan permintaan Anda ke dalam SQL
- Mengeksekusi kueri
- 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:
- Klik ikon menu (tiga titik) pada kartu koneksi
- Pilih "Delete"
- 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.