Tento článek popisuje metodu dynamického maskování dat (DDM), která je dostupná pro prémiové weby IRI FieldShield, která používá systém založený na proxy pro zachycování aplikačních dotazů do databází připojených k JDBC. Je to jeden z několika přístupů k maskování dat za letu, který mohou uživatelé FieldShield zvážit.
Mezi další možnosti IRI DDM patří:Funkce FieldShield volatelné pomocí API zabudované do programů C/C++/C#, Java nebo .NET; funkce FieldShield v reálném čase vložené do procedur SQL, které vytvářejí maskované pohledy; a dynamické odmaskování staticky maskovaných tabulek pro autorizované uživatele.
Zde představený systém založený na proxy používá pro daný účel vhodný databázový ovladač „JDBC SQL Trail“ ve spojení s webovou aplikací pro konfiguraci a správu nazvanou SQL Sharp (SQL#). Tento diagram ukazuje architekturu systému před a po implementaci:
Tato aplikace aktuálně podporuje následující platformy relačních databází:
- Oracle 11g, 12c, 18/19c
- PostgreSQL 9.5, 9.6, 10, 11
- MS SQL 2014, 2016
- SAP HANA 2.0
a vyžaduje následující součásti třetích stran:
- MS Windows 7, 10 nebo Server 2012 a novější (testováno).
- Java JDK a JRE 1.8 nebo novější.
- Tomcat 8.5 nebo vyšší pro spuštění webového serveru SQL#.
- Moderní webový prohlížeč, například:
- Google Chrome
- Mozilla Firefox
- Apple Safari
- Microsoft Edge
- Oracle nebo PostgreSQL jako databáze úložiště pro uložení:
- Konfigurace uživatelů a skupin SQL#
- Ovládací prvky přístupu k databázi a aktivity
- Zásady maskování dynamických dat
- Protokoly auditu SQL
Jak to funguje?
V rámci webové aplikace SQL# vytváříte zásady maskování dat pro redigování hodnot sloupců za letu pro všechny uživatele kromě autorizovaných připojujících se k databázi prostřednictvím ovladače JDBC SQL Trail. Tento ovladač musíte nainstalovat a nakonfigurovat pro každou instanci databáze, kterou chcete chránit.
Zásady DDM definují, které tabulky a sloupce se mají maskovat, a jak se maskované hodnoty zobrazí. Jakmile je systém správně nakonfigurován, budou všechny dotazy připojené prostřednictvím ovladače podléhat zásadám maskování.
Je také možné definovat zásady pro zablokování uživatelů v přihlášení a určitých aktivitách SQL. Je vytvořen úplný protokol přihlášení a auditu aktivity SQL, který lze zobrazit v SQL#.
Ovladač nerozlišuje mezi uživateli aplikace pro účely blokování, maskování nebo auditování. Můžete však autorizovat specificky pojmenované uživatele – vytváření alternativních připojení aplikačního serveru k DB prostřednictvím stejného ovladače – aby viděli data odmaskovaná.
Vytvoření zásad maskování
Chcete-li vytvořit zásadu maskování v SQL#, použijte Zásadu maskování kartě SQL# Execute Management obrazovka. Vyberte + ikonu (Přidat) napravo od Seznamu pravidel maskování štítek.
Dejte pravidlu maskování název a volitelný popis. Poté si můžete vybrat typ masky, která se použije z Masing Regex: v rozevíracím seznamu Přidat pravidlo maskování dialog.
První tři možnosti jsou předdefinované, zatímco Regex vám umožňuje definovat vlastní formát maskování. Klikněte na + ikonu (Přidat) napravo od TAB/COL label k přidání jedné nebo více kombinací tabulek a sloupců, k určení, které datové hodnoty budou maskovány.
Po vytvoření každé kombinace tabulky a sloupců klikněte na Přidat tlačítko uprostřed dialogu pro jejich zařazení do seznamu. Po dokončení zadávání umístění tabulek a sloupců klikněte na Přidat tlačítko ve spodní části pro přidání umístění do Přidat pravidlo maskování dialog.
Nakonec klikněte na Uložit v dolní části Přidat pravidlo maskování po dokončení maskovacího pravidla. V tomto okamžiku všichni uživatelé, kteří jsou nakonfigurováni pro přístup k datům, uvidí maskované hodnoty při připojení přes proxy ovladač JDBC SQL Trail.
Chcete-li uživateli povolit zobrazení odmaskovaných dat, musíte je přidat do Seznamu odmaskovaných uživatelů , jak je popsáno níže.
Udělování oprávnění uživatelům
V rámci stejných zásad maskování kartě SQL# Execute Management obrazovka. Klikněte na + ikonu (Přidat) napravo od Seznamu odmaskovaných uživatelů označení. Zobrazí se Vyhledat uživatele dialog, kde můžete vybrat jednoho nebo více uživatelů, pro které nebudou maskovány dotazy do vybraných sloupců a tabulek.
Klikněte na Uložit ve spodní části dialogu, až dokončíte výběr uživatelů.
Použití SQL# a SQL Trail z DB aplikací
V tomto příkladu bude naší databázovou aplikací IRI Workbench, prostředí pro návrh front-end úloh Eclipse pro Voracity, FieldShield a další softwarové produkty IRI.
Chcete-li svým aplikacím povolit řízení SQL a dynamické maskování dat pomocí serveru proxy SQL# a ovladače JDBC SQL Trail, budete muset aktivovat SQL# prostřednictvím serveru Tomcat a jeho proxy serveru. Musíte také nakonfigurovat ovladač JDBC SQL Trail v zobrazení Průzkumník zdrojů dat IRI Workbench a také zásady DDM v SQL#, jak je popsáno výše.
Zde je pohled na instanci Oracle připojenou prostřednictvím ovladače JDBC SQL Trail.
Všimněte si, že všechny běžné databázové operace a průvodci úlohami IRI budou nadále fungovat prostřednictvím tohoto připojení. To také znamená, že jakákoli neoprávněná aktivita z IRI Workbench bude zablokována a všechny SQL příkazy zadané odtud do připojené databáze budou zaznamenány do SQL# audit logu.
Toto je dotaz Workbench na tabulku ORDERS, která byla zásadně nakonfigurována pro DDM v SQL#:
vs. stejný dotaz spuštěný oprávněným uživatelem, který zobrazuje původní nezamaskovaná data:
Mezitím zpět v sekci protokolování aplikace SQL# můžete vidět náš záznam dotazu:
z IP adresy IRI Workbench.