Sunucu Düzeyinde Güvenlik Nedir?
Kimlik Denetimleri Nelerdir?
Yeni Oturum Hesabı Oluşturma
Genel Özellikler
Sunucu Rolleri
Veritabanları Üzerinde Yetkilendirme
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Yeni Role Oluşturma
Sistem Tanımlı Veri Tipleri
Karakter Dizilimleri
Unicode Karakter Dizilimleri
Tarih ve Saat
Sayısal Veri Tipleri
Parasal
Çift Değişkenli(Binary)
Sql Server 2008 ile Gelen Yeni Veri Tipleri
Sistem Tanımlı Veri Tipleri
Karakter Dizilimleri
Unicode Karakter Dizilimleri
Tarih ve Saat
Sayısal Veri Tipleri
Parasal
Çift Değişkenli(Binary)
Sql Server 2008 ile Gelen Yeni Veri Tipleri
2. Konu Başlıkları
Sunucu Düzeyinde Güvenlik Nedir?
Kimlik Denetimleri Nelerdir?
Yeni Oturum Hesabı Oluşturma
Genel Özellikler
Sunucu Rolleri
Veritabanları Üzerinde Yetkilendirme
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Yeni Role Oluşturma
Abdülkadir BARLIK
3. Sunucu Düzeyinde Güvenlik Nedir?
Bir veritabanını yönetmenin en önemli yönlerinden
biri güvenliği sağlamaktır.
Kimin hangi verilere erişim izninin olduğu ve hangi
veriler üzerinde işlem yapabileceği belirtilmelidir.
Abdülkadir BARLIK
4. Kimlik Denetimleri Nelerdir?
Sql Server’a bağlacak olan kullanıcıların sisteme
girişindeki kontrolüne kimlik denetimi(Authentication)
denir.
Windows Authentication
Mixed Mode(Windows Authentication ve Sql Server
Authentication)
Abdülkadir BARLIK
5. Kimlik Denetimleri Nelerdir?
Windows Authentication
Aynı domain içerisindeki kullanıcıların Windows
hesaplarıyla bağlanabildiği denetim modudur.
Cerberus isimli güvenlik yöntemiyle bilgiler
encrypt(şifrelemek) edilerek iletilir.
Abdülkadir BARLIK
6. Kimlik Denetimleri Nelerdir?
Sql Server Authentication
Bu kimlik denetiminde hem Windows kullanıcısına
hem de başka bir domaindeki kişiye kullanıcı adı ve
şifresiyle sisteme girişi sağlanır.
Veri güvenliği Windows Authentication’a göre
düşüktür.
Abdülkadir BARLIK
7. Yeni Oturum Hesabı Oluşturma
Security bölümünden Login’e gelip
New Login diyerek adım adım yeni bir
oturum hesabı(yani kullanıcı) nasıl
oluşturulur inceleyelim.
Abdülkadir BARLIK
8. Yeni Oturum Hesabı Oluşturma
Yeni bir üye oluştururken bu iki
denetimden birini seçmemiz
gerekecektir. Sql Server Authentication
kullanarak bir “abdulkadir” isimli
kullanıcı oluşturalım.
Bu üyenin sisteme girdiğinde hangi Database’in ve hangi dilin default olarak
geleceği seçilebiliyor. Dili default bırakırsa sistemin kendi dilini kullanacaktır.
Bu seçenek işaretli olursa kullanıcıya
verilen şifre Windows’ta tanımlı olan
şifre kurallarına uymak zorundadır.
General – Genel Özellikler
Abdülkadir BARLIK
9. Yeni Oturum Hesabı Oluşturma
Kullanıcıya server’daki tanımlı
rollerden birini vermek için
kullanılan alandır. Şimdilik buradan
herhangi birini seçmiyoruz. Bir
sonraki sayfada buradaki rollerle
ilgili açıklamalar bulunmaktadır.
Server Roles – Sunucu Rolleri
Abdülkadir BARLIK
10. Yeni Oturum Hesabı Oluşturma
Sunucu Rolleri
Sistem Yöneticisi (System Administrators): SQL Server'daki bütün işlemleri
gerçekleştirebilir.
Güvenlik Yöneticisi (Security Administrators): Oturum açma adlarını ve yeni
veritabanı oluşturma izinlerini yönetebilir.
Sunucu Yöneticisi (Server Administrators): Sunucu düzeyinde yapılandırma
seçeneklerini ayarlar.
Düzenleme Yöneticisi (Setup Administrators): Bağlı sunucuları yönetebilir.
İşlem Yöneticisi (Process Administrators): SQL Server'da çalışan işlemleri
yönetebilir.
Disk Yöneticisi (Disk Administrators): Disk dosyalarını yönetebilir.
Veritabanı Yöneticisi (Database Creators): Veritabanlarını oluşturur, değiştirir ve
silebilir.
Yığın Ekleme Yöneticisi (Bulk Insert Administrators): Toplu ekleme işlemlerini
yapabilir.
Abdülkadir BARLIK
11. Yeni Oturum Hesabı Oluşturma
Bu bölümde kullanıcıya istenilen
veritabanlarına istenilen yetkiler
atanabilir. Biz şuan ki üyeye
“Sirket” veritabanında
db_datareader yetkisi veriyoruz ve
OK’ye bastığımızda yeni üyemizin
oluştuğunu görebiliriz.
User Mapping – Veritabanları üzerinde
yetkilendirme
Abdülkadir BARLIK
12. Yeni Oturum Hesabı Oluşturma
“abdulkadir” isimli kullanıcı ile sisteme giriş
yapıyoruz.
Abdülkadir BARLIK
13. Yeni Oturum Hesabı Oluşturma
Artık bu kullanıcı ile sisteme girdiğimizde sadece “Sirket” database’ine
erişebileceğiz. Başka database’lere girmeye çalıştığımızda hata verdiğini
göreceksinizdir.
Abdülkadir BARLIK
14. Yeni Oturum Hesabı Oluşturma
Tekrar sistem yöneticisi şeklinde sisteme
giriş yapıyoruz. Aşağıda “Sirket”
database’inde “abdulkadir” kullanıcısının
yetkilendirildiği görülebilir. Şimdi
“abdulkadir” kullanıcısının üzerinde sağ tuşa
basarak Properties’e girelim.
Abdülkadir BARLIK
15. Yeni Oturum Hesabı Oluşturma
Şimdi bu kullanıcının “Sirket” database’i üzerinde tablolara
Insert ve Select işlemleri yapabilirken Delete işlemi
yapamaması için gerekli yetkilendirmenin nasıl yapılacağı
gösterilecektir.
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Abdülkadir BARLIK
16. Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Burada herhangi bir
değişiklik yapmadan soldan
Securables kısmına
geçiyoruz.
Abdülkadir BARLIK
17. Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Search’e bastığımızda Add
Object penceresi açılacaktır.
Buradan ikinci seçeneği
seçerek OK’e basıyoruz.
Abdülkadir BARLIK
18. Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Burada hangi nesnelere yetki
verebileceğiniz
görülmektedir. Biz sadece
tabloya yetki vereceğimiz için
bunu seçmemiz yeterli
olacaktır.
Abdülkadir BARLIK
19. Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Seçili alanda hangi işlemler için
izin verileceği gösterilmektedir.
Grant o işlemi yapabileceğini Deny
ise o işleme izninin olmadığını
göstermektedir. Biz Select ve
Insert işlemi için Grant’ı, Delete
işlemi için ise Deny’ı seçerek
yetkilendirmeyi tamamlıyoruz.
İşlemleri deneyerek yetkilerin
çalışıp çalışmadığını kontrol
edebilirsiniz.
Abdülkadir BARLIK
20. Yeni Role Oluşturma
Belirli bir grup kullanıcıya aynı yetkileri vermek istiyorsak tek tek her
kullanıcıya yetki vermektense aşağıdaki adımları gerçekleştiririz;
• Yeni bir Role tanımlanır.
• Gerekli yetkilendirme bu Role bazında yapılır.
• Son olarak da istenen kullanıcılara bu Role içerisine dahil edilir.
Şimdi söylediklerimizi uygulayalım. Sirket database’ine “Yazılım” rolü
oluşturarak yazılım elemanı olduğunu düşündüğümüz “abdulkadir”
kullanıcısını bu role dahil edelim.
Abdülkadir BARLIK
24. Yeni Role Oluşturma
En altta görüldüğü gibi “Yazılım”
rolünü seçerek bu kullanıcıyı bu
role dahil etmiş olduk.
Abdülkadir BARLIK
25. Neler Öğrendik…?
Sql Server’da güvenliğin önemini,
Kimlik Denetiminin ne olduğunu ve çeşitlerini,
Yeni bir kullanıcının nasıl oluşturulduğunu,
Kullanıcılara yetkilerine göre erişim izni vermeyi,
Yeni Role oluşturabilmeyi öğrendik.
Abdülkadir BARLIK
Editor's Notes
Artık bu kullanıcı ile sisteme girdiğimizde sadece “Sirket” database’ine erişebileceğiz. Başka database’lere girmeye çalıştığımızda hata verdiğini göreceksinizdir.
Tabloda kolon bazlı yetkilendirme seçili alanda görülen ColumnPermissions’dan yapılabilir.