Yetkilendirme Modelleri: RBAC, MAC ve DAC
Rol tabanlı, zorunlu ve isteğe bağlı erişim denetimi modellerini karşılaştırın; her birinin kurumsal ve kamu bağlamlarında ne zaman uygun olduğunu öğrenin.
Yetkilendirme Modelleri: RBAC, MAC ve DAC, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
Erişim Denetimi Modellerine Genel Bakış
Erişim denetimi modelleri, hangi öznelerin (kullanıcılar, işlemler) hangi nesnelere (dosyalar, sistemler, veriler) erişebileceğini yöneten kuralları ve ilkeleri tanımlar. Seçilen model; erişimi kimlerin verebileceğini, izinlerin nasıl atanacağını ve uygulamanın nasıl gerçekleştirileceğini belirler. Security+ sınavı dört temel modeli kapsar: İsteğe Bağlı Erişim Denetimi (DAC), Zorunlu Erişim Denetimi (MAC), Role Dayalı Erişim Denetimi (RBAC) ve Kural Tabanlı Erişim Denetimi. Her modelin güçlü yönlerini ve uygun kullanım alanlarını anlamak, etkili yetkilendirme sistemleri tasarlamak için gereklidir.
İsteğe Bağlı Erişim Denetimi (DAC)
İsteğe Bağlı Erişim Denetimi (DAC) modelinde kaynak sahibi, kaynaklarına kimlerin erişebileceğine karar verir ve diğer kullanıcılara erişim verebilir veya erişimi geri alabilir. 'İsteğe bağlı' olmasının nedeni, kararı sahiplerin vermesidir; sistem onların kararlarını uygular ancak kararları kendisi belirlemez. Bu model, çoğu kişisel bilgisayar ortamında kullanılır (Windows NTFS dosya izinleri, Linux/Unix dosya izinleri). DAC'nin güvenlik sınırlaması, her kaynak sahibinin doğru erişim kararları vermesini gerektirmesidir. Bir dosyaya erişim alan kullanıcı, yönetici müdahalesi olmadan bu erişimi başkalarına verebilir ve hassas verileri amaçlanan kitlenin dışına yayabilir.
# DAC example: Linux file permissions (owner controls access)
# Create a file and check default permissions
touch confidential_data.txt
ls -la confidential_data.txt
# -rw-rw-r-- 1 alice users (owner=alice, can read/write; group can read/write; others read)
# Owner (Alice) discretionarily removes all access for others
chmod 600 confidential_data.txt
# -rw------- 1 alice users (only Alice can read/write)
# Alice grants read to a specific user via ACL
setfacl -m u:bob:r confidential_data.txtDAC Riskleri: Şaşkın Vekil Sorunu
DAC'nin doğasında bulunan iki güvenlik riski vardır. Geçişli erişim: A kullanıcısı B kullanıcısına erişim verir, B kullanıcısı da C kullanıcısına erişim verir; özgün sahip, C'nin kaynağına erişimi olduğunu fark etmeyebilir bile. Şaşkın Vekil Sorunu: ayrıcalıklı bir program, daha az ayrıcalıklı bir kullanıcı adına işlem yaparken kullanıcının doğrudan kullanamayacağı ayrıcalıkları istemeden kullanabilir. DAC ortamlarında, ele geçirilmiş tek bir hesap, o kullanıcıya verilen tüm kaynaklara erişebilir ve ihlal tespit edilmeden önce başkalarına da erişim verebilir. DAC kullanışlıdır ancak bilgilerin sıkı biçimde sınırlandırılmasını zorlaştırır.
Zorunlu Erişim Denetimi (MAC)
Zorunlu Erişim Denetimi (MAC) modelinde işletim sistemi, hem özneler (kullanıcılar) hem de nesneler (veriler) için atanan Security etiketlerine dayalı erişim ilkelerini uygular. Kullanıcılar bu ilkeleri geçersiz kılamaz veya değiştiremez; bunları yalnızca sistem yöneticisi ya da güvenlik ilkesi değiştirebilir. MAC, verilerin kesin biçimde bölümlere ayrılması gereken sınıflandırılmış hükümet ve askerî ortamlarda kullanılır. 'Gizli' yetki düzeyine sahip bir kullanıcı, veri sahibi erişim vermek istese bile 'Çok Gizli' etiketli verilere erişemez. Bell-LaPadula modeli (yukarıdan okuma yok, aşağıya yazma yok) ve Biba modeli (yukarıya yazma yok, aşağıdan okuma yok), biçimsel MAC uygulamalarıdır.
# SELinux is a MAC implementation for Linux
# Check SELinux mode and policy
getenforce # Enforcing / Permissive / Disabled
sestatus # Detailed SELinux status
# View SELinux security context labels on files
ls -Z /etc/passwd
# system_u:object_r:passwd_file_t:s0 /etc/passwd
# Security context: user:role:type:level
# A process can only access files where its type has explicit permission
sudo ausearch -m avc -ts recent # View MAC policy denialsBell-LaPadula ve Biba MAC Modelleri
İki biçimsel MAC modeli, güvenlik hedeflerini matematiksel kurallar olarak ifade eder. Bell-LaPadula, gizlilik üzerinde yoğunlaşır: özneler kendi sınıflandırma düzeylerinin üzerindeki verileri okuyamaz (yukarıdan okuma yok) ve daha düşük bir sınıflandırma düzeyine veri yazamaz (aşağıya yazma yok). Bu, hassas bilgilerin yetkisiz kullanıcılara akmasını önler. Biba ise bütünlük üzerinde yoğunlaşır: özneler daha yüksek bütünlük düzeyine yazamaz (yukarıya yazma yok) ve daha düşük bütünlük düzeyinden okuyamaz (aşağıdan okuma yok). Biba, düşük bütünlüklü girdilerin yüksek bütünlüklü verileri kirletmesini önler. Gerçek MAC sistemleri (SELinux gibi) her iki modelin özelliklerini birleştirir.
Role Dayalı Erişim Denetimi (RBAC)
Role Dayalı Erişim Denetimi (RBAC), izinleri doğrudan tek tek kullanıcılara değil, rollere atar ve ardından kullanıcıları rollere atar. Bu, izinleri büyük ölçekte tek tek atama yönetim sorununu çözer. Kurumsal ortamlardaki yaygın roller şunlardır: admin, auditor, developer, HR_manager, finance_analyst. Yeni bir çalışan işe başladığında uygun role eklenir ve o rolün gerektirdiği tüm izinleri hemen devralır. Çalışan görev değiştirdiğinde rolü değişir ve izinleri otomatik olarak ayarlanır. RBAC, kurumsal IAM sistemlerinde en yaygın modeldir.
# RBAC example (database permissions)
# Create roles and assign permissions
CREATE ROLE readonly_analyst;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_analyst;
CREATE ROLE data_engineer;
GRANT SELECT, INSERT, UPDATE ON customer_data TO data_engineer;
# Assign users to roles
GRANT readonly_analyst TO alice;
GRANT data_engineer TO bob;
# When Alice is promoted: revoke old role, grant new one
REVOKE readonly_analyst FROM alice;
GRANT data_engineer TO alice;RBAC'nin Faydaları: Ölçeklenebilirlik ve Görevlerin Ayrılığı
RBAC'nin en önemli avantajı yönetimsel ölçeklenebilirliktir. Bir rolün izinlerini değiştirmek, o roldeki tüm kullanıcıları anında etkiler; yüzlerce sistemde tek tek kullanıcı kayıtlarını güncellemek gerekmez. RBAC, hiçbir rolün çakışan izinlere sahip olmamasını sağlayarak görevlerin ayrılığını doğal biçimde destekler (örneğin finansal işlemleri hem oluşturabilen hem de onaylayabilen tek bir rol bulunmaz). RBAC uyumluluğu da kolaylaştırır: denetçiler binlerce kullanıcının tek tek atamalarını denetlemek yerine rolleri ve izinlerini inceleyebilir. Sınırlaması ise rol patlamasıdır: kuruluşlar bazen çok sayıda ayrıntılı rol oluşturur ve bu da yönetim karmaşıklığı yaratarak ölçeklenebilirlik avantajını zayıflatır.
Kural Tabanlı Erişim Denetimi
Kural Tabanlı Erişim Denetimi (RBAC ile karıştırılmamalıdır), erişim iznini yalnızca kimliğe veya role göre değil, bir dizi koşullu kurala göre verir ya da reddeder. Güvenlik duvarı kuralları klasik örnektir: '192.168.1.0/24 adresinden 443 numaralı bağlantı noktasındaki herhangi bir hedefe TCP erişimine izin ver. Diğer tüm trafiği reddet.' Erişim, eşleşme bulunana kadar kurallara sırayla göre değerlendirilir. Kural tabanlı denetim çoğunlukla diğer modellerle birleştirilir: MAC, Security etiketlerini kural olarak kullanır ve Öznitelik Tabanlı Erişim Denetimi (ABAC), ayrıntılı kararlar vermek için birden çok özniteliği (kullanıcı departmanı, cihaz türü, günün saati, kaynak sınıflandırması) eşzamanlı değerlendirecek şekilde kural tabanlı mantığı genişletir.
# Rule-based access control: iptables firewall rules
# Rules are evaluated in order; first match wins
# Allow established/related connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow specific source IP to SSH
iptables -A INPUT -s 10.0.0.100 -p tcp --dport 22 -j ACCEPT
# Allow HTTPS from anywhere
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Default deny all other inbound
iptables -A INPUT -j DROPÖznitelik Tabanlı Erişim Denetimi (ABAC)
ABAC (Öznitelik Tabanlı Erişim Denetimi), en esnek ve ayrıntılı erişim denetimi modelidir. Erişim kararları birden çok özniteliği eşzamanlı değerlendirir: özne öznitelikleri (kullanıcı departmanı, yetki düzeyi, konum), nesne öznitelikleri (veri sınıflandırması, sahip departmanı, saklama etiketi), ortam öznitelikleri (günün saati, cihaz türü, ağ konumu) ve eylem öznitelikleri (okuma, yazma, silme). Bir ilke şöyle olabilir: 'user.department = Finance AND resource.classification = Internal AND device.type = corporate AND time.hour BETWEEN 8 AND 18 ise erişime izin ver.' ABAC, sıfır güven ilkelerine dayalı kararları mümkün kılar ve XACML gibi ürünlerle bulut IAM ilke altyapıları tarafından uygulanır.
Doğru Modeli Seçme
Uygun erişim denetimi modeli, güvenlik gereksinimlerine ve kuruluşun bağlamına bağlıdır. DAC: sıkı denetim yerine kullanım kolaylığının önceliklendirildiği kişisel bilgisayarlar ve küçük ekipler için uygundur. MAC: bilgilerin sıkı biçimde bölümlere ayrıldığı sınıflandırılmış hükümet ve askerî ortamlar için gereklidir. RBAC: yönetimsel ölçeklenebilirliğin kritik olduğu ve rollerin işlevlerle açıkça eşleştiği kuruluşlar için idealdir. ABAC: bağlam farkındalıklı ve ayrıntılı ilkelerin gerektiği bulut ortamları ile sıfır güven mimarileri için uygundur. Uygulamada çoğu kuruluş, bağlama duyarlı erişim kararları için temel olarak RBAC'yi ve ABAC'yi birlikte kullanır.
Erişim Denetim Listeleri (ACL'ler)
Erişim denetimi modelinden bağımsız olarak, Erişim Denetim Listeleri (ACL'ler) en yaygın teknik uygulama mekanizmasıdır. Bir kaynağa eklenen ACL, hangi öznelerin hangi eylemleri gerçekleştirebileceğini belirtir. Dosya sistemi ACL'leri (Windows NTFS, Linux POSIX ACL'leri) dosya ve dizin erişimini denetler. Ağ ACL'leri, yönlendirici veya bulut ağı düzeyindeki trafik akışını denetler. Veritabanı ACL'leri, tablo ve satır düzeyindeki erişimi denetler. ACL'ler, ele alınan modellerin tümünü uygulayabilir: Bir dosyanın ACL'si, sahibi tarafından denetlendiğinde DAC'yi uygular; bir güvenlik sisteminin ACL'si, girdileri etiketler belirlediğinde MAC'yi uygular; bir uygulamanın ACL'si, girdiler rollere başvurduğunda RBAC'yi uygular.
# Windows NTFS ACL example using icacls
# View current ACL on a folder
icacls 'C:\Sensitive\HR_Data'
# BUILTIN\Administrators:(OI)(CI)(F) <- Full control
# CONTOSO\HR_Team:(OI)(CI)(RX) <- Read and Execute
# Grant specific permissions to HR Managers group
icacls 'C:\Sensitive\HR_Data' /grant 'CONTOSO\HR_Managers:(OI)(CI)(M)'
# (OI)=Object Inherit, (CI)=Container Inherit, (M)=Modify
# Remove access for a former contractor
icacls 'C:\Sensitive\HR_Data' /remove 'CONTOSO\contractors'Hızlı Kontrol
Bu dersteki CompTIA Security+ (SY0-701) kavramlarını anlayıp anlamadığınızı sınayın.
Ders Özeti
Bu derste şunları öğrendiniz: DAC, kaynak sahiplerinin erişimi denetlemesine olanak tanır (esnektir ancak risklidir); MAC, sistem tarafından zorunlu kılınan güvenlik etiketlerini kullanır (katıdır ve sınıflandırılmış ortamlarda kullanılır); RBAC, kurumsal ölçeklenebilirlik için izinleri rollere atar; ABAC ise ayrıntılı, sıfır güven kararları için birden çok özniteliği değerlendirir. Sırada Federasyonlu Kimlik: SAML, OAuth ve OpenID Connect konusunu inceleyeceğiz.
Sıkça Sorulan Sorular
“Yetkilendirme Modelleri: RBAC, MAC ve DAC” dersi ücretsiz mi?
Evet — “Yetkilendirme Modelleri: RBAC, MAC ve DAC” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“Yetkilendirme Modelleri: RBAC, MAC ve DAC” dersinde ne öğreneceğim?
Rol tabanlı, zorunlu ve isteğe bağlı erişim denetimi modellerini karşılaştırın; her birinin kurumsal ve kamu bağlamlarında ne zaman uygun olduğunu öğrenin. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Yetkilendirme Modelleri: RBAC, MAC ve DAC” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Parola Politikaları ve Çok Faktörlü Kimlik Doğrulama
- Biyometri ve Belirteç Tabanlı Kimlik Doğrulama
- Yetkilendirme Modelleri: RBAC, MAC ve DAC
- Birleşik Kimlik: SAML, OAuth ve OpenID Connect