Keamanan & Hak Akses

Keamanan & Hak Akses

Updated: Apr 2026Oleh: SystemPanduan ERP
Menyiapkan Audio...
Protected View (Read Only)

🔐 PANDUAN KEAMANAN & HAK AKSES BERJENJANG (RBAC)

Sistem ERP BUMDes menggunakan mekanisme Hierarchical Role-Based Access Control (RBAC) untuk memastikan keamanan data, kerahasiaan antar unit, dan efisiensi pengawasan berjenjang.


1. PRINSIP ISOLASI UNIT USAHA#

Prinsip utama keamanan sistem adalah Isolasi Data Berdasarkan Penugasan. Setiap pengguna yang bukan pengelola pusat (Pusat/Holding) hanya diizinkan melihat data yang relevan dengan unit kerjanya.

A. Cakupan Akses (Scope)

  • Akses Horizontal (Terlarang): Manajer Unit A tidak bisa melihat data Unit B.
  • Akses Vertikal (Diizinkan): Manajer Unit Utama bisa melihat data seluruh Sub-Unit di bawahnya secara otomatis.

[!IMPORTANT] Sistem secara otomatis menyaring (filter) seluruh database (Jurnal, Stok, Laporan) berdasarkan assigned_unit_id pengguna dan seluruh descendants (anak/cucu unit) dari unit tersebut.


2. MATRIKS PERAN & WEWENANG KEUANGAN#

Berikut adalah detail pembagian akses untuk modul Keuangan dan Akuntansi:

Peran (Role)Cakupan DataWewenang Utama
Super Admin / DirekturSeluruh Unit (Konsolidasi Pusat)Full Control, Manajemen User, Audit Global
Bendahara PusatSeluruh UnitVerifikasi Jurnal, Laporan Konsolidasi, Manajemen COA
Manajer Unit (Kepala Unit)Unit Sendiri + Semua Sub-UnitInput Jurnal Unit, Monitoring Laba Rugi Sub-Unit
Kepala Sub-UnitHanya Sub-Unit SendiriInput Operasional Harian, Cek Stok, Laporan Kasir
Admin UnitUnit Sendiri + Sub-UnitAdministrasi Dokumen, Input Data Master Unit

3. FITUR KEAMANAN PADA LAPORAN#

Laporan keuangan (Laba Rugi, Neraca, Arus Kas) telah dilengkapi dengan filter cerdas yang mendeteksi peran pengguna:

  1. Auto-Lock Filter: Jika Anda seorang Manajer Unit, dropdown pilihan unit akan terkunci pada unit Anda. Anda tidak bisa memilih unit lain di luar struktur Anda.
  2. Recursive Drill-down: Anda tetap bisa memilih Sub-Unit di bawah Anda untuk melihat performa spesifik, atau memilih unit utama untuk melihat hasil Konsolidasi (Gabungan).
  3. Server-Side Enforcement: Keamanan tidak hanya di tampilan (UI), tapi juga di server. Jika seseorang mencoba mengakses data unit lain via URL/API, sistem akan memblokir permintaan tersebut (Unauthorized).

4. MANAJEMEN STRUKTUR UNIT#

Untuk menjaga integritas organisasi, terdapat batasan dalam manajemen Unit Usaha:

  • Pusat (Holding): Hanya bisa dibuat/diubah oleh Super Admin.
  • Sub-Unit Baru: Manajer Unit dapat menambah Sub-Unit di bawah unitnya sendiri, namun tidak bisa memindahkan sub-unit tersebut ke unit induk lain (Cross-parenting) tanpa izin Pusat.
  • Deaktivasi: Unit yang memiliki transaksi aktif tidak dapat dihapus, hanya dapat di-nonaktifkan untuk menjaga histori laporan audit.

5. PANDUAN UNTUK MANAJER UNIT (KEPALA UNIT USAHA)#

Jika Anda menjabat sebagai Kepala Unit Usaha:

  1. Sidebar: Anda akan melihat menu Financial Core dan Akuntansi. Ini normal karena Anda bertanggung jawab atas pembukuan unit Anda.
  2. Laporan: Saat membuka Laba/Rugi, secara default Anda melihat angka Konsolidasi Unit Anda (Total dari semua sub-unit di bawah Anda).
  3. Jurnal: Anda hanya dapat melihat dan membuat jurnal untuk unit Anda sendiri. Jurnal dari unit "tetangga" tidak akan muncul di daftar.

6. TEKNIS RLS (ROW LEVEL SECURITY)#

Bagi pengembang atau admin teknis, keamanan ini ditegakkan di level database menggunakan PostgreSQL Row Level Security (RLS):

sql
-- Contoh logika internal RLS
CREATE POLICY "Hierarchical access" ON journal_entries
FOR ALL TO authenticated
USING (public.has_unit_access(business_unit_id));

Fungsi has_unit_access() akan secara rekursif mengecek apakah unit_id transaksi tersebut merupakan anak/cucu dari assigned_unit_id user yang sedang login.


Terakhir diperbarui: 01 April 2026