MsSql Server Role Nedir? Role Nasıl Oluşturulur? Ne İşe Yarar?

Share

SQL Server Role Nedir? Nasıl oluşturulur? Ne işe yarar?

SQL Server 2008 ve daha önceki sürümlerde yeni kurallar (role) atayamıyor ya da var olan görevleri değiştiremiyorduk. SQL Server 2008 sonrasında kural atama kavramı hayatımıza girmiş oldu.

Kaç Çeşit Kural (Role) vardır?

SQL Server görev kavramını 3 başlık altında toplayabiliriz;

  1. Server Role
  2. Database Role
  3. Application Role

Sunucu Rolü?

bulkadmin (Bulk Insert Administrator – Çoklu Kayıt Yöneticisi) : Bulk Insert komutuna yetkisi olan

dbcreator (Database Creator – Veritabanı Yöneticisi) : Database oluşturabilme, silebilme, düzenleyebilme yetkisi olan

diskadmin (Disk Administrator – Dosya Yöneticisi) : Disk üzerinde bulunan dosyaları yönetme yetkisi olan

processadmin (Process Administrator – İşlemci Yöneticisi) : SQL Server üzerinde çalışan işlemcileri kontrol etme yetkisi olan.

public (Herkese Kısıtlı Hak) : SQL Server üzerinde  standart ayarlarla giriş yapan herkesin rolüdür. Bu kural ile tüm kullanıcıların kısıtlı hakları vardır. Daha sonra bu kullanıcılara kural değişikliği yapılarak diğer kurallar atanabilir

securityadmin (Security Administrator – Güvenlik Yöneticisi) : Server üzerinde kullanıcıların yetkilerini denetlemek, yönetmek ve şifrelerini sıfırlamak ya da istendiğinde değiştirme yetkisi olan

serveradmin (Server Administrator – Server Yöneticisi) : SQL Server üzerinde yapı ayarları, başlat/durdur/yeniden başlat gibi yetkileri olan.

setupadmin (Setup Administrator) : SQL Server üzerinde farklı bir verştabanı kullanarak işlem yapma yetkisi olan

sysadmin (System Administrator – Sistem Yöneticisi) : En yüksek yetkisi olandır. Sistem üzerinde tüm yetkilere sahiptir

Bu kurallar procedur ile nasıl yönetilebilir?

sp_helpsrvrole : Server üzerinde bulunan kural listelerini gösterir

sp_helpsrvrolemember : Server üzerinde bulunan kullanıcıların hangi kurallar tanımlandığını gösterir

sp_srvrolepermission : Kural tanımlanmış yetki listesini gösterir

sp_addsrvrolemember : Kullanıcıya kural ataması yapar örn: exec sp_addsrvrolemember @loginame=’shrcy’, @rolename=’bulkadmin’

sp_dropsrvrolemember : Kullanıcıyı verilen kuraldan çıkışını sağlar örn: exec sp_dropsrvrolemember @loginame=’shrcy’, @rolename=’bulkadmin’

Veritabanı Rolü?

db_owner : Veritabanında en yüksek yetkilidir. Silme, ekleme, düzenleme, başlatma/durdurma gibi yetkileri vardır

db_accessadmin : Veritabanında kullanıcılara veritabanına erişim kural/yetki atayan yöneticidir

db_securityadmin :Veritabanındaki kural/yetkileri yönetir

db_datareader : Veritabanındaki kullanıcıların “SELECT” sorgusunu çalıştırmasına izin verir

db_datawriter : Veritabanındaki kullanıcıların “INSERT , DELETE , UPDATE sorgularını çalıştırmasına izin verir

db_ddladmin : Veritabanındaki kullanıcıların “DDL” komutlarını çalıştırmasına izin verir

db_denydatareader : Veritabanındaki kullanıcıların “SELECT” sorgusunu çalıştırmasını kısıtlar

db_denydatawriter : Veritabanındaki kullanıcıların “INSERT , DELETE , UPDATE sorgularını çalıştırmasını kısıtlar

db_backupoperator : Veritabanının yedeğini alma kuralı

Bu kurallar precedure ile nasıl yönetilebilir?

sp_helprole : Server üzerinde bulunan kural listelerini ve Application Role gösterir.

sp_addrolemember : Kullanıcıya kural ataması yapar örn: exec sp_addrolemember @membername=’shrcy’, @rolename=’bulkadmin’

sp_droprolemember : Kullanıcıyı verilen kuraldan çıkışını sağlar örn: exec sp_addrolemember @membername=’shrcy’, @rolename=’bulkadmin’

sp_helpdbfixedrole : Sorgunun yapıldığı veritabanında tanımlanmış bütün kuralları/yetkileri listeler

sp_dbfixedrolepermission : Kurallara tanımlanan yetkileri listeler

Uygulama Rolü?

Eğer “guest” hesabı oluşturursanız veritabanında, database için tek tek kullanıcı hesabı açıp tanımlamanıza gerek kalmaz. Bunu da aşağıdaki iki procedure komutu ile kullanılabilir ya da kullanılamaz olarak ayarlayabilirsiniz.

sp_setapprole : Kullanılabilir

sp_unsetapprole : Kullanılamaz

(Visited 92 times, 1 visits today)