Введение
Решение InfoSphere Optim Data Masking Solution предоставляет функциональные возможности, позволяющие де-идентифицировать данные, которые могут считаться конфиденциальными, например номера социального страхования, или такие бизнес-данные, как объемы доходов. Однако решение InfoSphere Optim Data Masking Solution не поддерживает непосредственное соединение с устройством Netezza. Чтобы осуществить маскирование данных в устройстве Netezza, организация сначала должна установить соединение с помощью InfoSphere Federation Server. Продукт InfoSphere Federation Server предоставляет функциональные возможности, позволяющие коррелировать данные из локальных таблиц и удаленных источников данных точно так же, как будто эти данные хранятся локально в базе данных InfoSphere Federation Server.
Для установления соединения от InfoSphere Federation Server к устройству Netezza можно воспользоваться ODBC-драйвером Netezza. После того, как соединение будет установлено, таблицы из устройства Netezza могут быть отображены на локальную базу данных, находящуюся на сервере InfoSphere Federation Server.
После того, как отображение таблицы будет выполнено, данные из устройства Netezza могут быть извлечены в файл с помощью решения InfoSphere Optim Data Masking Solution. Извлеченные данные могут быть замаскированы с помощью различных встроенных алгоритмов маскировки или специальных маскирующих процедур. Решение InfoSphere Optim Data Masking Solution способно вставить замаскированные данные обратно в устройство Netezza или загрузить их в локальную базу данных, находящуюся в InfoSphere Federation Server. Диаграмма на рисунке 1 показывает, как реализуется соединение между продуктом InfoSphere Federation Server, решением InfoSphere Optim Data Masking Solution и устройством Netezza.
Рисунок 1. Соединение между устройством Netezza Data Warehouse Appliance и решением InfoSphere Optim Data Masking Solution
Установление соединения с устройством Netezza
Настройка соединения ODBC DSN
На компьютере под управлением Microsoft Windows выполните следующие шаги (рисунок 2).
- Установите ODBC-драйвер устройства Netezza.
- Создайте DSN для системы ODBC. Выберите Control panel -> Administrative Tools -> DataSources(ODBC).
Рисунок 2. Конфигурирование соединения с устройством Netezza с помощью инструмента Windows ODBC Data Source Administrator
Подключение к устройству Netezza
Введите информацию о соединении для подключения к устройству Netezza.
- Введите IP-адрес устройства Netezza или его имя хоста (host name).
- Введите имя базы данных, которая содержит информацию, подлежащую де-идентификации.
- Введите имя пользователя/пароль для базы данных Netezza. Примечание. Идентификатор удаленного пользователя - это учетная запись пользователя базы данных Netezza, который имеет разрешение вставлять данные в таблицы базы данных Netezza и обращаться к этим данным.
- Введите имя, которое будет идентифицировать эту конфигурацию источника данных.
- Введите опциональный параметр description (описание) для этой конфигурации.
- Нажмите на кнопку Test Connection для проверки соединения.
- Нажмите OK для выхода.
Настройка InfoSphere Federation Server
Выполните следующие шаги для настройки InfoSphere Federation Server.
- Откройте инструмент Control Center продукта DB2.
- Нажмите правой кнопкой на All Databases и создайте стандартную базу данных, как показано на рисунке 3.
Рисунок 3. Использование InfoSphere Federation Server
(Версия рисунка 3 в более крупном масштабе.)
- Раскройте ранее созданную базу данных. Нажмите на пункт Federated Database Objects и создайте новый упаковщик (Wrapper).
- Для создания ODBC-упаковщика выберите в ниспадающем окне пункт ODBC.
- Нажмите на вкладку Settings. Измените значение DB2_FENCED на Y, а затем нажмите на OK (рисунок 4).
Рисунок 4. Создание упаковщика с помощью InfoSphere Federation Server
- Перейдите: Tools -> Command editor. Выберите базу данных и создайте определение сервера с помощью следующего SQL-кода, приведенного в листинге 1.
Листинг 1. SQL-код для определения сервера
CREATE SERVER "NZSQL"
TYPE ODBC
VERSION '3.0'
WRAPPER "ODBC"
OPTIONS
(DB2_CHAR_BLANKPADDED_COMPARISON 'Y'
,DB2_IUD_ENABLE 'Y'
,DB2_MAXIMAL_PUSHDOWN 'Y'
,DB2_ONE_REQUEST_PER_CONNECTION 'N'
,DB2_POSITIONED_UD 'N'
,DB2_TUPLEID_TYPE 'U'
,DB2_VARCHAR_BLANKPADDED_COMPARISON 'Y'
,IUD_APP_SVPT_ENFORCE 'N'
,NODE 'NZSQL'
,PUSHDOWN 'Y'
,VARCHAR_NO_TRAILING_BLANKS 'Y'
);
|
Примечание. В данном случае NODE-имя должно совпадать с DSN-именем ODBC, посредством которого осуществляется подключение к удаленной базе данных.
- Обновите и раскройте пункт Server Definition.
- Выделите пункт User Mappings. Нажмите на него правой кнопкой и выберите пункт Create.
- На вкладке Settings введите идентификатор и пароль удаленного пользователя, как показано на рисунке 5.
Рисунок 5. Отображения пользователя с помощью InfoSphere Federation Server
Примечание. Идентификатор удаленного пользователя - это учетная запись пользователя базы данных Netezza, который имеет разрешение вставлять данные в таблицы базы данных Netezza и обращаться к этим данным.
- На вкладке Users введите свой идентификатор локального пользователя в разделе Selected User ID.
Создание псевдонимов
Чтобы вставить де-идентифицированные данные (описанные на заключительном шаге) в таблицу, отличную от исходной таблицы, создайте эту таблицу на устройстве Netezza как контейнер. Псевдоним должен содержать имя этой таблицы. Чтобы создать таблицу (customer_masked) с такой же схемой, как у исходной таблицы (customer), подключитесь к базе данных на устройстве Netezza и используйте следующий SQL-запрос, приведенный в листинге 2.
Листинг 2. SQL-запрос для создания таблицы customer_masked
create table customer_masked as select * from customer limit 0;
|
Этот SQL-запрос создаст таблицу с именем customer_masked
на устройстве Netezza.
Для создания псевдонима выполните следующие шаги.
- Выделите Nicknames и нажмите правой кнопкой на Create.
- Нажмите на кнопку Discover, а затем добавьте идентификатор пользователя и пароль для подключения к удаленной базе данных.
- Выберите таблицу (таблицы), которая содержит данные, нуждающиеся в преобразовании, а затем нажмите на OK.
Настройка InfoSphere Optim
Компонент InfoSphere Optim должен быть сконфигурирован следующим образом.
- Откройте Optim Configuration -> Tasks -> Configure the first workstation.
- Введите имя нового каталога Optim и нажмите кнопку Proceed.
- После появления соответствующей подсказки введите параметры соединения с базой данных, строку соединения (совпадающую с именем базы данных DB2), а затем нажмите кнопку Proceed.
Создание DB Alias (псевдоним БД)
- Откройте Optim Configuration -> Tasks -> Create DB alias.
- Введите имя каталога Optim и нажмите кнопку Proceed.
- Введите DB Alias или используйте существующий псевдоним (Existing DB Alias), если он уже был создан ранее (см. рисунок 6), а затем нажмите кнопку Proceed.
Рисунок 6. Создание/обновление псевдонимов БД
- Введите параметры соединения с базой данных, строку соединения (совпадающую с именем базы данных DB2), а затем нажмите кнопку Proceed.
Извлечение данных
Создание Access Definition (определение доступа)
Чтобы извлечь данные, необходимо сначала создать определение доступа (Access Definition). Для этого выполните следующие шаги.
- Откройте InfoSphere Optim -> Definitions -> Access Definition.
- В меню File нажмите на пункт New (рисунок 7), выберите Default Qualifier и начальную таблицу, из которой данные будут извлекаться для преобразования.
Рисунок 7. Создание Access definition
(Версия рисунка 7 в более крупном масштабе.)
- В меню File нажмите на пункт Save.
Создание отображения столбца
После создания определения доступа необходимо осуществить конфигурирование отображения столбца. Для этого выполните следующие шаги.
- В InfoSphere Optim выберите Definitions -> Column Map.
- В меню File нажмите на New, а затем выберите опцию Move/Archive for Validation Rules.
- Как показано на рисунке 8, выберите исходную таблицу, для которой было создано определение доступа. Кроме того, выберите имя целевой таблицы.
Рисунок 8. Создание отображения столбца
(Версия рисунка 8 в более крупном масштабе.)
- Сохраните отображение столбца.
Создание отображения таблицы
Учитывайте следующую информацию об исходных и целевых таблицах.
- Если имя целевой таблицы в определении отображения таблицы совпадает с именем исходной таблицы, то данные будут вставлены в исходную таблицу на устройстве Netezza.
- Если имя целевой таблицы отличается от имени исходной таблицы, а имя целевой таблицы не присутствует в псевдониме, то InfoSphere Federation Server создаст таблицу в базе данных InfoSphere Federation Server, а затем вставит данные в эту таблицу.
- Если имя целевой таблицы отличается от имени исходной таблицы, а имя целевой таблицы присутствует в псевдониме на InfoSphere Federation Server, то данные будут вставлены в целевую таблицу на устройстве Netezza.
Для создания отображения таблицы выполните следующие шаги.
- В InfoSphere Optim выберите Definitions -> Table Map.
- В меню File нажмите на New, а затем выберите определение доступа, которое было сохранено для таблицы.
- Как показано на рисунке 9, выберите Qualifier (описатель) в разделе Destination. (назначение), а затем измените целевую таблицу согласно предпочтительному имени (по желанию). Выберите отображение столбца (нажмите правой кнопкой на List column maps), которое было сохранено для данной таблицы.
Рисунок 9. Создание отображения таблицы
(Версия рисунка 9 в более крупном масштабе.)
- Сохраните отображение таблицы.
Примечание. Чтобы избежать проблем при извлечении данных на следующем шаге, настройте опции продукта: InfoSphere Optim -> Options -> Product.
Извлечение данных
На данном этапе производится извлечение данных из устройства Netezza в файл.
- В InfoSphere Optim выберите Actions -> Extract.
- В меню File нажмите на New, а затем выберите файл, в котором будут находиться извлеченные данные.
- Как показано на рисунке 10, выберите опцию Access Definition, а затем в меню File нажмите на пункт Run.
Рисунок 10. Извлечение данных из источника
Преобразование данных
Конфигурирование отображений столбцов
Следующие шаги описывают конфигурирование отображения столбца, чтобы де-идентифицировать данные для одного столбца или более.
- В InfoSphere Optim выберите Definitions -> Column map.
- Введите применимую функцию для исходных столбцов, а затем осуществите сохранение и выход.
- На рисунке 11 показано использование функций TRANS COL и Shuffle.
Рисунок 11. Конфигурирование отображений столбцов
(Версия рисунка 11 в более крупном масштабе.)
Преобразование данных
Для преобразования данных выполните следующие шаги (рисунок 12).
- В InfoSphere Optim выберите Actions -> Convert.
- Выберите исходный файл (source file), в котором находятся извлеченные данные.
- Выберите контрольный файл (control file) и целевой файл (destination file).
- Выберите опции отображения таблицы (table map options).
- Нажмите на вкладку Report Options и выберите опцию уведомления об ошибках (notify the errors).
- В меню File нажмите на пункт Run.
Рисунок 12. Преобразование данных
Вставка данных
Следующие шаги описывают, как вставить де-идентифицированные данные в исходную таблицу, находящуюся в устройстве Netezza. В качестве альтернативного варианта, данные могут быть вставлены в другую таблицу в устройстве Netezza или в таблицу, находящуюся в базе данных на сервере InfoSphere Federation Server. В разделе Создание отображения таблицы содержится более подробная информация.
- В InfoSphere Optim выберите Actions -> Insert.
- Как показано на рисунке 13, выберите исходный файл, в котором находятся преобразованные данные.
- Выберите файл control file.
- Выберите опцию table map option (Local или Named). Поставьте флажок в контрольном окошке Always View Table Map, чтобы всегда видеть отображения таблиц перед началом вставки.
- Выберите желательные опции process options (опции процесса).
- Нажмите на вкладку Report Options и выберите опцию уведомления об ошибках (notify the errors).
- В меню File нажмите на пункт Run.
Рисунок 13. Вставка данных
Примечание. Рекомендуется обновить статистику, для чего применить SQL-запрос GENERATE STATISTICS к обновленным таблицам, содержащим новые де-идентифицированные данные. Эта операция может повысить производительность обработки запросов.
Заключение
В статье было продемонстрировано использование решения InfoSphere Optim Data Masking Solution для де-идентификации находящихся на устройстве Netezza данных, которые могут рассматриваться как конфиденциальные. Клиентам и разработчикам, использующим устройство Netezza для конфигурирования InfoSphere Optim Data Masking Solution и InfoSphere Federation Server, было бы весьма полезно де-идентифицировать такие данные и вставить их в таблицу, находящуюся на устройстве Netezza или в таблице InfoSphere Federation Server.
Ссылки по теме