Azure Dynamic Data Masking – Dinamik Data Maskeleme

By | 4 March 2015

Merhabalar,

Bu yazı içerisinde sizlere Azure SQL Database V12 ile gelen Dinamik Data Maskeleme (Dynamic Data Masking) işleminin nasıl yapıldığını anlatacağım ancak ilk olarak data maskeleme nedir, neden önemlidir gibi konular hakkında yazı yazacağım.

Data Maskeleme Nedir ve neden önemlidir ?

Günümüzün veri yoğunluklu ortamlarında, iş ve devlet organizasyonları çok büyük miktarlarda veri toplamaktadır ve bu verilerin yarısından fazlasının veri maskeleme gerekliliği olan gizli sınıfına ayrılabileceği tahmin edilmektedir.

Bu kadar kritik verinin depolanması ve kopyalanması nedeniyle, veri ihlallerinin büyük bir problem olarak ortaya çıkması, hiç de sürpriz olmamıştır, ayrıca bu sorun şirketlere devasa bir mali yük getirmektedir. Bu yüzden günümüzde veri maskeleme dahil olmak üzere, veri gizliliği çabaları hiç olmadıkları kadar önemli duruma gelmiştir.  Hal böyle olunca firmalar, kuruluşlar için Data Masking birinci seviyede kritik bir ihtiyaç halindedir. Yazımızın kalan bölümünde ise Windows Azure SQL Database ile Data masking işlemini nasıl gerçekleştirebileceğimizi anlatmaya devam edeceğim.

Dinamik veri maskeleme politikaları Azure Yönetim portalı, yeni azure portal ve standart API aracılığı ile yönetilebilir. Azure yönetim portalı ve yeni azure portal ile dinamik veri maskeleme işlemleri birkaç dakika içerisinde hızlı ve kolay bir şekilde tanımlanabilir.

Hangi durumlarda veri maskeleme ihtiyaç duyabiliriz ?

1)      Müşteri yada çalışan Kayıtları : Bir çok iş rolü içerisinde müşterilerinizin yada çalışanlarınızın bilgilerine erişim ihtiyacı söz konusu olabilir ama bu erişim yetkisi kullanılarak verilerininiz suistimal edilmemesi gerekmektedir. Örnek olarak, çalışanlarınızın maaş bilgilerinin tüm çalışanlar tarafından bilinmesi, müşterilerinize ait T.C. kimlik numarası telefon numarası gibi bilgilerin suistimal edilmesi gösterilebilir.

2)      Dev ve Test ortam verilerinde : Birçok kurum kendi uygulama geliştirme ve geliştiricilerin kapsamlı test yapabilmeler için canlı ortam ( production – Live  ) verilerinin kullanılması gerekebilir böyle durumlarda veriler paylaşılırken veri maskeleme uygulamasına ihtiyaç duyulabilir.

Data Maskeleme işlemini nasıl yapabiliriz ?

1)      Azure yönetim portalına girişi yapın.

2)      New’den yeni bir SQL database oluşturun.

CreateNewDatabase_Image1

3)      SSMS ile veritabanımıza bağlantı kuruyoruz.

4)      Aşağıdaki tblMusteriler isimli tablo oluşturup örnek data girişi yapıyoruz.

GenerateDataQuery_Image2

5)      Eticaret isimli veritabanı oluşturduktan sonra Azure yönetim panelinde yer alan “SQL DATABASES” menüsünden oluşturduğumuz Eticaret isimli veritabanımızı seçiyoruz.

SelectEticaretDB_Image3

6)      Eticaret veritabanının “Auditing & Security”  bölümünde yer alan dynamic data masking bölümünü enabled ediyoruz.DynamicDataMasking_Image4

Yukarıdaki resimde görüldüğü gibi enabled seçeneği seçildiği zaman hemen altında privileged logins bölümü aktif oluyor. Burası semicolon seperator işareti ( ; ) ile çok sayısıda ayrıcalıklı kullanıcının bilgisini yazdığımız kısımdır. Örneğimizde sistemimizde kullandığımız 2 tane kullancı mevcut ( caglar ve cozenc ) . Kullanıcıların bilgilerini ise aşağıdaki query ile görüntüleyebiliriz. (select * from sys.sql_logins (Kod parçası sadece master’de çalıştırılabilir.Kaynak)

7)      Privileged logins ( ayrıcalıklı kullanıcı ) olarak “caglar” kullanıcısını kabul ederek yukarıdaki privileged logins bölümüne “caglar” yazıyoruz.  “Add Mask” butonu basarak maskelenmesi istediğimiz alanın bilgilerini giriyoruz.

ConfigureDynamicDataMaskingRule_Image5

Masking Function bölümünde ne tür bir maskeleme yapacağımıza dair değerlerden birini seçebilirken bizimde belirleyebileceğimiz bir değer de yazılabilir. Örneğimiz içerisinde Masking Function için “Custom String” seçiyoruz ve oluşturduğumuz masking rule save ediyoruz.

DynamicDataMaskingSettings_Image6

8)      Dinamik veri maskeleme ile ilgili gerekli işlemleri tamamlamış bulunmaktayız. Data Masking işleminin doğruluğunu kontrol etmek için  “Security Enabled Connection Strings “ kullanmak durumundayız.

Standart Connection String : <servername>.database.windows.net

Security Enabled Connection String : <servername>.database.security.windows.net

Sonuç olarak işlem çıktısını kontrol edelim ve veri maskeleme işlemimizin nasıl başarılı bir şekilde tamamlandığını görelim..

DynamicDataMaskingResult_Image7

Bir sonraki makalede görüşmek üzere.. bol Azure’lu günler..

 

Share

Leave a Reply

Your email address will not be published. Required fields are marked *