> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docku.mertani.com/llms.txt.
> For full documentation content, see https://docku.mertani.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docku.mertani.com/_mcp/server.

# Permission System

> Mengatur hak akses fitur berdasarkan role

## Overview

**Permission System** merupakan komponen inti dalam mekanisme kontrol akses yang menentukan batasan tindakan pengguna dalam sistem.\
Melalui permission, sistem dapat mengatur secara spesifik:

* Apa yang dapat dilihat oleh pengguna
* Apa yang dapat dilakukan oleh pengguna

Permission memungkinkan kontrol akses secara detail hingga level aksi, seperti create, read, update, dan delete, sehingga memberikan fleksibilitas tinggi dalam pengelolaan user.

***

## Tujuan dan Use Case

Permission system digunakan untuk:

* Membatasi akses fitur berdasarkan tanggung jawab
* Mencegah tindakan yang tidak diizinkan
* Mengamankan data sensitif
* Mendukung implementasi **Role-Based Access Control (RBAC)**

***

## Konsep Permission

Permission umumnya dibagi ke dalam beberapa jenis aksi:

* **View (Read)** → melihat data atau halaman
* **Create** → menambahkan data baru
* **Update** → mengubah data yang sudah ada
* **Delete** → menghapus data

Setiap modul dalam sistem dapat memiliki kombinasi permission yang berbeda.

***

## Behavior Sistem

Sistem menerapkan aturan berikut dalam pengelolaan permission:

* Permission berlaku untuk **semua user dalam role tersebut**
* Perubahan permission bersifat **real-time**
* Berlaku di seluruh modul dashboard (global enforcement)
* Permission bekerja di level backend, bukan hanya tampilan UI

Permission lebih tinggi dari UI — jika suatu aksi tidak diizinkan, sistem tetap akan menolak meskipun UI dimanipulasi.

***

## Prasyarat

Sebelum mengatur permission:

* Role sudah dibuat
* Anda memiliki akses untuk mengelola role
* Struktur modul dan fitur sudah dipahami

***

## Langkah Pengaturan Permission

### Masuk Menu

Buka **Instansi** → **Peran Pengguna**

### Pilih Role

Cari dan pilih role yang ingin dikonfigurasi

### Buka Permission

Klik opsi `Hak Akses` untuk membuka konfigurasi permission

### Checklist Akses

Pilih permission yang diizinkan sesuai kebutuhan (View, Create, Update, Delete)

### Simpan

Klik tombol **Simpan** untuk menerapkan perubahan

***

## Dampak Perubahan Permission

Setelah permission diubah:

* Akses user akan langsung menyesuaikan
* Menu atau fitur tertentu bisa muncul atau hilang
* Aksi tertentu bisa diaktifkan atau dinonaktifkan
* Tidak memerlukan login ulang

***

## Best Practice

Untuk implementasi yang optimal:

* Terapkan prinsip **least privilege** (akses seminimal mungkin)
* Hindari memberikan semua permission ke semua role
* Gunakan role berbeda untuk fungsi berbeda
* Lakukan audit permission secara berkala
* Dokumentasikan konfigurasi penting

***

## Note

* Permission adalah fondasi utama keamanan sistem
* Perubahan kecil dapat berdampak besar terhadap operasional
* Disarankan untuk melakukan pengujian setelah perubahan permission