Sql Server Database Roles Nedir ? Nasıl Oluşturulur ?
Merhabalar bu yazıda , Sql Server Database roles nedir ? nasıl oluşturulur , hangi durumlarda kullanırız bu aşamaları görmüş olacağız. Sql Serverda her kullanıcıya tam yetki vermek çokta mantıklı bir hareket değildir , bazen database kullanan onlarca kullanıcı olur bunların her biri farklı tablolarda işlemler yapar ve kendi işlemleri dışında diğer tablolara erişmesin isteriz veya erişsin insert,update,delete yapamasın sadece select atabilsin isteriz ya da tam tersi durumlar olabilir. Database Roles 2 şekilde oluşturabilirsiniz ilki management studio içerisinde görsel arayüz ile veya T-SQL sorguları ile oluşturabilirsiniz. Öncelikle test amaçlı yeni bir user tanımlıyorum (Security -> Logins sağ click new login diyerek oluşturabilirsiniz. Mapping kısmından hangi databeslerde işlem yapabileceğini de filtreleyebilirisiniz).
Varolan Roles görüntülemek için ilgili veritabanı altında Security altında Roles altında bulunan Database rolesden görebilirsiniz, varolan rolleride isterseniz kullanabilirsiniz default tanımlı roller bulunmaktadır. Ancak biz örnek amaçlı bazı tablolarda kısıtmala yapacağımız için kendi Role tanımımızı yapıyoruz.
Oluşturmak için Security altında Roles altında bulunan, Roles Sağ tıklayıp New -> New Database Role
Role Name giriyoruz , Owner bölümünden 3 noktaya tıklayıp ilgili sahipliği belirtiyoruz , çıkan ekranda Browse sekmesinden dbo yetkisi veriyorum. Birden fazla sahiplikte belirtebilirsiniz.
Securable sekmesinden Search diyerek , Specific object ile belirli nesneler seçmek için ok diyip devam ediyoruz. Bu aşamada Object Type diyerek Tables kısmını filtreliyoruz.
Browse sekmesinde tıklayıp hangi tablolarda işlem yapacak ise ilgili tabloları seçiyoruz ve hangi işlem yapılamasını istiyor ise altta bu izinleri veriyoruz. Sonra ok diyoruz.
Daha sonra oluşan Role sağ tıklayarak Properties kısmında alttaki Role Members alanından etkilenmesini istediğimiz kullanıcıları Add… Diyerek ekliyoruz.
Örnek olarak select iznini Deny yaparak bir sorgu çektiğimde ilgili tabloda izin vermemektedir.