KonsepBagian 1 dari 11

Peran, Hak Akses, dan Batasnya

Dua peran di DIMETIL, apa yang dapat dilakukan masing-masing, dan bagaimana pengamanannya bekerja.

Isi halaman ini

Sebelum bekerja dengan DIMETIL, pahami dulu siapa dapat melakukan apa. Ini penting bukan sekadar administratif — beberapa tindakan tidak dapat dibatalkan.

Dua peran

PeranSiapaDapat melakukan
pemilikUTTPPemilik alat, masyarakatMengajukan permohonan, memantau berkas, mengunduh SKHP miliknya sendiri
adminInstansiPetugas Unit Metrologi LegalSeluruh alur pelayanan: disposisi, penjadwalan, penerbitan SKHP, persuratan, laporan

Tidak ada tingkatan di antara keduanya. Setiap petugas yang berperan adminInstansi memiliki kewenangan penuh atas modul kerja.

Bagaimana peran ditetapkan

Peran tidak dapat dipilih sendiri oleh siapa pun saat mendaftar. Setiap akun baru otomatis berperan pemilikUTTP.

Menaikkannya menjadi adminInstansi hanya dapat dilakukan dari dasbor Supabase oleh pengelola sistem — bukan dari dalam aplikasi. Ini disengaja: seandainya ada celah pada aplikasi, penyerang tetap tidak dapat mengangkat dirinya sendiri menjadi admin.

Langkah menaikkan peran ada pada panduan replikasi, bagian pemasangan.

Mengapa halaman masuk tidak menanyakan peran

Halaman masuk hanya meminta e-mail dan kata sandi. Tidak ada pilihan "masuk sebagai admin".

Sistem mengenali sendiri peran akun setelah kredensialnya sah, lalu membuka halaman yang sesuai. Menanyakan peran kepada pengguna tidak menambah keamanan sama sekali — perannya toh ditentukan basis data, bukan pilihan di layar — dan justru mengumumkan susunan peran internal kepada siapa pun yang membuka halaman masuk.

Pengamanan berlapis

Keamanan DIMETIL tidak bertumpu pada satu titik:

LapisYang dijaga
MiddlewareSeluruh halaman /dashboard menolak yang belum masuk
Guard tiap alamat dataSetiap permintaan data memeriksa peran secara terpisah
Aturan basis dataKolom peran tak dapat diubah pengguna, walau permintaannya dipalsukan

Artinya: menyembunyikan tombol bukan pengaman. Tombol yang disembunyikan hanya memudahkan tampilan; penolakan sesungguhnya terjadi di server.

Jejak audit

Tindakan yang paling menentukan dicatat lengkap dengan waktu dan pelakunya:

  • Perubahan status permohonan (disposisi)
  • Penghapusan permohonan
  • Penyuntingan data SKHP

Catatan itu tersimpan pada lembar AuditLog di basis data. Tujuannya bukan mengawasi petugas, melainkan menjawab pertanyaan "kapan ini berubah, dan atas dasar apa" ketika ada yang perlu ditelusuri.

Yang tidak dapat dibatalkan

Akun petugas baru

Petugas baru mendaftar sendiri lewat halaman pendaftaran seperti masyarakat biasa, lalu perannya dinaikkan oleh pengelola sistem. Tidak ada pembuatan akun langsung dari dalam aplikasi.

Bila seorang petugas berhenti atau pindah tugas, turunkan perannya kembali menjadi pemilikUTTP — jangan menghapus akunnya, karena jejak audit yang merujuk padanya masih diperlukan.