Статьи

Практическое руководство по запутыванию данных

Работая с Big Data и Hadoop, в частности за последние тринадцать лет, я научился тому, что данные действительно являются важным активом любой организации, независимо от ее размера. Любое взаимодействие с внешними объектами (клиентами, устройствами IoT и т. Д.) Приводит к получению данных в необработанном виде, будь то поток данных по кликам, данные транзакций или несколько других типов данных. Во-первых, данные должны быть загружены вверх по течению, а затем каким-то образом подготовлены к тому, чтобы быть доступными для последующих читателей — разработчиков, аналитиков и исследователей данных, которые будут преобразовывать данные в бизнес-идеи, которые могут стимулировать инновации и рост.

Первую часть можно считать решенной проблемой, поскольку многие компании предоставляют решения для надежного переноса данных в озеро данных, будь то файловое или потоковое. Что не так просто, так это вторая часть — обеспечение доступа к данным безопасным и контролируемым образом для тех, кто в них нуждается.

Управление данными для облака

Управление данными — это термин, который относится к структуре процессов, применяемых ко всему жизненному циклу данных в организации. В общем, управление данными начинается, когда данные попадают в систему, и заканчивается, когда они удаляются, с широким диапазоном тем, включая очистку данных, их обработку, каталогизацию данных, обнаружение данных и безопасность данных — последняя из которых является основной задачей этой статьи.

Но попытка применить управление данными, концепцию, возникшую в эпоху хранилищ данных, к более поздним инициативам в области больших данных, таким как озеро данных, не всегда работает с соотношением 1: 1. Имея дело с «маленькими» данными, вы были в состоянии преобразовать данные в то, что было необходимо для определенной группы пользователей. Классический ETL (процесс интенсивного извлечения, преобразования и загрузки данных ввода / вывода) может быть неприменим к большим данным, поскольку только физика отменила этот трудоемкий этап подготовки.

Современные системы считывают данные непосредственно из файлов поэтапных данных после того, как они попадают в жизнеспособный формат озера данных, такой как паркет, и очищаются в процессе. С помощью своего собственного мантры движка озера данных у вас теперь есть полдюжины (или больше!) Нисходящих приложений и вычислительные среды, считывающие данные непосредственно из того места, где они находятся. Напишите один раз, прочитайте много — это идеальный вариант для сегодняшних неизменных, но гипермасштабируемых систем хранения файлов и объектов (то есть Apache HDFS, Amazon S3, Microsoft ADLS Gen1 & 2, Google GFS).

Вы также можете быть заинтересованы в: Маскировка данных на практике — часть 1

Стоимость гибкости

В чем же недостаток? Еще раз, это физика, которая в масштабе запрещает размещение данных много раз для каждого варианта использования. Организация с органически развитой системой разрешений найдет единственную причину комбинаторного вызова, чтобы не создавать файлы для каждой необходимой комбинации разрешений. 

Скорее, динамический уровень доступа должен применять разрешение на лету, когда данные читаются аутентифицированным клиентом. И недостаточно просто принять решение «все или ничего» на основе уровня авторизации клиента. Если ваша гранулярность останавливается на файлах, то все, что вы можете применить — это разрешения на уровне файлов, такие как списки контроля доступа (ACL). На практике этого недостаточно, поскольку клиентам требуется доступ на более детальном уровне, включая разрешения на уровне строк и столбцов и даже на уровне ячеек.

Кроме того, предоставление доступа к определенному атрибуту отношения, опять же, является действием «все или ничего». В некоторых ситуациях этого может быть достаточно, например, скрыть столбец, содержащий номера кредитных карт, от группы маркетинга. С другой стороны, аналитик по продажам может захотеть сгруппировать продажи по поставщикам кредитных карт, которые кодируются в первые шесть цифр номера карты и остаются неизменными для всех владельцев конкретной карты и поставщика. Это всего лишь один из примеров информации, позволяющей установить личность (PII), которая имеет интересную ценность, но не должна предоставляться полностью всем, кто хочет проанализировать данные.

Обфускация данных

Это где маскировка данных вступает в игру, которая является задачей преобразования данных таким образом, чтобы их части были изменены в соответствии с политиками управления данными. Например, запутывание данных и анонимизация данных — это методы изменения содержимого чувствительных полей в соответствии с корпоративными правилами конфиденциальности.

Позвольте мне показать вам несколько примеров маскирования данных и в дальнейшем объяснить, где и как они имеют смысл на практике.

Маскировка данных

Самый простой способ запутать данные — это замаскировать или редактировать символы или цифры с фиксированным символом. Это часто используется для номеров кредитных карт, где начальная или конечная цифры перечеркнуты знаком «X». Например, использование маскирующей функции в SQL может выглядеть так:


SQL