Ms SQL Server Veritabanı Düzeyinde Güvenlik Bölüm Veritabanı Yönetimi Yazar Mustafa ÖZEN Yayın Tarihi 08.07.2004 Okunma Sayısı 810 Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek Veritabanı düzeyinde, her kullanıcının Windows hesabı veya SQL Server oturum açma adı, veritabanındaki bir kullanıcının hesabıyla eşleştirilir. Bir kişi atanmış bir oturum açma adıyla bir SQL Server sunucusuna erişme hakkı olduğu halde veritabanı kullanıcısı olmadığı sürece belli bir veritabanına erişemeyebilir. VERİ TABANI KULLANICISI OLUŞTURMAK Yeni bir oturum açma adı oluşturulduğunda, oturum açma adı, atandığı veritabanının kullanıcı listesine otomatik olarak eklenir. Şimdi bir veritabanı kullanıcısı (Database User) oluşturalım. Enterprise manager konsol ağacında bir veritabanını genişletip, Kullanıcılar( ) simgesine gelelim. Ayrıntı bölmesinde kayıtlı kullanıcılar görüntülenir. Enterprise Manager araç çubuğundan Yeni ( New) düğmesini tıklayalım. Veritabanı Kullanıcı Özellikleri (Database User Properties) iletişim kutusu karşımıza çıkar. (Aynı işlemi, konsol ağacında, kullanıcılar simgesini farenin sağ tuşuyla tıklayıp, açılan menüden Yeni Veritabanı Kullanıcısı (New Database Users) komutunu tıklayarak da yapabiliriz.) 1.Şekil: Veritabanı Kullanıcı Özellikleri Oturum adı (Login name) bölümünde mevcut kullanıcıların adları listelenir. Oturum açma adınızı seçin. Kullanıcıya atanan
rolleri Veritabanı Rol İzinleri (Permit in Database Role) bölümünden ayarlayabiliriz. "Mustafa" adlı kullanıcıya seçtiğim veritabanında, Veritabanı Erişim Yöneticisi (db_accessadmin) rolünü ekliyorum. Tamam komut düğmesini tıkladığımızda kullanıcı, veritabanı kullanıcılarına, Veritabanı Erişim Yöneticisi olarak eklenir. 2.Şekil: Yeni veritabanı kullanıcısı Bir veritabanı kullanıcısına atadığımız roller, kullanıcının o veritabanı için hangi haklara sahip olduğunu belirler. SQL Server'da olan veritabanı kullanıcı rolleri ve güvenlik hakları aşağıdaki gibidir: Veritabanı Erişim Yöneticisi (db_accesadmin): Kullanıcı kimlik bilgileri ekleyip kaldırabilir. Yedek Alma Operatörü (db_backupoperator): Veritabanının yedeklerini alabilir. Veri Okuyucusu (db_datareader): Herhangi bir veritabanından veri okur. Veri Yazıcısı (db_datawriter): Veritabanındaki, tablolardaki verileri değiştirebilir. Veri ekler, değiştirebilir veya bütün tablolardan veri siler. Veri Tanımlama Yöneticisi (db_ddladmin): Veritabanı nesnelerini ekler, değiştirir veya kaldırır. Veri Okuma Yöneticisi (db_denydatareader): Verilerin okunma izinlerini düzenler. Bütün nesneler için SELECT iznini önleyebilir. Veri Yazma Yöneticisi (db_denydatawriter): Verilerde değişiklik yapılması izinlerini düzenler. Bütün nesneler için INSERT, UPDATE, DELETE iznini önleyebilir. Veritabanı Sahibi(db_owner): Veritabanındaki bütün izinlere sahiptir. Güvenlik Yönetimi(db_securityadmin):Veritabanının güvenliğinden sorumludur. Yani kullanıcı izinlerini, rollerini yönetebilir. Genel (Public): Her veritabanı kullanıcısının sahip olduğu genel haklardır. VERİTABANI ROLLERİ OLUŞTURMA Enterprise Manager konsol ağacında istediğimiz bir veritabanını genişletelim. Roller ( Enterprise Manager ayrıntı bölümünde var olan roller listelenir. ) simgesini tıklayalım.
3.Şekil:Veritabanı rolleri Enterprise Manager araç çubuğundan Yeni ( New) simgesini tıklayalım. Veritabanı Rol Özellikleri (Database Role Properties) iletişim kutusu açılır. 4.Şekil:Veritabanı rol özellikleri
İsim (Name) bölümüne oluşturacağımız role vereceğimiz ismi yazalım. Tamam düğmesini tıklayalım. İletişim kutusu kapanır ve oluşturduğumuz rol ayrıntı bölümünde görünür. Ayrıntı bölümünde, oluşturduğumuz yeni Deneme rolünü çift tıklayalım. Veritabanı Rol Özellikleri iletişim kutusu tekrar açılır. Bu defa İzinler (Permissions) düğmesi aktifdir. 5.Şekil:Veritabanı rol özellikleri (İzinler aktif) İzinler(Permission) düğmesini tıkladığımızda aşağıdaki gibi nesnelerin ve izinlerin listelendiği bir iletişim kutusu karşımıza
çıkar. Solda sıralanan nesneler üzerinde; seçme, ekleme, güncelleme, silme gibi izinleri ayarlayarak tamam düğmesini tıklayalım. BİR VERİTABANI ROLÜNÜ KALDIRMAK 6.Şekil:Veritabanı rollerinin izinleri Silmek istediğimiz rolün bulunduğu veritabanını konsol ağacında genişletelim. Roller (Roles) simgesini tıklayalım. Ayrıntı bölümünde roller görüntülenir. Silmek istediğimiz rolün üzerine gelip DELETE tuşuna basalım. SQL Server silme işlemini onaylamamızı isteyen bir iletişim kutusu görüntüler. Evet düğmesini tıklayalım. Böylece SQL Server rolü, veritabanından siler. Bu makalede öğrendiklerimiz Bir veritabanı kullanıcısı nasıl oluşturulur? Veritabanı rolleri nelerdir? Veritabanı rolleri nasıl oluşturulur? Bir veritabanı rolü nasıl kaldırılır? Bu makalenin aslı sqlnedir.com sitesinde yayınlanmıştır.