Belajar Pentaho - Security, Authentication & Authorization
Episode 12 of 23

Belajar Pentaho - Security, Authentication & Authorization

Mengamankan platform Pentaho: melindungi server dengan SSL/TLS, mengkonfigurasi autentikasi internal, LDAP, dan Active Directory, menerapkan role-based access control untuk konten dan job, serta menjaga kerahasiaan kredensial data source.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Platform data menangani aset paling berharga perusahaan: datanya sendiri. Episode ini membahas keamanan Pentaho — melindungi komunikasi dengan SSL/TLS, mengelola identitas lewat autentikasi internal maupun LDAP/Active Directory, membatasi akses dengan role-based access control, dan melindungi kredensial data source dari paparan.

Setelah episode ini, kalian akan bisa membedakan security hardening yang esensial dari yang berlebihan, dan tahu langkah mana yang wajib dilakukan sebelum server diakses lebih dari satu orang.

Mengamankan Komunikasi dengan SSL/TLS

Secara default, Pentaho Server berjalan di HTTP biasa — semua lalu lintas, termasuk password, bisa dibaca di jaringan. Untuk produksi, kalian harus mengaktifkan SSL/TLS sehingga komunikasi terenkripsi.

Langkah umumnya:

  1. Siapkan sertifikat — bisa dari CA publik, atau self-signed untuk lab.
  2. Impor sertifikat ke Java keystore dengan keytool.
  3. Konfigurasi Tomcat (server web bawaan Pentaho) agar memakai keystore tersebut dan mendengarkan di port HTTPS.

Membuat keystore self-signed untuk lab bisa dilakukan dengan keytool:

Membuat keystore self-signed untuk lab
keytool -genkeypair -alias pentaho \
  -keyalg RSA -keysize 2048 \
  -keystore pentaho.keystore \
  -storepass changeit \
  -validity 365

Setelah konfigurasi selesai, akses server lewat https:// dan pastikan tidak ada peringatan sertifikat di browser.

Danger

Self-signed certificate hanya cocok untuk lab dan pengujian. Untuk produksi, gunakan sertifikat dari CA yang dipercaya atau otomatisasi seperti certbot untuk menghindari peringatan keamanan yang membuat user ragu mengakses server.

Autentikasi: Internal, LDAP, dan Active Directory

Autentikasi menjawab pertanyaan "siapa kamu?". Pentaho mendukung beberapa sumber identitas:

  • Internal users: user dan password yang dikelola langsung di Pentaho (file konfigurasi di server). Cukup untuk tim kecil.
  • LDAP: menghubungkan autentikasi ke server direktori LDAP seperti OpenLDAP.
  • Active Directory: integrasi dengan AD untuk organisasi Windows, memungkinkan login dengan akun yang sudah ada.

Konfigurasi LDAP/AD dilakukan melalui file Spring Security di server. Berikut gambaran file yang biasa diubah:

File konfigurasi keamanan di Pentaho Server
tomcat/webapps/pentaho/WEB-INF/
└── applicationContext-security-ldap.properties

Dengan LDAP/AD, kalian juga mendapatkan nilai tambah: akun diatur di satu tempat, password dikelola terpusat, dan kebijakan seperti lockout berlaku di seluruh organisasi.

Info

Sebelum beralih penuh ke LDAP/AD, selalu buat akun break-glass — akun administrasi lokal yang tidak tergantung direktori. Saat direktori bermasalah, kalian tetap bisa login untuk memulihkan layanan.

Role-Based Access Control untuk Konten dan Job

Otorisasi menjawab "apa yang boleh kamu lakukan?". Pentaho menerapkan RBAC melalui kombinasi user, role, dan permission:

  • Role: misalnya Admin, Developer, Business Analyst, Scheduler, Read-only.
  • Permission pada objek repository: Read, Write, Execute, Schedule, Delete.
  • Pembatasan folder: hak bisa diatur per folder, sehingga tim tertentu hanya melihat bagian repository mereka.

Prinsip yang dianut: least privilege — beri hak seminimal mungkin yang dibutuhkan pekerjaan. Tim analis cukup Read dan Execute; hanya developer yang punya Write dan Schedule pada job tertentu.

Contoh praktik nyata: user siti dari tim sales hanya memiliki akses Read ke folder laporan penjualan dan tidak bisa melihat folder data HR. Ini diatur sekali di administrasi, lalu berlaku konsisten.

Success

Audit berkala: secara rutin periksa siapa yang masih memiliki akses ke folder dan job sensitif. Akun yang lupa dinonaktifkan adalah celah keamanan paling umum di platform data.

Mengamankan Kredensial Data Source

Kredensial database di dalam transformasi adalah target utama. Beberapa lapis perlindungan yang perlu kalian terapkan:

  • Jangan hardcode: jangan pernah menulis password database langsung di step Table input atau Table output. Gunakan variabel.
  • File kettle.properties dilindungi: pastikan file ini hanya bisa dibaca user yang menjalankan PDI, bukan semua orang di mesin.
  • Kredensial di sisi server: saat menjalankan di Pentaho Server, gunakan koneksi yang dikelola di repository — kredensial tidak terlihat oleh user yang tidak berhak.
  • Kontrol izin file: batasi akses ke file konfigurasi dengan izin filesystem yang ketat.

Menggunakan variabel di koneksi dari awal (episode 9) otomatis mencegah kredensial tertulis di file .ktr yang masuk ke Git. Ini salah satu alasan mengapa kebiasaan variable substitution sangat penting.

Kebiasaan Keamanan untuk Operasional

Selain konfigurasi, ada kebiasaan operasional yang menjaga keamanan tetap tegak:

  • Ganti password default segera setelah instalasi (admin, dan user bawaan lainnya).
  • Batasi paparan server: jangan ekspos Pentaho Server langsung ke internet; letakkan di jaringan internal atau di belakang reverse proxy.
  • Pisahkan environment: dev, staging, dan production tidak boleh berbagi kredensial yang sama.
  • Perbarui secara berkala: patch Pentaho dan JDK untuk menutup kerentanan yang diketahui.
  • Logging akses: aktifkan audit login dan pantau aktivitas mencurigakan.

Semua ini akan melengkapi topik monitoring di episode 13 dan runbook di episode 19, membentuk keseutuhan operasional yang tangguh.

Penutup

Di episode 12 ini kalian mengamankan platform: melindungi komunikasi dengan SSL/TLS, mengkonfigurasi autentikasi internal, LDAP, dan Active Directory, menerapkan RBAC untuk konten dan job, serta melindungi kredensial data source.

Inti yang harus dibawa pulang:

  • SSL/TLS wajib untuk produksi; self-signed hanya untuk lab.
  • Autentikasi terpusat (LDAP/AD) memudahkan pengelolaan identitas organisasi.
  • Terapkan least privilege: role dan permission diatur per folder dan objek.
  • Kredensial data source disimpan lewat variabel dan koneksi server, bukan di hardcode file.

Di episode 13, kita memastikan platform tetap sehat: monitoring & observability — memantau eksekusi job, menganalisis log dan menangkap error, memantau pemakaian resource dan throughput, serta mengintegrasikan dengan alat monitoring eksternal.

Belajar Pentaho - Security, Authentication & Authorization | Belajar Pentaho