Oracle Data Redaction Nedir? Bölüm 1
Oracle Data Redaction, veri tabanı üzerinde döndürülen verileri maskelemenize ( redaksiyon ) yapmanıza olanak tanıyan bir teknolojidir. Bu sayede tablolarınızda bulunan verileri dilediğiniz şekilde maskeleyebilir ve veri ihlallerinin önüne geçebilirsiniz.
Oracle Data Redaction, veri maskelemesini Transparent data Encryption da olduğu gibi fiziksel olarak yapmaz. Şifreleme ” DBMS_REDACT ” paketine bağlı olarak hazırlanan kurallar dahilinde ve kullanıcı özelinde yapılır. Diğer bir değişle verileriniz Buffer Cache üzerinde daha önceden olduğu gibi raw biçimde tutulur. Ne zaman bir veri çağırılır DMBS_REDACT paketi devreye girerek belirleyeceğiniz yöntemlerde veriyi sunar.
Oracle Data Redaction neden kullanılmalı ?
Uygulamalarınızı ve uygulama kullanıcılarınız her zaman hassas verilerinizi görmesi gerekmez. Örneğin bir müşteri kartında bulunan kişisel bilgiler ( kredi kartı , vatandaşlık numarası vb. ) görülmemesi gerekebilir.
Bununla birlikte KVKK gereği bilgilerin kısmi yada tamamen değiştirilmesi gerekebilir. Bu süeçlerde Oracle Data Redaction özelliklerini kullanabilirsiniz.
Data Redaction yapabilmek için aşağıdaki örnek resimde olduğu gibi 4 farklı yöntem bulunmaktadır.
- Full redaction.
- Partial redaction.
- Regular expressions.
- Random redaction.
- * No redaction
Full redaction
Etkilenen sütunda bulunan tüm veriler etkilenir. Full Redaction default değeri ” 0 ” dır. Sütunda bulunan veri tipi NUMBER olarak görünüyorsa , ” 0 ” karakter bir veri türü görünüyorsa boşluk ile değiştirilir.
Partial redaction
Etkilenen sütunda mevcut veririnin belli bir kısmını düzenleyebilirsiniz. Örneğin 16 hani bir kart numarasının baştan yada sondan 8 hane ” * ” ile değiştirilebilir.
Regular expressions.
Yalnızca karakter veri tipleri için düzenlenmiştir. Regular Expressions ile farklı karakterdeki e-posta isimlerini isteğe bağlı olarak düzenleyebilirsiniz.
Random redaction
Veri türü farketmeksizin sütun içerisinde bulunan verilerin her çağırıldığında rast gele gösterildiği yöntemdir. Bu yöntem ile veri çağrıldığında Data Redaction veriyi Random değiştirdiği için her zaman benzersiz görülmektedir.
En çok kullanılan Random Redaction kullanımında bazı önemli detaylar bulunmaktadır.
- Char veri tipi kullanıldığında, çağırılan veri her zaman sütunun karakter sayısı ile aynı olur. Örneğin sütun CHAR(25) ise kullanıcı sorgu çektiğinde, çıktı sonucu 25 rastgele karakterden oluşan dize sağlar.
- VARCHAR2 veri tipi kullanıldığında çıktı sütun içerisinde bulunan karakter sayısı kadar döndürülür. Örneğin VARCHAR(25) veri tipinde bir alanda 10 karakterlik bir veri bulunuyorsa Data Redaction sonucu 10 Random karakter ile döndürür.
- Sayı veri türlerinde ise pozitif sayılar döndürülür. Örneğin Data Redaction -12345 sayısı , 12345 olarak değiştirilir.
- Tarih ve saat türlerinde ise değişim olmadan rastgele tarihler ile görüntüleme yapılır.
Oracle Data Redaction ve Oracle Virtual Pricate Database arasındaki farklar
- Oracle Data Redaction ile verileri daha fonksiyonel olarak şekillendirebilirken, Oracle Virtual Private Database verileri NULL olarak döndürür. Değerler NULL döndüğünde uygulamalar problem oluşturduğundan Oracle Data Redaction ile bu tip sorunlar ile karşılaşmazsınız.
- Oracle Virtual Private Database statik ve dinamik içeriklere duyarlıdır. Data Redaction ise yalnızca statik içeriğe duyarlıdır.
- Data Redaction , bir tablo veya view üzerine sadece bir ilkenin tanımlanmasına izin verir , Oracle Virtual Private Database ise birçok ilke tanımlayabilirsiniz.
Oracle Data Redaction, SYS ve SYSTEM yada ilk kurulum ile gelen varsayılan şemaları nasıl etkiler ?
- SYS ve SYSTEM kullanıcıları varsayılan olarak EXEMPT REDACTION POLICY ayrıcalığına sahiptir. Bu ayrıcalık Oracle Data Redaction ilkerinin bu kullanıcılar için geçersiz olduğu anlamına gelir. Diğer bir değişle aksi belirtilmedikçe her zaman veriyi okuyabilirler.
- Varsayılan olarak açılan kullanıcılar EXEMPT REDACTION POLICY ayrıcalğına sahip değildir. Örneğin HR kullanıcısı bu durumdan direk etkilenir.
- SYS ve SYSTEM gibi temel kullanıcılardan EXEMPT REDACTION POLICY rolünün alınmaması gerekir.
Dikkat edilmesi gereken hususlar
- Oracle Data Redaction uygunlamış sütunlarda GROUP BY ifadesi kullanılmaz. Bunun nedeni Select listesindeki ifadenin Data Redaction tarafından değiştirilmesidir. Yapılmak istendiğinde ORA-00979 hatası döndürülür.
- GROUP BY ifadesinde olduğunda gibi aynı şartlar DISTINCT içinde geçerlidir. Data Redaction olan sütun için DISTINCT kullanıldığında ORA-01791 hatası döner.
- JSON veri tipi olan bir sütunda Data Redaction uygulanmaz. ORA-28073 hatası döndürülür.
- GRAPHIC , LONG VARGRAPHIC , VARGRAPHIC ve TIME veri tipleri hiç bir koşulda desteklenmez.
- XML types, Oracle Spatial types, Oracle Media types desteklenmez.
Oracle Data Redaction konusuna değindiğimi bu yazı dizimizin ilk bölümünde mevcut özelliğin ne olduğuna baktık. İkinci bölümde ise uygulamalı olarak kullanımı inceleyeceğiz.