Langkau ke kandungan utama

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 RBACTahap SokonganPenerangan
RBAC0Menyokong SepenuhnyaRBAC0 adalah versi asas bagi RBAC96. Ia menjelaskan hubungan antara Pengguna, Peranan, dan Kebenaran.
RBAC1Dukungan PenuhRBAC1 menambah hierarki peranan di atas RBAC0. Ini bermakna jika alice mempunyai role1, role1 mempunyai role2, maka alice juga akan mempunyai role2 dan mewarisi kebenarannya.
RBAC2Pengendalian Secara Eksklusif Bersama Disokong (seperti ini)RBAC2 menambah sekatan pada RBAC0. Ini membolehkan RBAC2 mengendalikan polisi yang saling eksklusif. Namun, had kuantitatif tidak disokong.
RBAC3Penanganan 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

  1. 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, admin

    Jika 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 dan role::admin untuk menjelaskan hubungan mereka.

  2. 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.

  3. Casbin RBAC menyokong domain.

    Dalam Casbin, anda boleh melakukan pengesahan berdasarkan domain. Ciri ini menjadikan Model Kawalan Akses anda lebih fleksibel.