Готовясь к намеченному на нынешний год выпуску SQL Server 2016, Microsoft рекламирует новые функции этой СУБД, позволяющие усилить приватность данных.

SQL Server 2016 представляет собой шаг вперед в смысле безопасности баз данных. Помимо созданной подразделением Microsoft Research технологии Always Encrypted, позволяющей SQL Server осуществлять операции над зашифрованными данными, предстоящий релиз СУБД также усиливает приватность данных благодаря новой функции Dynamic Data Masking (DDM), использование которой поможет прятать от посторонних взглядов секретную информацию. В ноябре функция Dynamic Data Masking уже была включена в облачный сервис Azure SQL Database.

Как написал 25 января в корпоративном блоге Ронит Ригер, старший менеджер программы Microsoft SQL Data Security, Dynamic Data Masking не только усиливает безопасность и приватность данных, но и позволяет упростить управление базами данных.

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

Dynamic Data Masking в SQL Server 2016 является встроенным механизмом, ограничивающим доступ к полям данных, в которых содержится секретная информация. Применяя правила для избранных столбцов, администраторы БД могут конфигурировать, в каком виде при запросах будут представляться данные этих столбцов. В сообщении SQL Server Blog приводятся некоторые инструкции и примеры.

«Данные внутри самой базы данных физически никак не меняются; они остаются в нетронутом виде и полностью доступны авторизованным пользователям или приложениям, — заверил Ригер. — СУБД-операции осуществляются как обычно, а замаскированные данные по типу не отличаются от исходных данных, так что DDM часто можно задействовать без всяких изменений в процедурах или коде приложений».

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

Как написал Ригер в сопроводительном FAQ, на производительность баз данных Dynamic Data Masking влияет слабо. «Поскольку маскировка данных осуществляется лишь в конце операции запроса, непосредственно перед моментом возврата запрошенной информации, воздействие на производительность минимально и зачастую ничтожно. Тем не менее, вам следует получить точную оценку влияния на производительность для вашей рабочей нагрузки».

Хотя Dynamic Data Masking поможет скрывать банковскую, персональную или иную конфиденциальную информацию от любопытных глаз разработчиков или ИТ-персонала, это не панацея от всех рисков безопасности, предупреждает Ригер.

«DDM предназначается для того, чтобы упростить сокрытие секретных данных путем централизации логики конкретной базы данных, но эта функция не обеспечивает полную защиту от злонамеренных администраторов, использующих специально составленные максимально широкие запросы, — говорит Ригер. — Dynamic Data Masking дополняет другие функции безопасности SQL Server (аудит, шифрование, Row-Level Security и т. д.), и для лучшей защиты секретных данных DDM настоятельно рекомендуется использовать в связке с ними».