GÜVENL İ K
Sunucu Seviyesinde Güvenlik Master Veritabanı (Kullanıcının gerekli yetkileri var mı?) Authentication Mod ◦ Windows Authentication Mod Varsayılan Mod dur. Kullanıcı Windows üzerinde tanımlı ve yetkilendirilmiş olmalıdır. ◦ Mixed Mod Hem Windows Aut. Mod hem de SQL Server Mod kullanılır. SQL Server üzerinde, Windowstan ba ğ ımsız olarak kullanıcı adı ve parola tanımlanır.
Sunucu Seviyesinde Güvenlik
Mod değiştirme işlemi sadece Ara yüzden veya Registry den yapılabilir. xp_loginconfig sadece modu görüntülüyebilir.
Sunucu Seviyesinde Güvenlik Windows Authentication Mod ◦ En büyük avantajı, başka bir kullanıcı adı ve parolaya ihtiyaç duymadan SQL Servera tanıtılabilmeleridir. ◦ Bir di ğ er avantajı ise, kullanıcıları gruplandırmak için windows kullanıcı gruplarının işe yaramasıdır. Oluşturulan bu kullanıcı gruplarına SQL de yetkiler verilebilir.
Sunucu Seviyesinde Güvenlik Windows Authentication Mod
Sunucu Seviyesinde Güvenlik Windows Authentication Mod CREATE LOGIN [YBS\ogr01] FROM WINDOWS WITH DEFAULT_DATABASE= AdventureWorks2012, DEFAULT_LANGUAGE=Turkish Örnekte, YBS bilgisayar adı ogr01 kullanıcı adı AdventureWorks2012 kullanıcının sisteme girdi ğ inde görece ğ i veritabanı
Sunucu Seviyesinde Güvenlik Windows Authentication Mod Silmek için; Arayüzde: Security Logins Silinmek istenen kullanıcın üzerinde sa ğ tık Delete Sorgu ile: DROP LOGIN [Domain ya da Bilgisayar Adı\Kullanıcı Adı]
Sunucu Seviyesinde Güvenlik Windows Authentication Mod Windowstan silinen kullanıcılar aynı anda SQL Serverdan silinmezler. Benzer şekilde, SQL Serverdan silinen kullanıcılar da Windowstan silinmezler. Windowstan silindi ğ i halde SQL Serverda halen duran kullanıcıları bulmak için; sp_validatelogins kullanılabilir.
Sunucu Seviyesinde Güvenlik Mixed Authentication Mod ◦ Hem Windows üzerinde tanımlanmış kullanıcılar SQL Server üzerinde yetkilendirilebilir hem de SQL Serverın kendi kullanıcıları tanımlanıp yetkilendirilebilir. ◦ Otomatik olarak sa hesabı, tam yetki ile oluşturulur.
Sunucu Seviyesinde Güvenlik Mixed Authentication Mod SQL Server Logini oluşturma kodu: CREATE LOGIN [DenemeKullanicisi] WITH PASSWORD='1234', DEFAULT_DATABASE=[AdventureWorks2012], CHECK_POLICY=OFF Ya da Sp_addlogin ‘DenemeKullanicisi’, ‘Parola1234’, ‘AdventureWorks2012’ ALTER LOGIN ‘1234’, ‘YeniParola98’, ‘DenemeKullanicisi’
Veritabanı Seviyesinde Güvenlik SunucuRolleri ◦ Bulkadmin ◦ Dbcreator ◦ Diskadmin ◦ Processadmin ◦ Securityadmin ◦ Setupadmin ◦ Sysadmin ◦ Silmek için ise Sp_dropsrvrolemember kullanılır.
Sunucu Seviyesinde Güvenlik
Veritabanı Seviyesinde Güvenlik Bir kullanıcıya SQL Server üzerinde bazı yönetim izinleri verilse de bu yetkiler o kullanıcının di ğ er kullanıcılar tarafından oluşturulmuş veritabanlarına ulaşabilmeleri için yeterli olmayabilir. Bu nedenle, bir kullanıcı tanımlandıktan ve o kullanıcıya ilgili sunucu rolü verildikten sonra, o kullanıcının hangi veritabanları üzerinde hangi işlemleri yapabilmesi isteniyorsa, o veritabanı üzerinde bu kullanıcıya ait izinler de tanımlanmalıdır. Bunun ilk adımı olarak da ya önceden tanımlı Veritabanı Rolleri veya bizim kendimizin tanımlayabilece ğ imiz veritabanı rolleri (SQL2012) kullanılmalıdır.
Veritabanı Seviyesinde Güvenlik
Veri Tabanı Rolleri ◦ db_backupoperator ◦ db_datareader/db_denydatareader ◦ db_dayawriter/db_denydatawriter ◦ db_ddladmin ◦ public ◦ db_owner ◦ db_securityadmin
Veritabanı Seviyesinde Güvenlik Veri Tabanı Güvenli ğ i (Yetkiler) ◦ Select ◦ Insert ◦ Update ◦ Delete ◦ Execute ◦ Toplam İ zin=Verilen İ zinler – Yasaklanan İ zinler ◦ Toplam İ zin=Select+Insert+Delete+Update-Delete ◦ =Select+Insert+Update
Veritabanı Seviyesinde Güvenlik Veri Tabanı Güvenli ğ i (Yetkiler) ◦ Yetki verilmek istenen Veritabanı ö ğ esi üzerinde Sa ğ Tık Properties Permissions Search butonu ile Kullanıcı, Veritabanı Rolü, Uygulama Rolü seçilir. Son olarak da, seçilen bu kullanıcıya verilebilecek roller (alt tarafta çıkar) seçilir.
Veritabanı Seviyesinde Güvenlik Veri Tabanı Güvenli ğ i (Yetkiler)
Veritabanı Seviyesinde Güvenlik Veri Tabanı Güvenli ğ i (Yetkiler) ◦ GRANT Haklar ON NesneAd ◦ TO Kullanıcı/Rol, Kullanıcı2/Rol2 ◦ WITH GRANT OPTION ◦ Haklar; Insert, Select, Delete, Update, Exxcute den bir veya birkaç tanesi olabilir. ◦ GRANT ALL ON HumanResources.Department TO dbcreator ◦ GRANT SELECT, UPDATE ON HumanResources.Employee TO Mudurler
Veritabanı Seviyesinde Güvenlik Veri Tabanı Güvenli ğ i (Yetkiler) ◦ GRANT SELECT ON HumanResources.Employee TO MudurYard WITH GRANT OPTION ◦ REVOKE INSERT ON HumanResources.Employee TO Alp02 ◦ DENY INSERT ON HumanResources.Employee TO MudurYard ◦ DENY INSERT ON HumanResources.Employee TO MudurYard CASCADE
Veritabanı Seviyesinde Güvenlik Veri Tabanı Rolleri ◦ CREATE ROLE MudurYard ◦ EXEC sp_addrolemember MudurYard, Alp02 ◦ EXEC sp_droprolemember MudurYard, Alp02