Veri Tabanı Güvenliğini Sağlamak
SQL Server’de kullanıcıların veri tabanlarına erişimlerini düzenlemek için bütün yetkiler tanımlanabilmektedir ve veri tabanı nesnelerinin türlerine göre yetkiler, farklılaşabilmektedir.
Roller yetki ve erişim tanımlamalarını gruplar. Böylece her bir kullanıcı için yetkileri düzenlemek yerine, roller seviyesinde denetlenmek daha kolay ve düzenli olmaktadır. Kullanıcılar, dâhil oldukları rollerin yetkileriyle donatılır.
Roller, sunucu rolleri, veri tabanı rolleri ve uygulama rolleri olmak üzere üçe ayrılmaktadır.
Sunucu rolleri, veri tabanı sunucusunun çalışması ile ilgili yetkileri içermektedir.
Veri tabanı rolleri, veri tabanı seviyesindeki yetkilerle ilgili tanımlı rollerdir.
Uygulama rolleri, herhangi bir uygulamaya özgü yetkilerin tanımlanabildiği yani o uygulama için özelleştirilmiş veri tabanı rolleridir.
Veri tabanı kullanıcısına T-SQL ile yetki tanımlamak için “GRANT” ifadesi kullanılmaktadır.
Grant ifadesi ile birlikte “ALL” deyimi kullanılırsa bütün izinler verilmiş olur.
Kullanıcı adı yerine “PUBLIC” ifadesinin kullanılması, veri tabanına erişebilen tüm kullanıcılar için tanımlama yapmayı mümkün kılar.
"WITH GRANT OPTION” seçeneği, bir kullanıcıya verilen yetkiyi, bu kullanıcının, başkalarına verebilmesini sağlamaktadır.
Veri tabanı kullanıcısındaki bir yetkinin T-SQL kodu ile kaldırılması için “DENY” ifadesi kullanılmaktadır.
Grant ifadesi ile birlikte “ALL” deyimi kullanılırsa bütün izinler iptal edilmiş olur.
“GRANT” ile verilen yetkiler ve “DENY” ile yapılan engellemeler, “REVOKE” ifadesi ile eski hâline getirilebilmektedir. Yani tüm yetki değişiklikleri geri alınmaktadır.
Veri tabanına erişecek kullanıcının tanımlanması, “CREATE USER” deyimi ile yapılmaktadır. SQL Server Management Studio ortamında sihirbaz kullanarak kullanıcı oluşturmak için de veri tabanı altında, “Security” klasörü altında yer alan “Users” klasörüne sağ tıklanır ve “New User” seçeneği seçilir.
Veri tabanına erişecek kullanıcının silinmesi “DROP USER” deyimi ile yapılmaktadır. SQL Server Management Studio ortamında kullanıcı adı üzerine sağ tıklandığında açılan menüden “Delete” seçilerek de kullanıcı silinebilmektedir.
SQL Server’da kimlik doğrulama, Windows yetkilendirme modu ve karma (mixed) mod olmak üzere iki şekilde yapılmaktadır. Windows üzerinde yetkilendirilmiş kullanıcılar için Windows yetkilendirme modu seçilmektedir. Karma mod ise hem Windows yetkilendirme modunun kullanıldığı hem SQL Server kullanıcılarının tanımlanabildiği moddur.
Yetkilendirme modu, kurulum esnasında seçilebildiği gibi daha sonradan da değiştirilebilmektedir. Kurulum sonrasında düzenlemek için aşağıdaki gibi sunucu ismine sağ tıklanarak açılan menüden “Properties” (özellikler) seçeneği tıklanır.
Açılan pencerede “Security” (güvenlik) sekmesi aşağıdaki resimdeki gibi seçilerek sunucu yetkilendirme (server authentication) değiştirilebilir ve gerekli şifre tanımlamaları yapılabilir.