sql >> Databasteknik >  >> NoSQL >> MongoDB

Maskering av PII i MongoDB, Cassandra och Elasticsearch med DarkShield:...

Den här artikeln visar användningen av IRI DarkShield för att identifiera och åtgärda (maskera) personligt identifierbar information (PII) och annan känslig data i MongoDB-, Cassandra- och Elasticsearch-databaser. Även om dessa steg huvudsakligen fokuserar på att hitta och skärma data i MongoDB-samlingar, kan samma steg användas för data i Cassandra-tabeller också. Se den här artikeln om Elasticsearch också.

Observera att den här artikeln representerar den fjärde metoden som IRI stöder för att maskera data i MongoDB, och den andra metoden för Cassandra. Dessa tidigare och fortfarande stödda metoder förlitar sig på strukturerad dataupptäckt och avidentifiering via IRI FieldShield, medan DarkShield-metoden stöder textdata i antingen strukturerade eller ostrukturerade samlingar. Även om DarkShield och FieldShield är fristående IRI-datamaskeringsprodukter, ingår båda i IRI Voracitys datahanteringsplattform.

Den senaste metoden använder vissa delar av Dataklassificering , ett integrerat datakatalogiseringsparadigm för att definiera de sökmetoder som används för att hitta PII oberoende av datakällan. Även om den här artikeln ger en liten introduktion till dataklassificering under steg 1, kan du tycka att det är användbart att läsa om hur dataklassificering passar in i vår enhetliga metod för att utföra sökningar. För mer information om dataklassificering i IRI Workbench frontend för DarkShield et al, läs den här artikeln innan du fortsätter.

Identifieringen och saneringen av PII med IRI DarkShield innefattar fyra allmänna steg:

(Valfritt) Steg – Registrera dina datakällor

I detta (valfria) steg registreras datakällor för en Mongo-databas, Cassandra-nyckelutrymme eller Elasticsearch-kluster. Detta gör att datakällor kan återanvändas. Som ett resultat av detta är det här steget valfritt om den önskade datakällan redan finns i registret eller om du planerar att definiera dem från guiden.

Steg 1 – Ange sökparametrar

Här väljs alla aspekter av en sökning. Först ställs en käll- och målinsamling/-tabell upp baserat på dataanslutningen som anges i registret eller skapas i guiden. Sedan kan du ange sök- och korrigeringskriterierna för dina data med hjälp av sökmatchare vilken typ av information du ska leta efter och hur informationen ska åtgärdas. Resultatet av detta steg är en .sökning fil.

Steg 2 – Gör en sökning

En sökning kan köras från en .search fil. Resultatet är en .darkdata fil som kommenterar eventuella identifierade PII.

Steg 3 – Sanering (maskering)

Sanering kan göras från en .darkdata fil. Alla identifierade PII kommer att åtgärdas på det sätt som specificerades när sökningen skapades.

(Valfritt) Steg – Registrera dina datakällor

Som ett förutsättningssteg måste du registrera anslutningarna till dina onlinedatakällor (och mål) i URL Connection Registry, som finns i Preferences> IRI> URL Connection Registry dialog i IRI Workbench.

Alla URL-anslutningar, inklusive URI-anslutningssträngar för MongoDB, Cassandra och Elasticsearch kan sparas. Detta gör att webbadresser, autentiseringsuppgifter och eventuella ytterligare parametrar kan sparas och lagras av IRI Workbench för framtida användning.

Steg 1 – Ange sökparametrar (Skapa .Search-fil)

I IRI Workbench IDE for DarkShield väljer du New Database Discovery Job från DarkShield-menyn. Välj en projektmapp och ange ett namn för jobbet:

Ange en källa och mål

Alla Mongo-, Cassandra- eller Elasticsearch-URL som tidigare skapats och sparats i registret kan nås från URI rullgardinsmenyn för både käll- och målväljarna. Namnet på motsvarande MongoDB-samling, Cassandra-tabell eller Elasticsearch-index måste också anges:

En ny URI kan också skapas genom att trycka på Ny knapp. Detta öppnar dialogrutan URL-anslutningsdetaljer. Ange ett namn för anslutningen, välj önskat schema, ange värden och ange databasen. Om ingen port finns kommer standardporten för schemat att antas.

Ett användarnamn och lösenord kan också tillhandahållas om databasen kräver auktorisering. Alla nya URL-anslutningar sparas i URL-anslutningsregistret och kan återanvändas som mål.

När en källa har specificerats kan du fortsätta till nästa sida för att välja eller skapa en mål-URI. Schemat för mål-URI kommer att begränsas till den valda käll-URI, så en MongoDB-källa kan bara skickas till ett annat MongoDB-mål, och på liknande sätt för Cassandra eller Elasticsearch.

När ett maskeringsjobb körs kommer alla rader i källan att läggas till målet, och alla rader med matchande nycklar kommer att skrivas över. För Cassandra, se till att måltabellsschemat är kompatibelt med data från källtabellen.

Lägga till sökmatchare

När både en källa och mål har angetts kan du gå till nästa sida för att lägga till sökmatchare. Välj en biblioteksplats som innehåller alla mönster eller regelbibliotek som du vill använda och klicka på Lägg till för att lägga till en ny sökmatchare.

KeyNameMatcher

Den första sökmatcharen som vi kommer att skapa kommer att användas för att matcha hela värdet som motsvarar valfri "namn"-nyckel som finns i godtyckligt kapslade json-strukturer och tillämpa en formatbevarande krypteringsalgoritm för att maskera den. Vi kan uppnå detta genom att skapa ett JSON-sökvägsfilter "$..name". Mer information om JSON-sökvägar finns här.

Eftersom MongoDB-samlingar, Cassandra-tabeller och Elasticsearch-index analyseras av DarkShield som json-dokument, kan filtret tillämpas på båda för att maskera vilket värde som helst som motsvarar valfri "namn"-nyckel.

För att matcha innehållet i den filtrerade datan måste vi skapa en ny Dataklass . En dataklass representerar PII och tillhörande matchare som används för att identifiera den. Dessa matchningar kan inkludera valfri kombination av:

  • mönster för reguljära uttryck
  • Ställ in filordboksuppslag
  • Erkännande av namngivna enheter
  • Bounding Box Matchers (endast bilder)
  • Ansiktsigenkänning (endast bilder)

Du kan definiera dataklasser i guiden eller genom att öppna Dataklasser och grupper sidan i IRI-inställningar . Dataklasserna som definieras i inställningarna kan användas i både FieldShield och DarkShield för andra datakällor, inklusive strukturerad och ostrukturerad data.

Vi kan skapa en associerad ALLT Dataklass för denna matchare som kommer att matcha på hela innehållet i värdet, eftersom vi är ganska säkra på att allt vi hittar i värdena är namn. Du kan använda uppslagna filuppslagningar som innehåller en ordlista med namn om du är osäker på innehållet i dina "namn"-nycklar eller om du bara vill maskera en delmängd av namn.

För Regelnamn fältet i KeyNameMatcher, kan vi välja en befintlig dataregel från den biblioteksplats vi har valt, eller skapa en ny regel som använder Format Preserving Encryption (FPE), till exempel:

För att skapa en FPE-regel, klicka på Skapa bredvid Regelnamn fältet väljer du Krypterings- eller dekrypteringsfunktioner från Data Rule Wizard som visas:

Ange en lämplig lösenfras som ska fungera som din krypterings-/dekrypteringsnyckel, vilket kan vara en explicit sträng, miljövariabel eller namnet på en säker fil som innehåller den strängen.

EmailsMatcher

Efter att ha avslutat den föregående dialogrutan och skapat vår nya KeyNameMatcher kan vi lägga till ytterligare en sökmatchare för e-postadresser. Klicka bara på Lägg till för att skapa en annan sökmatchare att lägga till i listan.

IRI Workbench kommer förladdat med en EMAIL Dataklass som kan väljas genom att klicka på Bläddra bredvid Dataklassnamn och välj EMAIL från rullgardinsmenyn.

För dataregeln kan du välja den FPE-regel som du har skapat för den tidigare sökmatcharen genom att klicka på Bläddra bredvid Regelnamn eller skapa ett nytt med en av de många tillgängliga maskeringsfunktionerna. Jag skapade en enkel dataredaktionsfunktion som ersätter hela e-postmeddelandet med asterisker.

Din sökmatchare kan nu läggas till i listan genom att klicka på OK.

NamesMatcher

Vår senaste sökmatchning kommer att användas för att hitta namn i friflytande text. För detta kommer vi att använda Named Entity Recognition (NER) för att hitta namn med hjälp av meningens sammanhang. För att börja måste vi klicka på Lägg till för att skapa en ny sökmatchare och skapa en ny dataklass som heter NAMES_NER:

För att skapa en NAMES_NER Dataklass måste vi först ladda ner modellen Person Name Finder, en-ner-person.bin , från OpenNLP sourceforge-förrådet. Klicka sedan på Lägg till för att lägga till en ny matchare, välj NER-modell från rullgardinsmenyn. Klicka på Bläddra och navigera till platsen för den nedladdade modellen; till exempel:

När du har skapat den nya dataklassen klickar du på OK och välj FPE-dataregeln som du definierade tidigare för att avsluta skapandet av sökmatcharen:

Observera att vår NamesMatcher och KeyNameMatcher kan ha överlappande matchningar. Om detta händer väljer DarkShield den längsta tillgängliga matchningen och tar bort alla andra överlappande matchningar. På så sätt behöver du inte oroa dig för att DarkShield ska tillämpa en maskeringsfunktion på redan maskerade värden.

När du har lagt till alla önskade matchare klickar du på Slutför för att skapa en .search fil.

Den genererade .search fil kan inspekteras för att visa detaljer om en sökning. Detta inkluderar käll- och mål-URI och information om alla matchare.

Steg 2 – Gör en sökning (Skapa en .Darkdata fil)

Slutför Dark Data Discovery Job guiden genererar en ny .sökning konfigurationsfil. Den filen innehåller alternativen vi valt, inklusive källan och målet för vår data, och sökmatchningarna som kommer att användas för att tagga PII för upptäckt, leverans, radering och/eller avidentifiering.

För att börja sökningen, högerklicka på .search fil, välj Kör som, och välj antingen IRI Sök jobb eller IRI Sök och åtgärda jobb .

Sök kommer bara att göra en sökning medan Sök och åtgärda kommer också att försöka maskera (eller radera) alla identifierade data. Båda kommer att generera en .darkdata fil som identifierar eventuella data av intresse.

Källan jag använde var fylld med slumpmässigt genererade värden, så det är ingen skada att dela den genererade .darkdata fil här. Men när de hanterar faktiskt känslig information bör användarna försäkra sig om .darkdata filen är inte exponerad och arkiveras eller tas bort på ett säkert sätt efter att åtgärden har slutförts för att förhindra PII-läckage. IRI kommer att lägga till ett karantänalternativ för att lagra .darkdata fil och motsvarande sökartefakter på en säker plats; kontakta [email protected] för detaljer om denna planerade funktion.

Steg 3 – Sanering (maskering)

Återigen kan datamaskering eller radering utföras under sökoperationer via Sök och åtgärda alternativet i guiden Dark Data Discovery. Men om du bara vill undersöka identifierad information och åtgärda den senare, kör maskeringsjobben från .darkdata fil som skapas i sökningen (steg 2) på detta sätt: 

Högerklicka på .darkdata fil, för muspekaren över Kör som och klicka på IRI Remediate Job . När jobbet körs bör den åtgärdade informationen visas i måldatabasen.

Här är ett exempel som visar ett före och efter av en liten MongoDB-databassamling med hjälp av Workbench-kommandotolken för att komma åt den lokala Mongo-servern:

SLUTSATS

I den här artikeln demonstrerade vi nya IRI-förmåga att komma åt ostrukturerad data i Mongo-databaser, Cassandra-nyckelrymder och Elasticsearch-kluster med hjälp av flera sökmatchare i IRI DarkShield. Du kan kontrollera den genererade .darkdata modell för att se sökresultaten som hittades och åtgärdades, och kontrollera din databas för att se de uppdaterade tabellerna/samlingarna.

  1. Om PII är inbäddat i binära objekt i dina MongoDB-, Cassandra-, Elasticsearch-samlingar kan vi hjälpa till att automatisera deras extrahering till fristående filer för DarkShield-sökning/maskoperationer och deras återimport.
  2. IRI Workbench IDE, byggd på Eclipse™, gränsar för all FieldShield, DarkShield och relaterad datamaskering – och bredare datahanteringsmöjligheter – i IRI Voracity-plattformen.
  3. URL-anslutningsregistret används för att konfigurera och spara URL-baserade datakällor som används i DarkShield-sökning/mask och CoSort/SortCL (Voracity) ETL-operationer; t.ex. HDFS, Kafka, S3 buckets, MongoDB, S/FTP. Det här registret liknar, men inte identiskt, med Data Connection-registret i IRI Workbench för relationsdatabaskällor där ODBC DSN:er bryggas till motsvarande JDBC-anslutningsprofiler till förmån för jobbguider som utnyttjar båda anslutningarna.
  4. En sökmatchare är en koppling mellan en Dataklass , som används för att definiera sökmetoden för att hitta och klassificera PII, och en Dataregel som kommer att tillämpas på alla instanser av dataklassen som finns i samlingen eller tabellen. Dessutom låter Search Matchers dig definiera filter som kan användas för att minska sökningens omfattning. Detta är särskilt användbart i Mongo-samlingar, Cassandra-tabeller och Elasticsearch-index eftersom nyckelnamnet kan vara indikativt för PII som lagras i motsvarande värde.

  1. Kan inte ansluta Redis Cluster i Elasticache till PHP med hjälp av phpredis-biblioteket

  2. Varför får jag denna föråldrade varning?! MongoDB

  3. MongoDB - Dra flera objekt från en array

  4. Hur kan jag köra MongoDB som en Windows-tjänst?