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

Dynamické maskování dat založené na proxy v FieldShield

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.


  1. Použití sekvence PostgreSQL v režimu spánku neovlivňuje tabulku sekvencí

  2. Jak GET_FORMAT() funguje v MariaDB

  3. Měla by mít každá tabulka uživatelů seskupený index?

  4. JSON_ARRAY() – Vytvořte pole JSON ze seznamu hodnot v MySQL