👥 User Roles & Permissions
Ringkasan
MetaQAP menggunakan Role-Based Access Control (RBAC) untuk mengatur akses pengguna terhadap data dan fungsi sistem. Setiap pengguna memiliki satu role utama yang menentukan:
- Data apa yang bisa diakses (scope Satker)
- Operasi apa yang bisa dilakukan (CRUD permissions)
- Dashboard mana yang bisa digunakan (MAIN, SP2D, SPJ, MASTER_PAGU)

Hierarki Role (Priority-Based)
Role dikelompokkan berdasarkan tingkat akses dan scope Satker:
Priority 1: Global Access (Cross-Satker)
| Role | Scope | Permission | Use Case |
|---|---|---|---|
| ADMIN_PUSAT | Semua Satker | Read-Only + Export | Monitoring nasional, dashboard eksekutif |
| PERENCANAAN_PUSAT | Semua Satker | Read + Master Pagu Management | Perencanaan anggaran nasional |
| AUDITOR | Semua Satker | Read-Only + Audit Trail | Pemeriksaan internal/eksternal (BPK, Inspektorat) |
Priority 2: Approval Roles (Satker-Scoped, Read-Only)
| Role | Scope | Permission | Use Case |
|---|---|---|---|
| KPA | Satker sendiri | Read-Only | Approval via Power Automate (Kuasa Pengguna Anggaran) |
| PPK | Satker sendiri | Read-Only | Approval via Power Automate (Pejabat Pembuat Komitmen) |
| PPSPM | Satker sendiri | Read-Only | Approval via Power Automate (Pejabat Penandatangan SPM) |
| BENDAHARA | Satker sendiri | Read-Only | Monitoring pembayaran |
Priority 3: Operational Roles (Satker-Scoped, Full CRUD)
| Role | Scope | Permission | Use Case |
|---|---|---|---|
| OPERATOR | Satker sendiri | Full CRUD (Create, Read, Update, Delete) | Input & maintenance SP2D, SPJ, matching |
| PERENCANAAN_SATKER | Satker sendiri | Master Pagu Full CRUD, SP2D/SPJ Read-Only | Perencanaan anggaran Satker |
Priority 4: User Management (Future)
| Role | Scope | Permission | Use Case |
|---|---|---|---|
| ADMIN_USER | Semua Satker | Read-Only + User Management Panel | Manajemen user & role assignment |
Permission Matrix (Detail)
A. Global Roles (Lintas Satker)
1. ADMIN_PUSAT
Scope: Semua Satker (dropdown wajib pilih Satker untuk melihat data)
| Dashboard | Read | Create | Update | Delete | Export | Match | Audit |
|---|---|---|---|---|---|---|---|
| MAIN | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| SP2D | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
| SPJ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| MASTER_PAGU | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
Use Case:
- Monitoring dashboard eksekutif (Power BI/MetaQAP AI)
- Export data agregat nasional untuk pelaporan
- Tidak bisa input/edit data (read-only monitoring)
2. PERENCANAAN_PUSAT
Scope: Semua Satker (akses khusus Master Pagu Hub Site)
| Dashboard | Read | Create | Update | Delete | Export | Match | Audit |
|---|---|---|---|---|---|---|---|
| MAIN | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
| SP2D | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ✅ |
| SPJ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
| MASTER_PAGU | ✅ | ✅ | ✅ | ❌ | ✅ | N/A | ✅ |
Special Permissions:
- Master Pagu Template: Buat/edit template anggaran nasional
- Master Pagu Planning: Persetujuan rencana anggaran Satker
- Cross-Site Sync: Sinkronisasi Master Pagu ke semua Satker
Catatan: Role ini fokus pada perencanaan, tidak bisa input SP2D/SPJ operasional.
3. AUDITOR
Scope: Semua Satker (akses audit trail lengkap)
| Dashboard | Read | Create | Update | Delete | Export | Match | Audit |
|---|---|---|---|---|---|---|---|
| MAIN | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ |
| SP2D | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ✅ |
| SPJ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ |
| MASTER_PAGU | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ✅ |
Special Permissions:
- Audit Trail Access: Lihat log perubahan data (who, when, what)
- Export Audit Report: Download laporan audit lengkap
- Cross-Satker Audit: Bisa audit data lintas Satker
Use Case: BPK, Inspektorat, SPI (Satuan Pengawasan Internal)
B. Satker-Scoped Roles (Terkunci pada Satker Sendiri)
4. OPERATOR
Scope: Satker sendiri (dropdown Satker disabled, auto-fill Satker user)
| Dashboard | Read | Create | Update | Delete | Export | Match | Audit |
|---|---|---|---|---|---|---|---|
| MAIN | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
| SP2D | ✅ | ✅ | ✅ | ✅ | ✅ | N/A | ❌ |
| SPJ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| MASTER_PAGU | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
Special Permissions:
- Full CRUD SP2D/SPJ: Buat, edit, hapus dokumen SP2D & SPJ (Updated 2025-09-30)
- Upload Attachment: Upload file PDF/JPG kuitansi, faktur, dokumen dukung
- Match SP2D-SPJ: Hubungkan SP2D dengan SPJ yang sesuai
- Export Data: Download rekapitulasi data Satker sendiri
Catatan: Role ini adalah satu-satunya yang bisa input/edit data operasional SP2D & SPJ.
5. PPK (Pejabat Pembuat Komitmen)
Scope: Satker sendiri
| Dashboard | Read | Create | Update | Delete | Export | Match | Audit |
|---|---|---|---|---|---|---|---|
| MAIN | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| SP2D | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
| SPJ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| MASTER_PAGU | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
Approval Workflow:
- Read-Only di MetaQAP: Tidak bisa input/edit data di aplikasi
- Approval via Teams: Terima notifikasi approval di Microsoft Teams
- Level 1 Approval: Verifikasi substansi kegiatan sebelum PPSPM
Use Case: Verifikasi kesesuaian SPJ dengan dokumen kontrak/kuitansi.
6. PPSPM (Pejabat Penandatangan SPM)
Scope: Satker sendiri
| Dashboard | Read | Create | Update | Delete | Export | Match | Audit |
|---|---|---|---|---|---|---|---|
| MAIN | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| SP2D | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
| SPJ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| MASTER_PAGU | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
Approval Workflow:
- Read-Only di MetaQAP: Tidak bisa input/edit data di aplikasi
- Approval via Teams: Terima notifikasi approval di Microsoft Teams
- Level 2 Approval: Verifikasi administrasi setelah PPK approve
Use Case: Verifikasi kelengkapan dokumen & kesesuaian dengan regulasi.
7. PERENCANAAN_SATKER
Scope: Satker sendiri
| Dashboard | Read | Create | Update | Delete | Export | Match | Audit |
|---|---|---|---|---|---|---|---|
| MAIN | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| SP2D | ✅ | ❌ | ❌ | ❌ | ✅ | N/A | ❌ |
| SPJ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| MASTER_PAGU | ✅ | ✅ | ✅ | ✅ | ✅ | N/A | ❌ |
Special Permissions:
- Master Pagu Full CRUD: Input, edit, hapus Master Pagu Satker sendiri
- Master Pagu Template: Gunakan template dari Perencanaan Pusat
- SP2D/SPJ Read-Only: Monitoring realisasi vs. pagu
Use Case: Input rencana anggaran (POK/DIPA) Satker ke Master Pagu.
Scope & Filtering Rules
A. Global Role Behavior
Role: ADMIN_PUSAT, PERENCANAAN_PUSAT, AUDITOR
Dashboard Behavior:
- Dropdown Satker AKTIF: User wajib memilih Satker untuk melihat data
- No Auto-Select: Sistem tidak otomatis pilih Satker (default: empty)
- Data Kosong Sampai Pilih Satker: Dashboard menampilkan "No data" hingga Satker dipilih
- Cross-Satker Export: Bisa export data agregat lintas Satker (jika ADMIN_PUSAT/PERENCANAAN_PUSAT)
Example Workflow:
[User Login] → [Dashboard Load] → [Satker Dropdown: "Pilih Satker"]
→ [User Pilih: "690861 - Sekretariat Utama"]
→ [Data Load: SP2D/SPJ Satker 690861]
B. Satker-Scoped Role Behavior
Role: OPERATOR, PPK, PPSPM, BENDAHARA, PERENCANAAN_SATKER
Dashboard Behavior:
- Dropdown Satker DISABLED: User tidak bisa ganti Satker
- Auto-Select Satker: Sistem otomatis isi Satker sesuai data Master_User SharePoint
- Data Load Otomatis: Dashboard langsung tampilkan data Satker user saat login
- Export Terbatas: Hanya bisa export data Satker sendiri
Example Workflow:
[User Login] → [Dashboard Load] → [Satker Dropdown: "690861 - Sekretariat Utama" (DISABLED)]
→ [Data Auto-Load: SP2D/SPJ Satker 690861]
C. Special Case: Sekretariat Utama (Satker 690861)
Filter Tambahan: Sub-Sekretariat
Satker 690861 memiliki struktur organisasi khusus dengan Sub-Sekretariat (Biro/Pusat). Untuk role di Satker ini, sistem menampilkan filter tambahan:
Role yang Terdampak:
- OPERATOR
- PERENCANAAN_SATKER
- PPK
- PPSPM
Behavior:
-
User Level Sub-Unit:
- Filter Sub-Sekretariat auto-fill sesuai unit user (misal: "TU Biro Umum dan Keuangan")
- Data terbatas pada Sub-Sekretariat user saja
-
User Level Sekretariat (Admin Sekretariat):
- Filter Sub-Sekretariat dropdown aktif (bisa pilih Sub-Sekretariat mana saja)
- Data bisa dilihat lintas Sub-Sekretariat dalam Sekretariat Utama
Example Workflow (User Sub-Unit):
[User Login: Operator TU Biro Umum]
→ [Satker: "690861 - Sekretariat Utama" (DISABLED)]
→ [Sub-Sekretariat: "TU Biro Umum dan Keuangan" (DISABLED)]
→ [Data: SP2D/SPJ Sub-Sekretariat TU Biro Umum saja]
Dashboard-Specific Permissions
MAIN Dashboard
- Fokus: Monitoring & analytics
- Permission Khusus:
canMatch(untuk hubungkan SP2D-SPJ)
SP2D Dashboard
- Fokus: Document management (SP2D dari Kemenkeu)
- Permission Khusus:
canUpload(upload PDF SP2D),canDownload(download file)
SPJ Dashboard
- Fokus: Form management (bukti dukung belanja)
- Permission Khusus:
canUpload(upload kuitansi/faktur),canMatch(link ke SP2D)
MASTER_PAGU Dashboard
- Fokus: Budget planning (perencanaan anggaran)
- Permission Khusus:
canSync(sync Hub Site),canTemplate(manage template),canPlan(perencanaan)
FAQ & Best Practices
A: PPK/PPSPM adalah approval role, bukan operational role. Mereka hanya verifikasi data yang diinput OPERATOR via Microsoft Teams Approval (out-of-band approval). Ini sesuai prinsip separation of duties untuk mencegah conflict of interest.
A: Role user dikelola oleh ADMIN_USER via SharePoint Master_User list. Hubungi Admin Pusat untuk request perubahan role.
A: Tidak. Sistem hanya mengakui 1 primary role per user. Jika user di SharePoint punya multiple role, sistem ambil role dengan priority tertinggi (lihat hierarki di atas).
A: Artinya role Anda adalah Satker-Scoped (OPERATOR, PPK, dll.). Sistem otomatis lock Satker sesuai data Master_User Anda. Jika Satker salah, hubungi Admin untuk update data.