Маскирование логов
Для защиты передаваемых боту данных JAICP предоставляет маскирование логов — преобразование чувствительных данных в нечитабельный вид.
Описание
Маскирование логов позволяет удалить чувствительные данные из реплик клиента и бота. Данные маскируются в:
Создайте правила, по которым такие данные будут изменены. Правила будут применены только к тем проектам, которые вы выберете.
Чтобы из реплик выделить только необходимые для маскирования данные, настройте регулярные выражения. Когда текст совпадет с регулярным выражением, он заменится на формат, указанный в настройках правила.
Правила
Нажмите на иконку на верхней панели и выберите Маскирование логов для создания правил маскирования.
- Системные правила
- Заготовленные шаблоны для Email и Bank card (VISA/Master). По умолчанию выключены.
- Вы не можете редактировать регулярные выражения, заданные для системных правил.
- Можно выбирать формат замены и проекты, к которым будет применено правило.
- Пользовательские правила
- Собственные правила для маскировки данных.
- Можно самому создавать регулярные выражения и настраивать формат замены.
Регулярные выражения
Символы для составления регулярных выражений можно разделить на несколько групп:
Якоря
Символ | Значение |
---|---|
^ | Начало строки |
$ | Конец строки |
\b | Граница слова |
\B | Не граница слова |
Диапазоны
Символ | Значение |
---|---|
. | Любой символ, кроме переноса строки |
(a|b) | Группа символов для захвата: a или b |
[abc] | Диапазон символов: a , b или c |
[a-m] | Диапазон символов: между a и m |
[^a] | Исключение: любой символ, кроме a |
Символьные классы
Символ | Значение |
---|---|
\w | Символы латинского алфавита и цифры |
\W | Любые не буквенно-цифровые символы |
\d | Цифровые символы |
\D | Не цифровые символы |
\s | Пробельные символы: пробел, табуляция, перевод строки |
\S | Не пробельные символы |
Квантификаторы
Квантификаторы всегда следуют после символов или группы символов. Квантификаторы могут использоваться в разных режимах:
- Жадный ищет максимально длинное совпадение в строке. При захватывании текста до конца строки осуществляется поиск в обратном направлении.
- Ленивый ищет максимально короткое совпадение в строке.
- Ревнивый ищет максимально длинное совпадение в строке без поиска в обратном направлении.
Жадный | Ленивый | Ревнивый | Значение |
---|---|---|---|
X? | X?? | X?+ | 0 или 1 раз |
X* | X*? | X*+ | 0 или более раз |
X+ | X+? | X++ | 1 или более раз |
X{n} | X{n}? | X{n}+ | Только n раз |
X{n,} | X{n,}? | X{n,}+ | n и более раз |
X{n,m} | X{n,m}? | X{n,m}+ | Не менее n раз и не более m раз |
Пример
Рассмотрим следующий пример: вам нужно замаскировать мобильные номера клиентов РФ.
Для этого перейдите на вкладку Маскирование логов и нажмите Создать правило. В появившемся окне заполните поля Название, Формат замены.
В поле Регулярное выражение запишите следующее:
(\+7|8)[- ]*\(?[- ]*(\d{3}[- ]*\)?([- ]*\d){7}|\d\d[- ]*\d\d[- ]*\)?([- ]*\d){6})
Разберем регулярное выражение по частям:
- Правило
(\+7|8)
выделит только те номера, которые начинаются с+7
или8
, так как мы рассматриваем только номера РФ.
\
, чтобы они интерпретировались как обычные символы.- Здесь и далее выражение
[- ]*
допускает, что после кода страны клиент может поставить дефис или пробел 0 или более раз. - Затем допускается ввод открывающей скобки
\(?
. - Выражение
\d{3}[- ]*\)?([- ]*\d){7}
сначала найдет 3 цифры — телефонный код региона, который может быть отделен пробелом, дефисом и/или закрывающей скобкой. Затем будут найдены оставшиеся 7 цифр номер телефона. - После выражения из п. 4 стоит символ
|
, означающий, что допустим также и такой шаблон для ввода номера после кодов страны и региона:\d\d[- ]*\d\d[- ]*\)?([- ]*\d){6}
.
Примеры телефонных номеров, которые будут замаскированы созданным правилом:
89123456789
8(912)123-45-67
+79123456789
+7 912 345 67 89
+7-912-123-45-67
...