Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jenis kontrol akses
Anda dapat menggunakan dua model yang didefinisikan secara luas untuk menerapkan kontrol akses: kontrol akses berbasis peran (RBAC) dan kontrol akses berbasis atribut (ABAC). Setiap model memiliki kelebihan dan kekurangan, yang dibahas secara singkat di bagian ini. Model yang harus Anda gunakan tergantung pada kasus penggunaan spesifik Anda. Arsitektur yang dibahas dalam panduan ini mendukung kedua model.
RBAC
Role-based access control (RBAC) menentukan akses ke sumber daya berdasarkan peran yang biasanya selaras dengan logika bisnis. Izin dikaitkan dengan peran yang sesuai. Misalnya, peran pemasaran akan memberi wewenang kepada pengguna untuk melakukan aktivitas pemasaran dalam sistem terbatas. Ini adalah model kontrol akses yang relatif sederhana untuk diterapkan karena selaras dengan logika bisnis yang mudah dikenali.
Model RBAC kurang efektif ketika:
-
Anda memiliki pengguna unik yang tanggung jawabnya mencakup beberapa peran.
-
Anda memiliki logika bisnis yang kompleks yang membuat peran sulit untuk didefinisikan.
-
Penskalaan hingga ukuran besar memerlukan administrasi dan pemetaan izin yang konstan ke peran baru dan yang sudah ada.
-
Otorisasi didasarkan pada parameter dinamis.
ABAC
Attribute-based access control (ABAC) menentukan akses ke sumber daya berdasarkan atribut. Atribut dapat dikaitkan dengan pengguna, sumber daya, lingkungan, atau bahkan status aplikasi. Kebijakan atau aturan Anda mereferensikan atribut dan dapat menggunakan logika Boolean dasar untuk menentukan apakah pengguna diizinkan melakukan tindakan. Berikut adalah contoh dasar izin:
Dalam sistem pembayaran, semua pengguna di departemen Keuangan diizinkan untuk memproses pembayaran di titik akhir API /payments
selama jam kerja.
Keanggotaan di departemen Keuangan adalah atribut pengguna yang menentukan akses ke/payments
. Ada juga atribut sumber daya yang terkait dengan titik akhir /payments
API yang mengizinkan akses hanya selama jam kerja. Di ABAC, apakah pengguna dapat memproses pembayaran atau tidak ditentukan oleh kebijakan yang mencakup keanggotaan departemen Keuangan sebagai atribut pengguna, dan waktu sebagai atribut sumber daya. /payments
Model ABAC sangat fleksibel dalam memungkinkan keputusan otorisasi yang dinamis, kontekstual, dan granular. Namun, model ABAC sulit diterapkan pada awalnya. Mendefinisikan aturan dan kebijakan serta menghitung atribut untuk semua vektor akses yang relevan memerlukan investasi awal yang signifikan untuk diterapkan.
Pendekatan hibrida RBAC-ABAC
Menggabungkan RBAC dan ABAC dapat memberikan beberapa keunggulan kedua model. RBAC, yang selaras dengan logika bisnis, lebih mudah diterapkan daripada ABAC. Untuk memberikan lapisan granularitas tambahan saat membuat keputusan otorisasi, Anda dapat menggabungkan ABAC dengan RBAC. Pendekatan hibrida ini menentukan akses dengan menggabungkan peran pengguna (dan izin yang ditetapkan) dengan atribut tambahan untuk membuat keputusan akses. Menggunakan kedua model memungkinkan administrasi sederhana dan penetapan izin sementara juga memungkinkan peningkatan fleksibilitas dan granularitas yang berkaitan dengan keputusan otorisasi.
Perbandingan model kontrol akses
Tabel berikut membandingkan tiga model kontrol akses yang dibahas sebelumnya. Perbandingan ini dimaksudkan untuk menjadi informatif dan tingkat tinggi. Menggunakan model akses dalam situasi tertentu mungkin tidak selalu berkorelasi dengan perbandingan yang dibuat dalam tabel ini.
Faktor |
RBAC |
ABAC |
Hibrida |
Fleksibilitas |
Sedang |
Tinggi |
Tinggi |
Kesederhanaan |
Tinggi |
Rendah |
Sedang |
Granularitas |
Rendah |
Tinggi |
Sedang |
Keputusan dan aturan dinamis |
Tidak |
Ya |
Ya |
Sadar konteks |
Tidak |
Ya |
Agak |
Upaya implementasi |
Rendah |
Tinggi |
Sedang |