Membangun Kepercayaan Melalui Kontrol Akses

Kebanyakan aplikasi merasa sudah aman hanya karena memiliki halaman login.

Login hanyalah langkah pertama. Setelah pengguna masuk, Anda harus menjawab satu pertanyaan: Apa yang bisa dilakukan pengguna ini?

Banyak orang menyamakan autentikasi dengan otorisasi.

• Autentikasi bertanya: Siapa Anda? • Otorisasi bertanya: Apa yang diizinkan untuk Anda lakukan?

Seorang pengguna mungkin berhasil login. Ini tidak berarti mereka harus bisa melihat setiap data atau mengubah setiap profil.

Gunakan Role Based Access Control (RBAC) untuk memperjelas aturan.

RBAC bekerja dengan memeriksa peran pengguna terhadap daftar peran yang diizinkan. Jika Anda tidak menggunakan kontrol akses, Anda menghadapi risiko seperti:

  • Dasbor yang terlalu terbuka
  • Terlalu banyak izin internal
  • Kebocoran data yang tidak disengaja
  • Jejak audit yang buruk
  • Hilangnya kepercayaan

Ikuti prinsip hak istimewa minimum (principle of least privilege). Berikan pengguna hanya akses yang mereka butuhkan untuk pekerjaan mereka.

• Staf pendukung tidak boleh melihat semua data pelanggan. • Insinyur tidak boleh memiliki akses produksi secara default. • Data HR harus tetap tersegmentasi. • Peran Admin harus tetap terbatas dan dapat diaudit.

Terkadang peran saja tidak cukup. Anda membutuhkan izin berbasis tindakan (action-based permissions). Seorang pengguna mungkin dapat melihat sebuah data tetapi tidak dapat menghapusnya. Ini memberi Anda kontrol yang granular.

Anda juga harus memisahkan data berdasarkan sensitivitasnya: • Data publik: Nama dan foto. • Data pribadi: Email dan telepon. • Data sensitif: Gaji atau nomor identitas.

Perlakukan kategori-kategori ini secara berbeda dalam kode Anda. Hal ini membuat keamanan lebih mudah dikelola.

Kepercayaan juga membutuhkan akuntabilitas. Setiap kali seseorang menyentuh data sensitif, sistem Anda harus membuat jejak audit (audit trail). Tindakan sensitif harus meninggalkan jejak.

Sebelum Anda merilis aplikasi Anda, periksa poin-poin berikut:

  • Apakah alur login dan sesi sudah aman?
  • Apakah izin didasarkan pada peran dan tindakan?
  • Apakah data sensitif sudah tersegmentasi?
  • Apakah pengaturan default Anda bersifat membatasi?
  • Apakah Anda mencatat semua akses?
  • Bisakah Anda menjelaskan izin kepada pengguna Anda?

Autentikasi memasukkan pengguna. Otorisasi menjaga sistem Anda tetap tepercaya. Kepercayaan adalah fitur produk.

Sumber: https://dev.to/samiatakande11/building-trust-into-authentication-practical-access-control-patterns-for-modern-apps-55pc