Nodeflux Central
User Access

User Access

Kelola User, Role, dan Permission dalam satu tempat — tambah anggota tim, tentukan hak akses berbasis Role, dan kendalikan siapa dapat melakukan apa di Lenz Dashboard.

Pengenalan

User Access adalah modul administrasi di Lenz Dashboard yang memungkinkan admin untuk mengelola siapa saja yang dapat mengakses sistem dan apa yang boleh mereka lakukan. Modul ini menerapkan model RBAC (Role-Based Access Control): setiap User mendapatkan satu Role, dan setiap Role memiliki sekumpulan Permission atas Resource tertentu.

Model Akses: User → Role → Permission → Resource

Setiap entitas dalam sistem terhubung dalam rantai berikut:

  • User — akun yang dapat login ke Lenz Dashboard. Setiap User memiliki tepat satu Role.
  • Role — kumpulan aturan akses yang menentukan hak seorang User. Role dapat digunakan oleh banyak User sekaligus.
  • Permission — empat tindakan yang dapat diizinkan atau ditolak per Resource: can_create, can_read, can_update, can_delete.
  • Resource — fitur atau halaman di Lenz Dashboard (misalnya streams, events, manage_users).

Halaman User Access dapat diakses melalui /user-access dan hanya tampil bagi User yang memiliki Permission can_read pada Resource manage_roles atau manage_users.

Hanya User dengan Role yang memiliki akses ke manage_roles dan manage_users yang dapat membuka halaman ini. Jika halaman tidak dapat diakses, hubungi administrator sistem Anda.


Diagram Model RBAC

memiliki 1 memiliki banyak berlaku pada 1 User(email, username, fullname) Role(name, default_homepage) Permission(can_create, can_read, can_update, can_delete) Resource(streams, events, manage_users, ...)

Alur kerja pemberian akses:

  1. Admin membuat Role baru dan mengisi Permission untuk setiap Resource yang relevan.
  2. Admin membuat User baru dan memilih Role yang sesuai.
  3. Saat User login, sistem membaca Permission dari Role-nya dan menampilkan hanya fitur yang diizinkan.

Cara Menggunakan

Menambah User Baru

Buka tab Manajemen Pengguna

Akses halaman /user-access dari sidebar Lenz Dashboard. Pilih tab Manajemen Pengguna (ikon Users) di bagian atas halaman.

Tab Manajemen Pengguna: (1) pengalih antara Manajemen Peran dan Manajemen Pengguna, (2) Tambah Pengguna membuka wizard dua langkah (Impor dan Ekspor di sebelahnya memindahkan daftar pengguna lewat berkas), (3) kolom Peran menentukan fitur apa yang dapat dibuka pengguna, (4) kolom Izin merangkum site mana saja yang boleh dilihatnya.
Tab Manajemen Pengguna: (1) pengalih antara Manajemen Peran dan Manajemen Pengguna, (2) Tambah Pengguna membuka wizard dua langkah (Impor dan Ekspor di sebelahnya memindahkan daftar pengguna lewat berkas), (3) kolom Peran menentukan fitur apa yang dapat dibuka pengguna, (4) kolom Izin merangkum site mana saja yang boleh dilihatnya.

Klik "Tambah Pengguna"

Klik tombol Tambah Pengguna di atas tabel. Dialog Buat Pengguna Baru terbuka sebagai wizard dua langkah: Langkah 1 dari 2 — Detail Pengguna, lalu Langkah 2 dari 2 — Akses Situs. Langkah kedua baru terbuka setelah langkah pertama diisi dan Anda menekan Lanjut.

Dialog Buat Pengguna Baru, langkah 1 dari 2: (1) Detail Pengguna berisi Nama Lengkap, Nama Pengguna, dan Email, (2) Akses Situs dibuka setelah langkah ini, (3) Kata Sandi minimal 8 karakter beserta konfirmasinya, (4) Peran menentukan fitur mana yang dapat digunakan. Peran mengatur *apa* yang boleh dilakukan, Akses Situs mengatur *di lokasi mana*.
Dialog Buat Pengguna Baru, langkah 1 dari 2: (1) Detail Pengguna berisi Nama Lengkap, Nama Pengguna, dan Email, (2) Akses Situs dibuka setelah langkah ini, (3) Kata Sandi minimal 8 karakter beserta konfirmasinya, (4) Peran menentukan fitur mana yang dapat digunakan. Peran mengatur *apa* yang boleh dilakukan, Akses Situs mengatur *di lokasi mana*.

Isi informasi User

Pada tab Detail Pengguna, lengkapi semua field berikut:

FieldKeterangan
Nama LengkapNama tampilan User di sistem
Nama PenggunaUsername untuk login (unik)
EmailAlamat email (unik, digunakan untuk identifikasi)
PeranRole yang akan ditetapkan ke User ini
Kata SandiMinimal 8 karakter
Konfirmasi Kata SandiHarus sama dengan kata sandi di atas

Tetapkan Akses Situs

Klik Lanjut untuk membuka Akses Situs dan pilih instance, situs, atau stream tertentu yang boleh diakses User ini.

Jika tidak ada satu pun situs/stream yang dipilih, User (non-superadmin) tidak mendapat akses ke stream atau site apa pun — bukan mengikuti batasan bawaan dari Peran-nya. Akses Situs adalah lapisan pembatas terpisah dari Peran dan harus diisi eksplisit agar User dapat melihat data.

Perbedaan keduanya penting: Peran menentukan apa yang boleh dilakukan (membaca event, menghapus stream), sedangkan Akses Situs menentukan di lokasi mana hal itu berlaku.

Simpan User

Klik Buat Pengguna. Jika berhasil, User baru akan muncul di tabel dan dapat langsung login menggunakan kredensial yang ditetapkan.


Mengedit dan Menghapus User

  • Edit: Klik ikon menu (titik tiga) pada baris User di tabel → pilih Edit. Anda dapat mengubah nama, email, username, Role, dan Situs. Password hanya dapat diubah melalui opsi Ganti Kata Sandi yang terpisah.
  • Hapus: Klik ikon menu → pilih Hapus Pengguna. Tindakan ini permanen dan tidak dapat dibatalkan.

Menghapus User akan menghapus akun secara permanen. Pastikan Anda tidak menghapus User yang sedang aktif mengelola data penting di sistem.


Membuat Role Baru

Buka tab Manajemen Peran

Di halaman /user-access, pilih tab Manajemen Peran (ikon ShieldCheck).

Klik "Tambah Peran"

Dialog Buat Peran Baru terbuka dengan dua tab: Detail Peran untuk informasi dasar, dan Izin untuk matriks Permission.

Dialog Buat Peran Baru: (1) tab Detail Peran berisi Nama Peran, (2) tab Izin berisi matriks hak akses, (3) Halaman Beranda menentukan halaman yang pertama dibuka pengguna dengan peran ini setelah login — pilih halaman yang memang boleh mereka akses, agar tidak mendarat di halaman terlarang.
Dialog Buat Peran Baru: (1) tab Detail Peran berisi Nama Peran, (2) tab Izin berisi matriks hak akses, (3) Halaman Beranda menentukan halaman yang pertama dibuka pengguna dengan peran ini setelah login — pilih halaman yang memang boleh mereka akses, agar tidak mendarat di halaman terlarang.

Isi nama dan halaman default

FieldKeterangan
Nama PeranNama deskriptif, misalnya "Operator CCTV" atau "Analis Forensik"
Halaman BerandaHalaman pertama yang dibuka User dengan Peran ini setelah login. Pilih halaman yang memang diizinkan oleh Peran ini, agar pengguna tidak mendarat di halaman terlarang.

Atur Permission per Resource

Buka tab Izin. Setiap Resource tampil sebagai satu baris yang dapat dibentangkan; di dalamnya ada empat hak — Create, Read, Update, dan Delete — yang dicentang sendiri-sendiri. Penghitung 0/4 di sebelah nama Resource menunjukkan berapa hak yang aktif, tombol Pilih Semua mencentang keempatnya sekaligus, dan kotak Cari sumber daya... di atas daftar menyaringnya.

Peran tetap dapat disimpan meski semua Permission-nya 0/4 — sistem tidak mewajibkan minimal satu Permission dipilih. Peran seperti ini valid tetapi tidak berguna: User yang memakainya tidak bisa mengakses fitur apa pun.

Tab Izin: (1) Cari sumber daya menyaring daftar yang panjang; (2) satu baris per resource (Alert History, Alert Rules, Api Keys, Audit Log, Events, dan seterusnya) yang dapat dibuka untuk menampilkan empat hak — Create, Read, Update, Delete — yang dicentang sendiri-sendiri. Penghitung 0/4 menunjukkan berapa hak yang aktif pada resource itu, dan Pilih Semua mencentang keempatnya sekaligus.
Tab Izin: (1) Cari sumber daya menyaring daftar yang panjang; (2) satu baris per resource (Alert History, Alert Rules, Api Keys, Audit Log, Events, dan seterusnya) yang dapat dibuka untuk menampilkan empat hak — Create, Read, Update, Delete — yang dicentang sendiri-sendiri. Penghitung 0/4 menunjukkan berapa hak yang aktif pada resource itu, dan Pilih Semua mencentang keempatnya sekaligus.

Simpan Peran

Klik Buat Peran. Peran baru langsung tersedia saat membuat atau mengedit User.


Mengubah Role pada User yang Sudah Ada

  1. Buka tab Manajemen Pengguna.
  2. Cari User yang ingin diubah Role-nya menggunakan kolom pencarian.
  3. Klik ikon menu → Edit.
  4. Ubah field Peran ke Role yang baru.
  5. Klik Simpan Perubahan.

Perubahan Role berlaku saat sesi User berikutnya (atau segera jika User me-refresh halaman).


Tipe Permission dan Resource

Setiap Role memiliki matriks Permission yang mengontrol tindakan (can_create, can_read, can_update, can_delete) terhadap Resource berikut:

Kategori Video & Streaming

ResourceDeskripsi
streamsManajemen kamera dan stream video
video_managementPengelolaan rekaman dan video
media_serverKonfigurasi media server
recorded_streamsAkses ke stream yang direkam

Kategori Face Recognition

ResourceDeskripsi
enrollment_facePendaftaran wajah ke database
face_searchPencarian wajah di event historis
face_searching_logsLog hasil pencarian wajah
face_trackingPelacakan wajah real-time

Kategori Plate Recognition

ResourceDeskripsi
enrollment_platePendaftaran plat nomor ke database
plate_searchPencarian plat nomor di event historis
plate_trackingPelacakan plat nomor real-time
plate_searching_logsLog hasil pencarian plat nomor

Kategori Event & Alert

ResourceDeskripsi
eventsAkses ke data event deteksi
alert_rulesKonfigurasi aturan alert
alert_historyRiwayat alert yang telah terpicu

Kategori Sites & Infrastruktur

ResourceDeskripsi
sitesManajemen lokasi/situs
floorplansDenah lantai dan peta lokasi
remotesManajemen remote/node
layout_templatesTemplate tampilan layar

Kategori User Management

ResourceDeskripsi
manage_rolesMembuat, mengedit, menghapus Role
manage_usersMembuat, mengedit, menghapus User

Kategori Sistem & Pengaturan

ResourceDeskripsi
settingsKonfigurasi sistem
licensesManajemen lisensi
api_keysManajemen API Key
model_api_keysAPI Key untuk model AI
vpn_accountsAkun VPN
whitelisted_ipsDaftar IP yang diizinkan
auto_searchFitur pencarian otomatis

Kategori Logging & Monitoring

ResourceDeskripsi
audit_logLog aktivitas sistem
log_historyRiwayat log
statisticsData statistik dan analitik
monitoring_resourcePemantauan resource server

Kategori Fitur Khusus & Otomasi

ResourceDeskripsi
smart_searchPencarian cerdas lintas fitur
notificationsManajemen notifikasi
workflowsAlur kerja otomatis
credentialsManajemen kredensial
centralize_enrollmentEnrollment terpusat
passenger_analysis_unitAnalisis penumpang
person_reidPengenalan ulang orang (person re-identification) lintas kamera

Untuk integrator: Daftar resource di atas adalah string yang dikenali oleh backend API. Saat memanggil POST /api/roles atau PUT /api/roles/{id}, kirim setiap entry pada array permissions dengan field resource_name berisi salah satu key di atas, ditambah empat boolean can_create, can_read, can_update, can_delete. Resource yang tidak dikenali akan ditolak server.

Mengelola User & Role pada Federation

Pada deployment Federation, halaman User Access menampilkan pemilih Instance di bagian atas (Core atau salah satu remote instance). Pilih instance untuk membuat, mengedit, atau menghapus User dan Role langsung pada instance tersebut tanpa login terpisah — User dan Role yang dibuat lewat jalur ini ditandai label "via Core" pada kolom Asal.

Untuk resolusi Permission lintas instance, Lenz Dashboard menyertakan header X-User-Permissions (JWT yang ditandatangani Federation Module) saat meneruskan request ke remote instance. Header ini berisi snapshot Permission User yang sedang login sehingga setiap remote instance dapat memvalidasi akses tanpa perlu mereplikasi tabel User. Detail format JWT dan alur validasi tersedia di panduan Otentikasi.


Fitur Utama

CRUD User Lengkap

Tambah, edit, lihat detail, ganti password, dan hapus User.

Manajemen Role

Buat Role kustom dengan nama dan halaman default. Role kustom dapat diedit dan dihapus; Role bawaan sistem (default/superadmin) terkunci dari kedua tindakan tersebut.

Matriks Permission Granular

Kendalikan akses hingga level tindakan (Buat/Baca/Perbarui/Hapus) per Resource. Setiap Resource dapat dikonfigurasi secara independen.

Impor & Ekspor User

Impor banyak User sekaligus dari file CSV dengan validasi otomatis, deteksi duplikat, dan laporan hasil impor yang detail.

Filter & Pencarian

Cari User berdasarkan nama atau email. Filter berdasarkan status online/offline.

Route Guard Berbasis RBAC

Halaman secara otomatis menyesuaikan tab yang ditampilkan berdasarkan Permission User yang sedang login — tab yang tidak bisa diakses tidak akan muncul.

Manajemen Multi-Instance (Federation)

Pada deployment Federation, kelola User dan Role di Core maupun remote instance langsung dari satu halaman lewat pemilih Instance.


Tips & Troubleshooting


Selanjutnya

On this page