RBAC nedir?
RBAC (Role-Based Access Control, rol tabanlı erişim kontrolü), izinlerin doğrudan kişilere değil rollere verildiği ve kullanıcıların bir veya birkaç role atanarak yetki kazandığı erişim yönetimi modelidir. “Muhasebe”, “destek” veya “yönetici” birer roldür ve her rolün izin kümesi önceden tanımlıdır.
Model, kişi değiştiğinde izinleri tek tek düzenleme zahmetini ortadan kaldırır. Bir çalışan departman değiştirirse rolü değişir ve yetkileri otomatik olarak güncellenir.
Nasıl çalışır?
Üç temel kavram vardır: kullanıcı, rol ve izin. Kullanıcı role atanır, rol izinlere bağlanır. İsteğe bağlı olarak roller hiyerarşi oluşturabilir (yönetici rolü, editör rolünün izinlerini de içerir). Bir işlem istendiğinde sistem kullanıcının rollerine bakar ve izin verir ya da reddeder.
RBAC en az yetki ilkesini uygulamayı kolaylaştırır; ama roller çoğaldıkça “rol patlaması” yaşanabilir. Çok ince taneli koşullar için nitelik tabanlı (ABAC) modeller bunu tamamlar.
Sunucu ve hosting ortamında
Hosting kontrol panellerinde yönetici, bayi ve müşteri hesapları, ayrıca WHMCS'te destek personeli grupları rol örnekleridir. Linux'ta gruplar ve sudoers kuralları, veritabanlarında rol tanımları, Kubernetes ve bulut platformlarında ise tam anlamıyla RBAC politikaları kullanılır.
WordPress'te Yönetici, Editör, Yazar gibi roller yerleşiktir; bir eklenti sahibi gereksiz yere yönetici rolü almamalıdır.
Nasıl uygulanır?
- Önce gerçek iş görevlerini listeleyin, sonra bunlara roller tanımlayın.
- Varsayılan olarak en düşük yetkili rolü verin; yükseltmeyi gerekçeye bağlayın.
- Yönetici ve ortak hesapları en aza indirin; kişiye özel hesaplar kullanın.
- Rol atamalarını düzenli aralıklarla gözden geçirin ve ayrılanların erişimini hemen kaldırın.
- Kritik işlemler için görev ayrımı uygulayın (isteyen ile onaylayan farklı olsun).
- Rol değişikliklerini günlüğe alın.
Sık yapılan hatalar
- Her yeni ihtiyaçta yeni rol üretip yönetilemez bir rol kalabalığı yaratmak.
- Herkese kolaylık olsun diye yönetici rolü vermek.
- Rolleri tanımlayıp bir daha gözden geçirmemek.
- Servis hesaplarını rol sistemi dışında bırakmak.
Sık sorulan sorular
RBAC ile ACL arasındaki fark nedir?
ACL nesne başına kimin ne yapabileceğini listeler; RBAC ise izinleri rollerde toplar ve kullanıcıları rollere bağlar. RBAC büyük yapılarda yönetimi kolaylaştırır.
Küçük bir ekipte RBAC gerekir mi?
Üç beş rol bile düzen sağlar: yönetici, geliştirici, yalnızca okuyabilen. Bu, yanlışlıkla yapılan hasarı azaltır.
RBAC tek başına yeterli mi?
Hayır. Kimlik doğrulama, iki adımlı doğrulama ve günlükleme ile birlikte kullanılmalıdır.
İlgili terimler
- rootLinux/Unix sistemlerinde sınırsız yetkiye sahip yönetici hesabı.
- SSH anahtarıParola yerine kullanılan, açık/özel anahtar çiftine dayalı giriş yöntemi.
- SSO (Tek oturum açma)Bir kez giriş yapıp birden çok uygulamaya erişebilme.
- sudoYetkili bir kullanıcının tek bir komutu root yetkisiyle çalıştırmasını sağlayan araç.
- TOTPZamana dayalı, 30 saniyede bir değişen tek kullanımlık kod yöntemi.
- Yetkilendirme (authorization)Doğrulanmış bir kimliğin hangi kaynaklara ve işlemlere erişebileceğinin belirlenmesi.