Маскирование данных в ТЕКСТОВОМ столбце

#user-defined-functions

#определяемые пользователем-функции

Вопрос:

У меня есть элемент PII в ТЕКСТОВОМ поле, который необходимо замаскировать / очистить в моей базе данных snowflake. я мог бы добиться этого с помощью JavaScript, нужно реализовать то же самое с помощью функции SQL UDF.

НАПРИМЕР: я Джон, это мой SSN 111-11-1111

Вывод :

Я XXXX, это мой XXX XXX-XX-XXXX

Комментарии:

1. О каком языке, БД и т. Д. Вы говорите? Существует несколько способов маскировки данных, я могу определить ваш собственный, в зависимости от каждого поля.

2. В Snowflake с использованием скалярной функции SQL UDF.

3. И вы уже рассмотрели это? Кстати, при использовании динамической маскировки данных UDF означает определяемую пользователем функцию, поэтому излишне говорить «функция» после UDF. : P

4. Привет @Andrew, да, я прошел через это. Я рассказываю о политике маскирования. В моем случае мне нужно, чтобы данные были замаскированы, как указано в ожидаемом

5. Все еще там, @Naveenraj? Вы пробовали мой ответ?

Ответ №1:

Если вы хотите заменить любую букву или цифру на a * , я думаю, вы можете использовать что-то вроде этого:

 case
  when current_role() in ('ADMIN') then val
  else regexp_replace(val, '[A-Za-zd]', '*')
end;
 

Больше информации в этой статье:

https://docs.snowflake.com/en/user-guide/security-column-ddm-use.html