sql >> Databáze >  >> RDS >> Database

Maskování dat v DB aplikacích

Ochrana dat v klidu a pohybu

Databázové aplikace, které aktualizují tabulky a dotazují se na ně, mohou potřebovat zabezpečit data, která do těchto tabulek přicházejí nebo jsou z nich načítána. Citlivá data musí být chráněna při vstupu do tabulky, při vstupu do tabulky nebo při výstupu. V každém případě je cílem zabránit neoprávněným osobám v přístupu k určitým hodnotám řádků nebo sloupců, které jsou považovány za citlivé.

Pro normální formu (strukturovaná) data v relačních databázích může samostatný nástroj pro maskování dat IRI FieldShield nebo jeho kompatibilní knihovna volatelných maskovacích funkcí pojmout výše uvedené scénáře a poskytuje mnoho možností pro statické (trvalé, v klidu) i dynamické (v -transit) možnosti maskování dat. Pokud máte také hodnoty PII/PHI plovoucí náhodně v polostrukturovaných a nestrukturovaných sloupcích RDB (jako text, C/BLOB, XML/JSON), přečtěte si tento článek o přístupu IRI DarkShield.

Tento článek se však bude zabývat možnostmi FieldShield, protože většina uživatelů RDB se zabývá hledáním a maskováním pevných hodnot sloupců. Uživatelé FieldShield mohou klasifikovat, vyhledávat a maskovat data v tabulkách DB a pro uživatele aplikací spouštět přes:

  • maskování statických dat na produkčních tabulkách a dynamické odmaskování autorizovanými uživateli aplikace
  • maskovací funkce vložené do úloh transformace, čištění nebo vytváření sestav kompatibilních s metadaty
  • systém dynamické redakce dat založený na proxy
  • prostřednictvím SDK API neboli systémového volání z programu
  • in-situ, prostřednictvím SQL procedur pomocí vlastní knihovny

Pokud jsou vaše data v databázích NoSQL, jako je MongoDB, Cassandra, Elasticsearch nebo MarkLogic, FieldShield by zpracoval strukturované kolekce, zatímco DarkShield by zpracoval strukturované i nestrukturované kolekce.

Ve výchozím nastavení – a způsob, jakým grafické uživatelské rozhraní IRI Workbench prezentuje FieldShield koncovým uživatelům a správcům databází – je jedna nebo více úplných tabulek obvykle zabezpečeno funkcemi maskování statických dat (jako je šifrování, redakce, pseudonymizace) podle obchodních pravidel. Volba každého „štítu pole (sloupce)“ by měla být založena na zabezpečení, realismu, reverzibilitě a možná i na CPU nebo úložišti.

Statický přístup funguje dobře, když jsou data v klidu. Buď může být zdrojová tabulka chráněna, nebo může být vytvořena nová cílová tabulka nebo soubor s aplikovanými ochranami. Aplikace, které načítají chráněná data, se nemusí obávat o bezpečnost, protože jejich datové zdroje byly předem chráněny. Programy FieldShield určené k ochraně dat v klidu lze také naplánovat nebo svolat do dávkových úloh pro pravidelné aktualizace.

V prostředí reálného času, kde aktualizované řádky potřebují dynamickou ochranu, však musí být funkce FieldShield integrovány do datového toku aplikace. Je třeba zvážit několik přístupů:

1) Váš program volá FieldShield
Databáze a další programy, které načítají z tabulek nebo do nich odesílají nová či změněná data, je mohou předávat do funkce API pro šifrování, hashování, kódování nebo redigování rozhraní FieldShield v jazycích C, Java nebo .NET. Data můžete také předávat v pohybu do samostatného programu FieldShield pomocí potrubí nebo vstupní procedury. Kterákoli z těchto metod může naplnit cíle pomocí funkcí ochrany (nebo odhalení) na úrovni sloupců.

2) FieldShield chrání pouze aktualizace
Programy FieldShield lze také přizpůsobit pomocí funkcí /QUERY a /UPDATE nebo podmíněně filtrovat pouze nové záznamy, kde řádky, které mají být chráněny, splňují specifická kritéria, například novost. Volání API by umožnilo ještě podrobnější obchodní logiku a usnadnilo by více podmínek „rychlosti“ (nebo latence) dat – například více maskování dat v reálném čase – protože tyto potřeby lze vyjádřit prostřednictvím aplikace a definovat její logikou. Podívejte se na tento příklad PL/SQL maskování v reálném čase na základě spouštěče.

3) Zachyťte a chraňte delty v CoSort (FieldShield Parent)
Úlohy pro zachytávání změn dat (CDC) lze také naprogramovat v jazyce Sort Control Language (SortCL) společnosti CoSort, načež lze do tabulek nebo souborů předávat pouze vybrané vložení, aktualizace, odstranění nebo nezměněné řádky s aplikovanými ochranami sloupců. Uživatelé CoSortu mají k dispozici všechny ochranné funkce FieldShield, takže v tomto paradigmatu hromadného hlášení je možné maskovat pouze změněná data.

4) Zachycování dotazů na základě proxy
IRI nyní pro aplikace poskytuje speciální ovladač „JDBC SQL Trail“, který filtruje DB dotazy na autorizované uživatele a konkrétní tabulky a sloupce. Ti, kteří nejsou vyňati z definice zásad DDM, uvidí plně nebo částečně redigované hodnoty pouze za letu do této speciálně připojené aplikace z databáze, která zůstane v klidu neskrytá.

5) Vlastní integrace
IRI může spolupracovat s vaším DBA nebo aplikačním programátorem na návrhu řešení na míru, které zahrnuje výše uvedené prvky, nebo na poskytování knihoven FieldShield, které mohou vaše SQL procedury vyvolat in-situ, jako jsou tyto, k ochraně nebo odhalení (šifrování nebo dešifrování) dotazu výsledky, tabulky dotazů, materializované pohledy a tak dále.

Kontaktujte pro pomoc s integrací funkce dynamického maskování dat, jako je redakce nebo šifrování se zachováním formátu, do vaší aplikace.


  1. Dotaz na data z XML

  2. Ekvivalent MySQL HEX() a UNHEX() v Postgresu?

  3. Rychlý tip MySQL:Použití funkce DAYOFWEEK

  4. Jak zkopíruji nebo importuji schémata Oracle mezi dvěma různými databázemi na různých serverech?