Membina Kepercayaan Melalui Kawalan Capaian

Kebanyakan aplikasi menyangka mereka selamat hanya kerana mempunyai halaman log masuk.

Log masuk hanyalah langkah pertama. Sebaik sahaja pengguna masuk, anda mesti menjawab satu soalan: Apakah yang boleh dilakukan oleh pengguna ini?

Ramai orang keliru antara pengesahan (authentication) dengan kebenaran (authorization).

• Pengesahan (Authentication) bertanya: Siapakah anda? • Kebenaran (Authorization) bertanya: Apakah yang dibenarkan untuk anda lakukan?

Seorang pengguna mungkin berjaya log masuk. Ini tidak bermakna mereka harus melihat setiap rekod atau menyunting setiap profil.

Gunakan Kawalan Capaian Berasaskan Peranan (RBAC) untuk menjadikan peraturan lebih jelas.

RBAC berfungsi dengan menyemak peranan pengguna terhadap senarai peranan yang dibenarkan. Jika anda tidak menggunakan kawalan capaian, anda berhadapan dengan risiko seperti:

  • Papan pemuka yang terdedah secara berlebihan
  • Terlalu banyak kebenaran dalaman
  • Kebocoran data yang tidak disengajakan
  • Jejak audit yang lemah
  • Kepercayaan yang terjejas

Ikuti prinsip keistimewaan minimum (principle of least privilege). Berikan pengguna hanya capaian yang mereka perlukan untuk tugas mereka.

• Kakitangan sokongan tidak sepatutnya melihat semua rekod pelanggan. • Jurutera tidak sepatutnya mempunyai capaian produksi secara lalai. • Data HR mesti kekal tersegmentasi. • Peranan admin mesti kekal jarang dan boleh diaudit.

Kadangkala peranan sahaja tidak mencukupi. Anda memerlukan kebenaran berasaskan tindakan. Seorang pengguna mungkin boleh melihat rekod tetapi tidak boleh memadamnya. Ini memberikan anda kawalan yang terperinci (granular control).

Anda juga harus mengasingkan data mengikut tahap sensitiviti: • Data awam: Nama dan foto. • Data peribadi: Emel dan telefon. • Data sensitif: Gaji atau nombor ID.

Layan kategori ini secara berbeza dalam kod anda. Ini memudahkan pengurusan keselamatan.

Kepercayaan juga memerlukan akauntabiliti. Setiap kali seseorang menyentuh data sensitif, sistem anda mesti mencipta jejak audit. Tindakan sensitif mesti meninggalkan kesan.

Sebelum anda melancarkan aplikasi anda, semak perkara berikut:

  • Adakah aliran log masuk dan sesi adalah selamat?
  • Adakah kebenaran berasaskan peranan dan tindakan?
  • Adakah data sensitif tersegmentasi?
  • Adakah tetapan lalai anda bersifat menyekat?
  • Adakah anda merekodkan semua capaian?
  • Bolehkah anda menjelaskan kebenaran kepada pengguna anda?

Pengesahan membawa pengguna masuk. Kebenaran memastikan sistem anda boleh dipercayai. Kepercayaan adalah ciri produk.

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