# SQL Server'da Yetki Yönetimi ve Değişiklik Kontrolü Neden Birlikte Düşünülmeli?

Veritabanı yönetiminde iki konu genellikle ayrı ele alınır: yetki yönetimi ve değişiklik kontrolü. Oysa bu ikisi birbirini doğrudan etkiler ve birlikte yönetilmesi gerekir.

* * *

## Yetkinin Değişiklikle İlişkisi

Bir kullanıcı ancak yetkisi olan şeyi değiştirebilir. Dolayısıyla değişiklik kontrolünün ilk katmanı yetki yönetimidir.

Ama yetki yönetimi tek başına yeterli değil. Çünkü yetkili kişilerin de hangi değişiklikleri yapabileceği, hangi süreçten geçmesi gerektiği ayrıca tanımlanmalı.

Sysadmin yetkisine sahip biri her şeyi yapabilir. Bu yetkiyi kısıtlamak çoğu zaman operasyonel nedenlerle mümkün değil. Ama bu kişinin yaptığı her değişikliğin izlenmesi mümkün.

* * *

## En Az Yetki Prensibi

Güvenlik mimarisinin temel kuralı: herkes yalnızca işini yapabilecek kadar yetkiye sahip olmalı.

Veritabanı özelinde bu şu anlama geliyor:

*   Uygulama kullanıcısı sadece ihtiyacı olan tablolara erişebilmeli
    
*   Geliştirici production'da okuma yapabilmeli ama yazma yetkisi olmamalı
    
*   DBA yazma yetkisine sahip olmalı ama değişiklikler onay sürecinden geçmeli
    
*   Sysadmin yetkisi çok az kişide olmalı ve bu kişilerin işlemleri izlenmeli
    

* * *

## Yetki Değişiklikleri de Değişiklik Yönetimine Tabi Olmalı

Sıkça atlanan bir nokta bu. GRANT, REVOKE, DENY işlemleri de birer değişiklik. Ve bu değişiklikler şema değişikliklerinden daha az kritik değil, hatta bazen daha kritik.

Yanlışlıkla verilen bir yetki veri sızıntısına, kasıtlı verilen bir yetki ise iç tehdide kapı aralayabilir.

Yetki değişikliklerinin de onay sürecinden geçmesi, kayıt altına alınması ve periyodik olarak gözden geçirilmesi gerekiyor.

* * *

## Periyodik Yetki Denetimi

Erişim listesi zamanla şişer. Ayrılan çalışanlar, değişen roller, geçici erişimler — bunların hepsi birikir.

Altı ayda bir şu soruları sormak iyi bir pratik:

Production veritabanına erişimi olan herkesin bu erişime hâlâ ihtiyacı var mı? Eski çalışanların hesapları kapatıldı mı? Danışmanların geçici erişimleri kaldırıldı mı? Uygulama kullanıcılarının yetkileri minimum düzeyde mi?

* * *

## Sonuç

Yetki yönetimi ve değişiklik kontrolü ayrı departmanların konusu gibi görünebilir ama veritabanı güvenliği açısından ikisi bir bütün. Biri olmadan diğeri eksik kalır.

Detaylı bilgi için: [sqlchangeguard.com](http://sqlchangeguard.com)
