АКТУАЛИЗИРАНЕ:Q2’17 :Включените JDBC и ODBC драйвери и изчакващата естествена обработка на JSON могат да направят връзките по-бързи и по-безпроблемни от подхода, показан по-долу. Г Можете също да използвате Hadoop изданието на IRI Voracity, за да маскирате директно данни в HDFS. Данните, експортирани по начин по-долу в плосък файл в HDFS, могат да бъдат маскирани на ниво поле от модула FieldShield Voracity по същия начин, показан по-долу чрез MapReduce2, Spark, Spark Stream, Storm или Tez без допълнително кодиране.
АКТУАЛИЗИРАНЕ:Q3’19 :Вече налични в IRI DarkShield са естествени готови конектори за Cassandra и MongoDB, които не изискват стъпки за експортиране/маскиране/импортиране и могат да обработват полу- и неструктурирани данни за събиране. Подобно на FieldShield, DarkShield също е наличен (включен) в абонаментите за платформата Voracity. Вижте тази статия с инструкции за намиране и маскиране на PII, плаващ в Cassandra NoSQL DBs. Ако се интересувате от попълването на Cassandra със синтетични тестови данни, вижте тази статия.
DataStax / Cassandra не може да маскира конкретни колони, за да попречи на неоторизирани потребители да виждат лична информация (PII). В тази статия ще покажем как да експортирате данни от база данни на Cassandra в CSV файл и да използвате продукта IRI FieldShield (наличен също в платформата IRI Voracity) за рандомизиране, маскиране и криптиране на данните в този CSV файл. След това ще импортираме тези данни обратно в Cassandra, актуализирани и защитени. Друга статия е планирана след пускането на по-директната връзка на IRI с базата данни.
В нашия пример имаме таблица с информация за учениците в DataStax. Колоните са:id_num (първичния ключ), отличия, semester_hours, socsecnum (номер за социална сигурност) и user_id.
За да деидентифицираме всеки студент, ще подредим на случаен принцип техните semester_hours, ще маскираме техния socsecnum и ще криптираме стойността на user_id, така че PII на всеки ученик да бъде защитена.
Незащитени данни в Cassandra
За нашите примери за команден ред използваме обвивката DataStax Cassandra CQL.
Експортиране на таблица на Cassandra в CSV файл
За да експортирате таблица на Cassandra в CSV файл, изпълнете следната команда от CQL обвивката на Cassandra:
COPY <Exporting Table> TO '<File Path to the CSV you exporting to>' WITH HEADER=TRUE;
Отваряне и дефиниране на CSV източник
- От горната лента с инструменти на графичния интерфейс на IRI Workbench за FieldShield (изграден върху Eclipse) намерете иконата FieldShield и изберете „Нова задача за защита“, за да стартирате съветника. Наименувайте файла си за работа „CassShieldJob.fcl“ и щракнете върху „Напред“.
- Щракнете върху „Добавяне на източник на данни“ и след това върху „Преглед“ до CSV файла, който сте създали с експортирането си. След това щракнете върху „OK“.
- Щракнете върху „Открийте метаданни“ и наименувайте (файла с дефиниране на данни за повторно използване) „StudentsMeta.ddf“ и щракнете върху „Напред“. Щракнете върху „Да“ за автоматично откриване и „Вземете имена на полета от заглавния ред“, преди да щракнете върху „OK“, след това върху „Край“.
- Сега трябва да виждате полетата си в списъка с източници на данни. Кликнете върху „Напред“.
Прилагане на защитите
- Щракнете върху „Добавяне на цел за данни“ и прегледайте, за да създадете нов CSV файл цел, който да съхранява защитената версия на данните (или за да презапишете източника, използвайте същия път/файл. След това кликнете върху „Целево поле“. Оформление“, за да прегледате оформлението и да приложите защитите към изходните полета. Има две списъчни полета; в горната част са показани изходните полета, а долната показва целевите полета, към които ще приложите полето „щитове“.
- Рандомизиране semester_hours: Изберете името на полето semester_hours в целевия екран и щракнете върху „Защита на полето“. Изберете Генериране на произволна стойност и за тип изберете Цифра. Задайте произволния минимален и максимален размер на 2 и щракнете върху OK.
- Маскиране на socsecnum:Изберете полето socsecnum и щракнете отново върху „Защита на полето“. Изберете Маскиране и изберете опцията за SSN по подразбиране за САЩ, за да изложите само последните четири цифри от SSN. Щракнете върху „OK“.
- Шифроване на user_id:Изберете user_id и щракнете отново върху „Защита на полето“. Изберете Шифроване и декриптиране и изберете enc_fp_aes256_alphanum за запазване на формат криптиране. Въведете пропуск (ключът за декриптиране) и в полето Изключване въведете „User_“, за да предотвратите шифроването на частта User_ от нашето потребителско име, след което кликнете върху „Край“.
- Полетата, които трябва да бъдат защитени, трябва да се показват, както следва:
Щракнете върху „OK“ и след това върху „Finish“, за да видите действителния (изпълнима задача) скрипт, създаден за вас:
Изпълнете заданието в IRI Workbench или на командния ред,
fieldshield /spec=CassShieldJob.fcl
Създаденият от вас CSV файл ще съдържа новите маскирани и шифровани данни.
Импортиране на защитените данни в Cassandra
За да импортирате обратно променените данни в Cassandra, използвайте следната команда в CQL обвивката на Cassandra:
COPY <Table you are importing data to> (field1fromCSV, field2fromCSV, ...) FROM '<Path to CSV>';
Защитени данни в Cassandra
За подробности относно възможностите на FieldShield вижте http://www.iri.com/products/fieldshield/technical-details.