# RBAC vs ABAC

Adres: https://softwaredictionary.org/tr/karsilastirma/rbac-vs-abac
Son güncelleme: 2026-10-06

Kısaca: RBAC izinleri admin ya da editor gibi roller üzerinden verir; ABAC ise her isteğe kullanıcının, kaynağın, eylemin ve bağlamın niteliklerine bakarak karar verir.

## RBAC ile ABAC arasındaki fark nedir?

RBAC, yani rol tabanlı erişim kontrolü, izinleri `viewer`, `editor` ve `admin` gibi rollere bağlar ve kullanıcılara bu rolleri atayarak erişim verir. ABAC, yani nitelik tabanlı erişim kontrolü, her isteğe politikaları öznenin, kaynağın, eylemin ve ortamın niteliklerine, örneğin kullanıcının departmanına, belgenin sahibine ya da günün saatine karşı denetleyerek karar verir. İkisi de yetkilendirme modelidir: kimliği doğrulanmış bir kullanıcının neler yapabileceğine karar verir.

Fark, her birinin sorduğu sorudadır. RBAC yalnızca kullanıcının hangi rollere sahip olduğunu sorar; bu yüzden erişim önceden bellidir: bir rolün izinlerini listelemek kimin neyi yapabildiğini gösterir ve bu da RBAC'ı anlamayı ve denetlemeyi kolaylaştırır. ABAC ise yanıtı istek anında canlı verilerden hesaplar; böylece "kullanıcılar yalnızca kendi taslaklarını düzenleyebilir" ya da "doktorlar kendi departmanlarındaki hastaların kayıtlarını okuyabilir" gibi, salt rollerin ifade edemeyeceği kuralları ifade edebilir.

Her birinin bedeli ölçek büyüdükçe ortaya çıkar. Salt RBAC, özel durumlar için açılan dar roller birikip kimin neye erişebildiğini kimse söyleyemez hâle gelene dek süren rol patlamasına (role explosion) eğilimlidir; ABAC bunu önler, ama sonuç verilere bağlı olduğu için kurallarını incelemek daha zordur. Bu yüzden birçok sistem ikisini birleştirir: geniş erişim için rolleri, sahiplik, kiracı (tenant) ya da ülke gibi ince taneli koşullar için nitelikleri kullanır; bunlar çoğu zaman Open Policy Agent ya da Cedar gibi bir politika motorunda değerlendirilir.

Sık yapılan bir yanlış, ABAC'ın RBAC'ın yerini aldığını düşünmektir. Rol, pek çok nitelikten yalnızca biridir; bu yüzden RBAC, ABAC'ın özel bir hâli olarak görülebilir ve çoğu ABAC kurulumu yine rolleri kullanır. Bir diğeri, seçimin kalıcı olduğu düşüncesidir: pek çok uygulama rollerle başlar ve nitelik kurallarını yalnızca rollerin yetmediği yerlere ekler.

| Özellik | RBAC | ABAC |
| --- | --- | --- |
| Neye göre karar verir | Kullanıcının sahip olduğu rollere | Kullanıcının, kaynağın, eylemin ve ortamın niteliklerine |
| Kuralların yeri | Rollerden izinlere eşlemeler | Kodda ya da bir politika motorunda değerlendirilen politikalar |
| Ayrıntı düzeyi | Kaba: bir roldeki herkese aynı erişim | İnce: sahiplik, departman ya da saat gibi koşullar |
| Bağlam | Roller kapsamlandırılmadıkça (örneğin proje bazında) dikkate alınmaz | Saat, konum, cihaz ve isteğe ait başka veriler hesaba katılabilir |
| Denetim | Kolay: her rolün izinlerini listelemek yeter | Daha zor: yanıt istek anındaki verilere bağlıdır |
| Kurulum zahmeti | Düşük: rolleri tanımlayıp atamak | Daha yüksek: nitelik kaynakları, politikalar ve çoğu zaman bir motor |
| Tipik sorun | Özel durumlar yeni roller ekledikçe rol patlaması | İncelemesi ve test etmesi zor, karmaşık politikalar |
| En uygun olduğu yer | Net görev tanımları ve geniş izinler | Sahiplik, çok kiracılı veriler ve bağlama bağlı kurallar |

## RBAC şu durumlarda doğru seçim

- Erişim; viewer, editor ve admin gibi net görev tanımlarını izliyor.
- Denetçilerin kimin neyi yapabildiğini hızla görmesi gerekiyor.
- Kurması ve anlatması kolay, basit bir model istiyorsunuz.
- İzinler, bir kaydın sahibinin kim olduğuna ya da kayda ne zaman erişildiğine nadiren bağlı.

## ABAC şu durumlarda doğru seçim

- Kurallar sahiplik, departman ya da kiracı gibi verilere bağlı.
- Bağlam önemli: saat, konum, cihaz ya da risk düzeyi.
- Özel durumları karşılamak için roller durmadan çoğalıyor.
- Politikaların Open Policy Agent ya da Cedar gibi bir motorda merkezi olarak yönetilmesini istiyorsunuz.

## Sık sorulan sorular

**ABAC, RBAC'tan daha mı iyi?**

Genel olarak hayır. ABAC daha esnektir ve rollerin ifade edemeyeceği kuralları ifade eder, ama kurması ve denetlemesi daha zordur. Pek çok uygulamaya RBAC yeter; daha büyük sistemlerin çoğu da geniş erişim için rolleri, ince taneli kurallar için nitelikleri kullanır.

**RBAC ile ABAC birlikte kullanılabilir mi?**

Evet, bu yaygındır. Kullanıcının rolü bir ABAC politikasında niteliklerden biri olur, örneğin "editörler kendi departmanlarındaki belgeleri düzenleyebilir"; böylece roller basit kalır, istisnaları nitelikler karşılar.

**RBAC ve ABAC kimlik doğrulama mı, yetkilendirme mi?**

İkisi de yetkilendirmedir. Önce kimlik doğrulama kullanıcının kim olduğunu doğrular; ardından RBAC ya da ABAC o kullanıcının neler yapabileceğine karar verir.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
