Veritabanı Seviyesinde Rol Oluşturmak
Veritabanlarında user’ları yetkilendirirken db_datareader, db_datawriter, db_owner gibi sistem tanımlı rollerin yanında Execute, View Definition gibi veritabanı seviyesinde izinler de kullanılır. Aynı yetkilere sahip olmasını istediğimiz birden fazla kullanıcı varsa, her kullanıcı için bu rol ve izinleri tek tek belirlemek hem uzun sürecektir hem de yetkilendirmelerden birinin gözden kaçıp unutulması riskini arttıracaktır. Bu nedenle standart oluşturmak için veritabanı seviyesinde kendimiz de rol tanımlayabiliriz. Rol tanımlayabilmek için CREATE ROLE izni, db_securityadmin ya da db_owner yetkilerinden birine ihtiyaç vardır.
Yeni bir rolü Management Studio üzerinden tanımlayalım. İlk önce veritabanında Securtiy menüsünün altında Roles menüsünü sağ tıklayarak New Database Role seçeneğini tıklayalım.
Sonrasında oluşturacağımız rolün adını ve bu rolün sahibini (owner) belirleyelim. Bu örnekte dbo kullanıcısını seçiyorum. Farklı bir kullanıcıyı rolün sahibi olarak seçmemiz halinde ilgili kullanıcının silinme işlemi, rolün sahibini değiştirmeden gerçekleşmez.
Role gerekli izinleri tanımlamak için veritabanına sağ tıklayalım. Properties seçeneğinden Permissions sekmesini açalım. Yetkilendirmek istediğimiz rolü seçmek için search butonuna tıklayalım.
Rolün adını yazıp OK butonuna tıklayalım.
Hangi yetkileri vereceğimizi seçip OK butonunu tıklayalım.
Böylece bir rol oluşturduk. Şimdi bir kullanıcıya yetki olarak bu rolü verelim. Önce user tanımlıyorum. Bunun için veritabanındaki security menüsünden user seçeneğini sağ tıklayıp New User’a tıklıyorum.
User name olarak kullanıcı adını, login name olarak Instance üzerinde kayıtlı bir logini yazalım.
Bu kullanıcıya üyelik olarak membership sekmesinden RoleKullanici rolünü verelim.
Böylece aynı yetkilere sahip olmasını istediğimiz tüm kullanıcılara aynı rolü tanımlayabiliriz.