Microsoft SQL Server Kullanıcı Oluşturma ve Veri Tabanında Kolon Bazlı Yetki Verme

Merhaba arkadaşlar, veri tabanı yönetim sistemleri denince akla gelen hatta evrensel bir yapı olmasına rağmen sql denince akla ilk gelen Microsoft Sql Server üzerinde yeni kullanıcı oluşturma ve bu oluşturduğumuz kullanıcıya sadece bir veri tabanı içerisinde ki iki kolona select yapma yetkisi vereceğiz. Bu iki kolona select yapma dışında başka herhangi bir işlem yapamayacaktır. İşlemlerimize ekran görüntüleri ile başlayalım:

  1. Sunucu seviyesinde “Logins”  başlığını sağ tıklayıp “New Login…” seçeneği tıklanır
  2. “New Login…” tıkladıktan sonra açılan kullanıcı oluşturma ekranında oluşturacağımız kullanıcı adı ve Sql Server Doğrulaması için şifreyi oluşturuyoruz.
  3. “Server Roles” kısmında kullanıcının sunucu üzerinde sahip olacağı rolleri seçiyoruz. Bu yazımızda sınırlı yetkili kullanıcı oluşturacağımızdan kullanıcıyı public rolünde bırakıyoruz.
  4. “User Mapping” alanından kullanıcıya bağlanacak veri tabanlarını seçiyoruz. Biz sadece bir veri tabanını ve bu veri tabanına bağlı public rolünü seçerek devam ediyoruz.
  5. Status alanından kullanıcı aktif ve giriş izinli olarak seçtikten sonra OK butonuna basarak kullanıcıyı oluşturuyoruz.

Buraya kadar sunucu üzerinde kullanıcı oluşturmayı gördük. Bu ayarlar ile oluşturulan kullanıcı her hangi bir işleme yetkili değildir. Yazımızın bundan sonraki kısmında oluşturduğumuz bu kullanıcıya bağlanan veri tabanında Users tablosundan Sid ve UserSettingsXml kolonlarına select işlemi için yetki verilecek. Bu işlemler dışında kullanıcı işlem yapamayacak.

  1. Kullanıcıya bağlanan veri tabanı içinde Security > Users altından oluşturtuğumuz kullanıcıya çift tıklayarak veya sağ tıklayıp Properties seçeneğine tıklayarak kullanıcı ayarlarına ulaşıyoruz. Açılan kullanıcı ayarlarında Securables alanına geçiş yapıyoruz.
  2. Securables alanında bulunan “Search…” butonuna tıklayarak yetki verilebilecek nesne türlerini listelerini bulup aradığımız TABLES seçeneğini bulacağımız ekranı açıyoruz.
  3. Açılan “Add Oblects” ekranında “Specified objects…” seçeneği seçili iken “OK” butonuna tıklayarak nesne türlerinin listesini barındıran ekranı açıyoruz.
  4. Açılan ekrandan, bizim senaryomuzda sadece tablonun kolonları üzerinde yetki vereceğimiz için sadece “Tables” seçeneğini seçip “OK” butonuna tıklayarak veri tabanı içerisinde tanımlı olan tablo listesini barındıran ve seçim yapmamızı sağlayacak olan ekranı açıyoruz.
  5. Açılan tablo listesinden gene baştaki senaryomuza uygun olarak sadece “Users” tablosunu seçip “OK” butonuna tıklayarak tablonun yetki listesine eklenmesini sağlıyoruz. Açılan ekrandan tekrar “OK” butonuna tıklayarak tablonun eklenme işlemini bitiriyoruz.
  6. Bu hali ile kullanıcı hala public rolünde olduğundan işlem yapamayacaktır. Tabloyu yetki ekranına ekledikten sonra tablo listesinden select işlemi için Grant alanını seçiyoruz ve seçim işlemi select satırında iken “Colümn Permissions…” butonuna tıklayarak tabloda tanımlı sütun listesini ekrana getiriyoruz. Listeden Sid ve UserSettingXml kololarına grant ile verip “OK” butonları ile işlemi bitiriyororuz.

Aşağıda işlem sonunda oluşturulan kullanıcı ile sunucuya bağlanılıp çalıştırılmaya çalışılan bazı sorgu ve sonuçlarını görebilirsiniz.

Yorum Yapın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: