Casbin RBAC vs. RBAC96
Casbin RBAC dan RBAC96
Dalam dokumen ini, kami akan membandingkan Casbin RBAC dengan RBAC96.
Casbin RBAC menyokong hampir semua ciri-ciri RBAC96 dan menambah ciri-ciri baru di atasnya.
Versi RBAC | Tahap Sokongan | Penerangan |
---|---|---|
RBAC0 | Menyokong Sepenuhnya | RBAC0 adalah versi asas bagi RBAC96. Ia menjelaskan hubungan antara Pengguna, Peranan, dan Kebenaran. |
RBAC1 | Dukungan Penuh | RBAC1 menambah hierarki peranan di atas RBAC0. Ini bermakna jika alice mempunyai role1 , role1 mempunyai role2 , maka alice juga akan mempunyai role2 dan mewarisi kebenarannya. |
RBAC2 | Pengendalian Secara Eksklusif Bersama Disokong (seperti ini) | RBAC2 menambah sekatan pada RBAC0. Ini membolehkan RBAC2 mengendalikan polisi yang saling eksklusif. Namun, had kuantitatif tidak disokong. |
RBAC3 | Penanganan Eksklusif Bersama Disokong (seperti ini) | RBAC3 ialah gabungan antara RBAC1 dan RBAC2. Ia menyokong hierarki peranan dan sekatan yang terdapat dalam RBAC1 dan RBAC2. Namun, had kuantitatif tidak disokong. |
Perbezaan Antara Casbin RBAC dan RBAC96
Dalam Casbin, perbezaan antara Pengguna dan Peranan tidak sejelas dalam RBAC96.
Dalam Casbin, kedua-dua Pengguna dan Peranan dianggap sebagai rentetan. Sebagai contoh, pertimbangkan fail polisi berikut:
p, admin, book, read
p, alice, book, read
g, amber, adminJika anda memanggil kaedah
GetAllSubjects()
menggunakan contoh Casbin Enforcer:e.GetAllSubjects()
nilai pulangan akan menjadi:
[admin alice]
Ini kerana dalam Casbin, subjek termasuk kedua-dua Pengguna dan Peranan.
Walau bagaimanapun, jika anda memanggil kaedah
GetAllRoles()
:e.GetAllRoles()
nilai pulangan akan menjadi:
[admin]
Dari ini, anda dapat melihat bahawa terdapat perbezaan antara Pengguna dan Peranan dalam Casbin, tetapi ia tidak setajam dalam RBAC96. Sudah tentu, anda boleh menambah awalan pada dasar anda seperti
user::alice
danrole::admin
untuk menjelaskan hubungan mereka.Casbin RBAC menyediakan lebih banyak kebenaran daripada RBAC96.
RBAC96 hanya mentakrifkan 7 kebenaran: baca, tulis, tambah, jalankan, kredit, debit, dan pertanyaan.
Walau bagaimanapun, dalam Casbin, kami menganggap kebenaran sebagai rentetan. Ini membolehkan anda mencipta kebenaran yang lebih sesuai dengan keperluan anda.
Casbin RBAC menyokong domain.
Dalam Casbin, anda boleh melakukan pengesahan berdasarkan domain. Ciri ini menjadikan Model Kawalan Akses anda lebih fleksibel.