Перейти к основному содержимому

Функции и процедуры методов обфускации данных

В разделе представлены функции и процедуры функциональности обфускации данных и ее методов.

Динамическое маскирование

В разделе представлены функции и процедуры методов динамического маскирования.

Частичное маскирование

Функции метода частичного маскирования:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.partialov text, prefix integer, padding text, suffix integertextЧастичное маскирование текстовых данных
FUNCTION anon.partial_emailov texttextЧастичное маскирование e-mail

Искажение

Функции метода искажения:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.noisenoise_value anyelement, ratio double precisionanyelementИскажение с числовым интервалом
FUNCTION anon.dnoisenoise_value anyelement, noise_range intervalanyelementИскажение с интервалом дата/время

Обобщение

Функции обобщения:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.generalize_daterangeval date, step text DEFAULT 'decade'::textdaterangeОбобщение для типа данных date
FUNCTION anon.generalize_int4rangeval integer, step integer DEFAULT 10int4rangeОбобщение для типа данных integer
FUNCTION anon.generalize_int8rangeval bigint, step bigint DEFAULT 10int8rangeОбобщение для типа данных bigint
FUNCTION anon.generalize_numrangeval numeric, step integer DEFAULT 10numrangeОбобщение для типа данных numeric
FUNCTION anon.generalize_tsrangeval timestamp without time zone, step text DEFAULT 'decade'::texttsrangeОбобщение для типа данных timestamp
FUNCTION anon.generalize_tstzrangeval timestamp with time zone, step text DEFAULT 'decade'::texttstzrangeОбобщение для типа данных timestamptz

Рандомизация

Функции метода рандомизации:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.random_bigint_betweenint_start bigint, int_stop bigintbigintРандомизация для типа данных bigint
FUNCTION anon.random_date-timestamp with time zoneГенерация случайной даты
FUNCTION anon.random_date_betweendate_start timestamp with time zone, date_end timestamp with time zonetimestamp with time zoneГенерация случайной даты в диапазоне
FUNCTION anon.random_hashseed texttextГенерация случайного хеша
FUNCTION anon.random_ina anyarrayanyelementГенерация случайного значения из массива
FUNCTION anon.random_in_dateranger daterangedateГенерация случайной даты из диапазона
FUNCTION anon.random_in_enumelement anyelementanyelementГенерация случайного значения ENUM
FUNCTION anon.random_in_int4ranger int4rangeintegerГенерация случайного значения в диапазоне integer
FUNCTION anon.random_in_int8ranger int8rangebigintГенерация случайного значения в диапазоне bigint
FUNCTION anon.random_in_numranger numrangenumericГенерация случайного значения в диапазоне numeric
FUNCTION anon.random_in_tsranger tsrangetimestamp without time zoneГенерация случайного значения в диапазоне tsrange
FUNCTION anon.random_in_tstzranger tstzrangetimestamp with time zoneГенерация случайного значения в диапазоне tstzrange
FUNCTION anon.random_inn10-textГенерация случайного значения ИНН юридического лица (с вычислением контрольной суммы)
FUNCTION anon.random_inn12-textГенерация случайного значения ИНН физического лица (с вычислением контрольной суммы)
FUNCTION anon.random_int_betweenint_start integer, int_stop integerintegerГенерация случайного значения в диапазоне integer
FUNCTION anon.random_ogrn-textГенерация случайного значения ОГРН юридического лица (с вычислением контрольной суммы)
FUNCTION anon.random_ogrnip-textГенерация случайного значения ОГРН физического лица (с вычислением контрольной суммы)
FUNCTION anon.random_phonephone_prefix text DEFAULT '0'::texttextГенерация случайного значения телефонного номера с заданным префиксом
FUNCTION anon.random_snils-textГенерация случайного значения СНИЛС физического лица (с вычислением контрольной суммы)
FUNCTION anon.random_stringl integertextГенерация случайного значения слова заданной длины (заглавная латиница + цифры)
FUNCTION anon.random_zip-textГенерация случайного значения почтового индекса
FUNCTION anon.lorem_ipsumparagraphs integer DEFAULT 5, words integer DEFAULT 0, characters integer DEFAULT 0textГенерация случайного значения текста заданной длины

Фальсификация

Функции метода фальсификации:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.fake_address-textФальсифицированный адрес
FUNCTION anon.fake_city-textФальсифицированный город
FUNCTION anon.fake_company-textФальсифицированная компания
FUNCTION anon.fake_country-textФальсифицированная страна
FUNCTION anon.fake_email-textФальсифицированный e-mail
FUNCTION anon.fake_first_name-textФальсифицированное имя
FUNCTION anon.fake_iban-textФальсифицированный IBAN
FUNCTION anon.fake_inn-textФальсифицированный ИНН
FUNCTION anon.fake_last_name-textФальсифицированная фамилия
FUNCTION anon.fake_middle_name-textФальсифицированное отчество
FUNCTION anon.fake_ogrn-textФальсифицированный ОГРН
FUNCTION anon.fake_personal_namemask text DEFAULT '%1$s %2$s %3$s'::texttextФальсифицированное ФИО (по маске, где: %1 - Имя, %2 - Фамилия, %3 - Отчество )
FUNCTION anon.fake_postcode-textФальсифицированный почтовый индекс
FUNCTION anon.fake_siret-textФальсифицированный SIRET
FUNCTION anon.fake_snils-textФальсифицированный СНИЛС

Псевдонимизация

Функции метода псевдонимизации:

Для всего блока:

  • seed - исходное значение;
  • salt - соль. Если не задана — используется GUC anon.salt, иначе - null.
ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.pseudo_addressseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный адрес
FUNCTION anon.pseudo_cityseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный город
FUNCTION anon.pseudo_companyseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированная компания
FUNCTION anon.pseudo_countryseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированная страна
FUNCTION anon.pseudo_emailseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный e-mail
FUNCTION anon.pseudo_first_nameseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированное имя
FUNCTION anon.pseudo_ibanseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный IBAN
FUNCTION anon.pseudo_innseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный ИНН
FUNCTION anon.pseudo_last_nameseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированная фамилия
FUNCTION anon.pseudo_middle_nameseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированное отчество
FUNCTION anon.pseudo_ogrnseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный ОГРН
FUNCTION anon.pseudo_personal_nameseed anyelement, salt text DEFAULT NULL::text, mask text DEFAULT '%1$s %2$s %3$s'::texttextПсевдонимизированное ФИО (по маске, где: %1 - Имя, %2 - Фамилия, %3 - Отчество)
FUNCTION anon.pseudo_postcodeseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный почтовый индекс
FUNCTION anon.pseudo_siretseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный SIRET
FUNCTION anon.pseudo_snilsseed anyelement, salt text DEFAULT NULL::texttextПсевдонимизированный СНИЛС

Хеширование текстовых данных

Функции метода хеширования тестовых данных:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.hashseed texttextХеш текста
FUNCTION anon.digestval text, salt text, algorithm texttextХеш текста (с выбором соли и алгоритма)

Статическое маскирование

В разделе представлены функции и процедуры методов статического маскирования.

Перестановка

Функции метода перестановки:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.shuffle_columnshuffle_table regclass, shuffle_column name, primary_key namebooleanГенерация колонки с перестановкой элементов

Искажение

Функции метода искажения:

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.add_noise_on_datetime_columnnoise_table regclass, noise_column text, variation intervalbooleanИскажение временного типа
FUNCTION anon.add_noise_on_numeric_columnnoise_table regclass, noise_column text, ratio double precisionbooleanИскажение числового типа

Реализация правил динамического маскирования в статическом режиме

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.anonymize_columntablename regclass, colname namebooleanМаскирование атрибута
FUNCTION anon.anonymize_database-booleanМаскирование базы данных
FUNCTION anon.anonymize_tabletablename regclassbooleanМаскирование таблицы

Служебные функции и процедуры

Для всего блока приводятся описания только объектов, предназначенных для пользовательского пространства.

ОбъектАргументы, атрибутыВозвращаемое значениеОписание
FUNCTION anon.build_anonymize_column_assignmenttablename regclass, colname nametextСоздание маппинга имя колонки = замена
FUNCTION anon.column_existstable_relid regclass, column_name namebooleanАналог функции concat. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.concattext, texttextАналог функции date_add. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.date_addtimestamp with time zone, intervaltimestamp with time zoneАналог функции date_part. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.date_parttext, timestamp without time zonedouble precisionАналог функции date_part. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.date_parttext, intervaldouble precisionАналог функции date_subtract. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.date_subtracttimestamp with time zone,intervaltimestamp with time zoneАналог функции date_trunc. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.date_trunctext, timestamp without time zonetimestamp without time zoneАналог функции date_trunc. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.date_trunctext, intervalintervalАналог функции date_trunc. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.date_trunctext, timestamp with time zone, texttimestamp with time zoneАвтодетектирование масок анонимизации для предопределенной локали. Используются атрибуты всех отношений текущей БД, за исключением служебных схем и схемы, определенной GUC anon.maskschema. Поиск ведется по соответствию имени атрибута, локали в anon.identifier. Категория и маскирующая функция определяется по anon.identifier_category
FUNCTION anon.detectdict_lang text DEFAULT 'en_US'::textTABLE(table_name regclass, column_name name, identifiers_category text, direct boolean)-
FUNCTION anon.get_attrdefrelid integer, num integertext-
FUNCTION anon.get_function_schematexttext-
FUNCTION anon.get_relnamet texttext-
FUNCTION anon.get_schemat texttext-
FUNCTION anon.get_tablesample_ratiorelid oidtext-
FUNCTION anon.hasmaskrole regrole, masking_policy text DEFAULT 'anon'::textboolean-
FUNCTION anon.hex_to_inthexval textinteger-
FUNCTION anon.init-booleanИнициализация расширения. Локаль инициализации должна быть выбрана перед запуском. При инициализации загружаются таблицы псевдонимизации, случайно генерируются заполнение таблиц ИНН, ОГРН, СНИЛС. При инициализации случайно выбираются до 2500 значений ФИО по соответствию пола
FUNCTION anon.initdatapath textbooleanИнициализация расширения с возможностью задания собственного пути расположения csv-данных таблиц псевдонимизации
FUNCTION anon.init_masking_policies-boolean-
FUNCTION anon.is_initialized-boolean-
FUNCTION anon.k_anonymityrelid regclassintegerПолучение идентификаторов K-Anonymity для отношения. Процедура производит оценку стойкости идентификаторов для отношения
FUNCTION anon."left"texttextАналог функции left. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.load-boolean-
FUNCTION anon.loadtextboolean-
FUNCTION anon.load_csvdest_table regclass, csv_file textboolean-
FUNCTION anon.lowertexttextАналог функции lower. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.make_dateinteger, integer, integerdateАналог функции make_date. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.mask_columnssource_relid oidTABLE(attname name, masking_filter text, format_type text)-
FUNCTION anon.mask_create_viewrelid oidbooleanСоздание маскированного представления для динамических методов
FUNCTION anon.mask_drop_viewrelid oidbooleanУдаление маскированного представления для динамических методов
FUNCTION anon.mask_filtersrelid oidtextФормирования тела запроса, используемого для mask_create_view
FUNCTION anon.mask_rolemaskedrole regrolebooleanДействия, накладываемые на маскируемую роль. Изменение функции может быть полезно в случае использования собственной ролевой модели
FUNCTION anon.mask_selectrelid oidtextФормирование SELECT запроса для динамических методов. Метод также используется для логического дампа
FUNCTION anon.mask_update-booleanФункция используется для обновления правил маскирования, вызывается после каждой из команд SECURITY LABEL FOR anon
FUNCTION anon.masking_expressions_for_tableoid, texttext-
FUNCTION anon.masking_value_for_columnoid, integer, texttext-
FUNCTION anon.md5text, integertext-
FUNCTION anon.notice_if_not_init-text-
FUNCTION anon.projection_to_oidseed anyelement, salt text, last_oid bigintinteger-
FUNCTION anon.register_masking_policypolicy textboolean-
FUNCTION anon.remove_masks_for_all_columns-booleanОчистка масок всех атрибутов
FUNCTION anon.remove_masks_for_all_roles-booleanОчистка масок всех ролей
FUNCTION anon.reset-booleanОчистка таблиц псевдонимизации
FUNCTION anon."right"text, integertextАналог функции right. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.start_dynamic_maskingautoload boolean DEFAULT truebooleanСтарт динамического маскирования: загрузка данных для псевдонимизации, создание схемы для маскирования (anon.maskschema), обновление масок
FUNCTION anon.stop_dynamic_masking-booleanОстановка динамического маскирования
FUNCTION anon.substrtext, integertextАналог функции substr. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.substrtext, integer, integertextАналог функции substr. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.ternarycondition boolean, then_val anyelement, else_val anyelementanyelementАналог функции CASE WHEN THEN. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.trg_check_trusted_schemas-event_trigger-
FUNCTION anon.trg_mask_update-event_trigger-
FUNCTION anon.unload-booleanВыгрузка расширения
FUNCTION anon.unmask_rolemaskedrole regroleboolean-
FUNCTION anon.uppertexttextАналог функции upper. Перенос функции связан с ограничением anon.restriict_to_trusted_schemas
FUNCTION anon.version-textВерсия расширения