SQL SERVER 2014 Kullanıcı Oluşturma-Yetkilendirme ve Denetleme

Merhaba,

Daha önce sanal makineler üzerinde oluşturmuş olduğumuz domain yapısında sadece cluster adminimiz vardı ve onunla sql server’lara bağlantı sağlıyorduk.Şimdi domain’de bir windows kullanıcı daha oluşturup okuma yazma izinlerini verip alwaysOn grupları içindeki değişimleri inceleyeceğiz.

1-Kullanıcı Oluşturma ve Yetkilendirme

1.adımda ; Domain Controller (DC) ‘da active directory users and computers ekranımızı açıyoruz.Açmış olduğumuz “Cluster SQL” organization unit altındaki users OU’suna sağ tık “new user” diyoruz;

1_user

Kullanıcımızı tanımlıyoruz bir sonraki adımda da ;

2_sifre

Şifresini oluşturup,şifresini değiştiremesin ve şifresinin süresi dolmasın deyip next-finish diyoruz ve kullanıcımızı oluşturmuş oluyoruz.

2. adımda ; Group Policy Management üzerindeki erol.local farm ımız altında oluşturmuş olduğumuz SQL CLUSTER POLICY üzerine sağ tık “edit” diyoruz.Açılan ekranda Computer Configuration-Preferences-Control Panel Settings-Local User and Groups’a kadar gelip sağ tık new Local Group diyoruz.

Gelen ekranda Action kısmı Update olacak çünkü yine zaten oluşturmuş olduğumuz kullanıcı ile ilgili işlemler yapacağız.Group Name kısmını bu sefer USERS (Built in) yapıyoruz.;

3_kullanıcıyı dahil et

Üstteki resimdeki gibi 6 adımda yeni işe başlayan arkadaşı gruba dahil ediyoruz.

3. adımda ; Active Directory Users and Computers ekranına geri gelip server’larımızın bulunduğu klasöre sağ tıklayıp properties den security tab ına geliyoruz.

4_tanıtma

Burada da 5 adımda kullanıcımızı bulup ekliyoruz.Read-Write yetkilendirmesi yapıyoruz sadece.

4. adımda ; Cluster Admin ile giriş yaptığımız Klon2 de Sql Server’a windows authentication ile bağlanıyoruz (DomainName\userName).Daha sonra da windows login kullanıcımızı sql server a tanıtıyoruz.

use master;

create login [EROL\gokce]

from windows
with default_database=NORTHWND,
default_language = English

Scripti çalıştırdıktan sonra yeni oluşturduğumuz kullanıcı Security-Login hesapları altında görülmüş oluyor.;

5_sql

5. adımda ; Tanıttığımız kullanıcıya o database üzerinde yazma ve okuma işlemlerini de vermek için sağ tık properties den user mapping e geliyoruz  ve veritabanı üzerinde yazma ve okuma izinlerini veriyoruz. ;

                                   8_usermapping

6. adımda ; Yeni gelen arkadaş önce  windows’ta sonra sql server da oturum açıyor;

6_windows giris  7_sqlgiris

Daha sonra yetki verdiğimiz veritabanı üzerinde değişiklik yapıyoruz;

9_il islem

Windows Login ile bağlanan kullanıcı bu veritabanı üzerinde yazma ve okuma işlemlerini gerçekleştiriyor.Hemen altta sistem admini ile bağlandığım server da o veritabanını kontrol ettiğimde yeni kullanıcının girdiği bilgileri görebiliyorum.Buraya kadar sıkıntı çıkmadı.

Klon3 e de yazıp yazmadığını kontrol etmek için “select * from [KLON3].[NORTHWND].dbo.Categories” sorgusunu çalıştırıyorum ve linked server kurmadığım ile ilgili hata alıyorum.Onu da kuruyoruz şimdi öncelikle cluster adminimizle tekrar bağlanıyoruz. ;

Server Object kısmında Linked Server a sağ tıklayıp new diyoruz ;

10_link1  11_link2

12_link3     13_link4

General-Security ve Server Option kısımlarında resimdekiler gibi ayarları yapıp 4.resimdeki gibi bir çıktıya sahip oluyoruz.

General kısmında ; Linked Server ‘a bağlanacağımız makinenin adını,ProductName ‘e istediğinizi yazabilirsiniz,Data Source kısmına hangi makinede olduğunuzu,Catalog kısmına da hangi veritabanına bağlanacağını bildiriyorsunuz ki bu kısım opsiyonel bırakılmış yazmasanızda olur.

Security kısmında ; “be made using this security context” diyip hangi kullanıcı adı ve şifresi ile oraya bağlanacağımızı belirtiyoruz.

Server Option kısmında ; veri erişimine,Remote Procedure Call yani uzaktan sunucu ve istemcilerin iletişime açılmasına,uzaktan bağlantının kullanılmasına izin veriyoruz.

Son resimde de linked server ımızın oluştuğunu görüyoruz.

Neyse konu dağılmadan,yeni başlayan kullanıcımızla tekrar giriş yapıyoruz bilgisayara ;

14_son

Sql Server ı açtıktan sonra query i çalıştırıyorum tekrar ve klon3 te de verilerin değişmiş olduğunu görüyoruz.Kullanıcıyı oluşturmuş ve yetkilendirmelerini yapıp incelemiş olduk.

2-Denetleme İşlemleri (SQL SERVER üzerinde)

1.adımda Server Audit ;

Öncelikle Server Level bazında bir audit oluşturuyoruz.Bunun için Security altındaki Audit dizinine sağ tıklayıp new Audit diyoruz ;

20_audt

General kısmında ; audit name veriyorsunuz,On Audit log failure kısmı için sürekli açık kalsın şeklinde bırakıyoruz server ı falan kapattırmıyoruz.File kısmında da bu audit log dosyalarının nereye kaydedileceğini belirtiyoruz.

Filter  kısmında ; where koşulu için belirttiğimiz şartları yazdığımız yer diyebiliriz..Hangi kullanıcıları denetleyeceğiz onu burada belirtiyoruz.Kullanıcıların birer principal ID leri vardır ve biz o id ler üzerinden denetim kuracağız.

Öncelikle o yüzden ;

21_denetlme

Resimdeki gibi script i çalıştırıp,yeni oluşturduğumuz kullanıcının principal id sini alıyoruz(266).Filter kısmına da ([server_principal_id]=(266)) yazarak o kullanıcıyı denetleyeceğimizi belirtiyoruz.Ok diyip audit i oluşturmuş oluyoruz.Daha sonra da Audit_User ismiyle oluşturduğumuz denetlemeye sağ tık enable diyoruz ;

23_enable

Success’leri aldıktan sonra Server Audit oluşturulmuş oluyor.

2.adımda Server Audit Specification ;

Audits’in hemen altındaki Server Audit Specification ına da sağ tık new diyoruz ;

24_seraudspec

Name kısmına özel bir isim verip Audit kısmına bir önceki adımda oluşturduğumuz denetlemeyi gösteriyoruz. Audit Action Type’ta ise server level bazındaki denetlemeleri görüyoruz,basit e kaçıp yine login lerinin fail ve succesfull olma durumlarını kontrol ediyoruz.OK deyip,Server Audit Specification altında oluşturduğumuz denetlemeye sağ tıklayıp enable ediyoruz tekrar.

25_servernable

3.adımda Database Audit Specification ;

Veritabanı bazında hangi işlemlerin denetleneceğine dair bilgileri de veritabanının altındaki security->database audit specification sekmesinde giriyoruz.

26_dataaudit

Name kısmına yine özel bir isim verip alt kısımda Server Audit’i seçiyoruz yeni oluşturduğumuz.Action Type larda da ınsert-update-delete işlemlerini kontrol ediyor olacağım.Object name e de benim için önemli olan verilerin olduğu tabloyu seçiyorum (mesela 🙂 ).Principal Name e de kimi denetleyeceksek o kişinin user name ini seçiyoruz ve OK deyip yine oluştuğu yerde sağ tık enable diyoruz. ;

27_dataaudt

Bu da tamamdır.

4.adım Audit Log Dosyalarının İzlenmesi ;

İzlemeyi düşündüğümüz hareketleri oluşturduğumuz Server Audit (Audit_User) üzerinden view diyerek görüntüleyeceğiz.

28_klasör

Klasörümüzün içerisi şuan için boş,işlemler gerçekleştirdikçe denetleyeceğimiz kullanıcının denetleme bilgileri buraya düşecek.

31_logların izlenmesi

Öncelikle server a yeni kullanıcı ile giriş yaptık daha sonra sql server ı windows authentication ile açtık.Aynı şekilde logları görüntüleyebilmek için “sa” ve şifresi ile de oturum açtık.İlk olarak LOGIN olduğu ile ilgili bilgiler düştü.Daha sonra birer insert-update-delete işlemi yapmıştım onlarda sırasıyla log dosyalarına yazılmış görülüyor.Server Principal ID nin 266 olduğunu da yine burdan görebilirsiniz ki o numara kullanıcımıza aitti.Kaydırma çubuğunu sağa çektikçe zaten kullanıcı adı da Session Server Principal Name altında görülecektir.

33_

Biraz daha sağa çekince hangi veritabanı üzerinde ne tip işlemler yapmış onun bilgileri de yine kayıt altındadır.Bunu rapor olarak çıkarmak isterseniz excel den bu linkten videoyu açıp 20.dakikadan itibaren izleyebilirsiniz.

Kullanıcıyı oluşturduk,yetkilendirdik bir de üstüne yetkilerini kullanıyor mu diye denetledik.Ama yetkilerinin kısıtlı olmasında dolayı denetlediğimizi bilmiyor,sql server üzerinde kendi hesabında server audit kısmını görmesi için yetki vermedik.C nin altındaki klasörü de açmasını da istemedik oradan da görebilirdi çünkü ;

30_izinsizKullanıcı

Klasöre tıklarsa admin parolası istemekte….

Umarım faydalı bir yazı olmuştur..Bu kısma kadar okuduğunuz için teşekkür ederim..

Bir sonraki yazıda görüşmek üzere..

SQL SERVER 2014 Kullanıcı Oluşturma-Yetkilendirme ve Denetleme” için bir yorum

  1. Merhaba,

    Bir kullanıcının belli veritabanları üzerinde dataokuma ve scalar function çalıştırma yetkisi olmasını istiyorum bu durumda kullanıcı için nasıl bir yetki tanımlamam gerekiyor.

    Beğen

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s