Deperszonalizáció Oracle adatbázis-kezelőn

Data Masking.jpg
Egyre jellemzőbb a tudatos adatvédelem a szabályozásoknak, törvényi előírásoknak köszönhetően a nagyobb cégek körében. Különösen ahol személyes, szenzitív adatokat tárolnak adatbázisok, ott elkerülhetetlen, hogy valamilyen eszközzel deperszonalizáljuk, anonimizáljuk az értékes adatokat, hogy a fejlesztők és tesztelők jogosulatlanul ne férhessenek hozzá. Ezt a problémát jelenleg a legtöbb helyen egyszerűen titoktartási szerződésekkel szabályozzák, ám a felügyeleti szervek, mint például a PSZÁF ezt egyre kevésbé fogadják el kielégítő megoldásként.
Kézenfekvő megoldás a saját szkriptekkel történő maszkoló rutinok fejlesztése, mellyel a DBA-k igény szerint oldják meg az üzlet elvárásait. Azonban egy komplexebb rendszer esetén ez rengeteg munkával jár, arról már nem is beszélve, hogy a módosítások, bővítések újra és újra a script-ek további fejlesztését igénylik, ráadásul jellemzően nehezen átláthatóvá válik az egész megoldás.
Felismerve a problémát egyre több gyártó kezdett el saját generikus megoldásokat fejleszteni, így tett természetesen az Oracle is. Az Oracle Data Masking Pack az Oracle Enterprise Manager 10.2.0.4 verziójában jelent meg immár 2 éve 2007 november 1-én.
Az Oracle Data Masking Pack támogatja az Oracle Database 9i, 10g és 11g verziók maszkolását. Alapból az alábbi formátum primitíveket támogatja:
  • Array List
  • Fix listából választ véletlenszerűen értékeket
  • Fixed Number
  • Értelemszerűen egy rögzített számmal maszkol szöveges vagy szám mezőket, tipikusan összetett formátum részeként
  • Fixed String
  • Az előzőhöz hasonló, de kizárólag szöveges mezőkre alkalmazható
  • Null Value
  • Null értékkel írja felül
  • Random Dates
  • Véletlen dátumok generálása adott intervallumban
  • Random Digits
  • Véletlen egyedi szám generálása adott hosszúsággal.
  • Random Numbers
  • Véletlen egyedi szám generálása adott intervallumban
  • Random Strings
  • Véletlen egyedi string-ek generálása adott hosszúsággal (amely lehet tartomány is)
  • Shuffle
  • Eredeti adatok összekeverése változatlan eloszlással
  • Substitute
  • Determinisztikus (!!!) maszkolás hash függvénnyel külső táblában megadott értékekkel. Nem garantálja az egyediséget! A determinisztikus maszkolás több független adatbázis esetében is működik.
  • Substring
  • Eredeti string tetszőleges részének kivágása, kombinálható a fixed és random formátumokkal.
  • Table Column
  • Másik tábla adott oszlopából választ értékeket, ez is kombinálható más primitívekkel.
  • Truncate
  • Az egész tábla tartalmát törli, elég egy oszlopra beállítani.
  • User Defined Function
  • Tetszőleges maszkolási igény megvalósítható tárolt eljárásokkal, melyek ezen primitíven keresztül elérhetők a Data Masking felületén keresztül. Ez is kombinálható más primitívekkel, tehát adott sztring részét is lehetséges ezzel generálni.
  • Delete
  • Törli a feltételnek megfelelő sorokat.
  • Preserve Original Data
  • Feltételnek megfelelő sorokat változatlanul hagy.
  • Post-Processing Function
  • A Data Masking által előállított maszkolt értéket képes tovább feldolgozni, így előállítani egy új értéket. Ezzel szemben a User Defined Function csak az eredeti értéken képes dolgozni.
Mint látható az egyes primitívek ismertetésénél, ezek nagy része kombinálható egymással, illetve támogatja az eszköz a feltétel függő maszkolásokat. Az Data Masking keretrendszere karbantart egy formátum könyvtárat, amelyben van jónéhány Oracle által szállított formátum, de bárki készíthet saját formátumokat, és ezek később újra és újra felhasználhatók bármely adatbázis bármely oszlopának maszkolására.

A maszkolást érdemes egy staging szerveren végrehajtani, hogy a szenzitív adatok átmenetileg se kerüljenek a teszt/fejlesztői környezetbe. Mivel a maszkolási definíciók készítése a Grid Control felületén keresztül lehetséges, ezért fontos kérdés milyen jogosultság kell ehhez. A Grid Control felhasználónak ehhez a következő jogosultságokra van szüksége: connect, resource, select any dictionary and select_catalog_role. Továbbá a Table Column formátum, valamint a User Defined Function formátum használata esetén természetesen jogosultságot kell adni az érintett táblákra és PL/SQL függvényekre is. Ellenben a maszkolási script végrehajtásához akár a GUI-n keresztül, akár parancssorból már DBA jogot kíván, vagy minden egyes érintett objektumra alter, drop és create jogosultsággal kell rendelkezni. No és persze oprendszer felhasználóra is szükség lesz, aki a script futtatására jogosult. Szerencsére az OEM 10g R5 verzióban már meg lehet adni, hogy a script hová kerüljön.

Mindenképp javaslom az Enterprise Manager 10.2.0.5 verzió hasnzálatát Data Masking esetében is, ugyanis számtalan újdonság található ebben, használhatóbb lett az eszköz és például beépített workflow-t tartalmaz az adatbázis klónozásra is, amihez azonban Provisioning Pack licenc is szükséges a Data Masking Pack licenc mellett. A Data Masking Pack licencet azokra a szerverekre kell megvenni, amelyeken a maszkolást végezzük (staging server), illetve ahol a maszkolt adatokat felhasználjuk (teszt/fejlesztői szerverek).

További információk találhatók a doksiban, illetve hasznos segítség lehet az Oracle By Example megfelelő része is. No és persze letölthető a termék adatlapja innen.

Comments:

Szia! A data masking tag-re kattintve 404 oldal jelenik meg. :(

Posted by Imre on május 18, 2011 at 05:38 DE CEST #

Tényleg. Úgy tűnik a blog motor migráció alatt elrontották a több szavas tag-eket, mivel nem csak ez rossz, viszont az egy szavas tag-ek mind jók.

Posted by Sárecz Lajos on május 18, 2011 at 07:11 DE CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
About


Sárecz Lajos vagyok, 2003 óta dolgozok az Oracle Hungary Kft-nél értékesítési tanácsadóként. Szakterületem az Oracle Engineered Systems, azaz olyan szerverek, amelyek hardver és szoftver komponensek előre optimalizált konfigurációja.
A blogon publikált vélemények a saját nézeteimet tükrözik, nem feltétlenül egyeznek meg az Oracle álláspontjával.
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
View Lajos Sárecz's LinkedIn profileView Lajos Sárecz's profile

Search

Archives
« április 2015
HKSzeCsPSzoV
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today