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;
Kullanıcımızı tanımlıyoruz bir sonraki adımda da ;
Ş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.;
Ü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.
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. 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. ;
6. adımda ; Yeni gelen arkadaş önce windows’ta sonra sql server da oturum açıyor;
Daha sonra yetki verdiğimiz veritabanı üzerinde değişiklik yapıyoruz;
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 ;
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 ;
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 ;
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 ;
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 ;
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 ;
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.
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.
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. ;
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.
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.
Ö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.
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ü ;
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..
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ğenBeğen