Маскирование данных
Маскирование скрывает чувствительную информацию клиентов (например, пароли или номера документов) в интерфейсе платформы. Выбранные данные заменяются на заданный текст — плейсхолдер.
Правила маскирования работают в следующих разделах:
- Клиенты — история диалогов.
- Сессии — события сессии.
- История запусков — журнал выполнения процесса.
- Вкладка Выполнение — при тестировании процесса.
- Тестовый чат-виджет.
Новое правило применяется не только к новым, но и к уже накопленным записям.
Доступ
Настраивать маскирование могут пользователи с ролью AP_ADMIN. Перейдите в главное меню аккаунта и выберите Настройки → Маскирование данных.
История изменений правил сохраняется в журнале аудита. Просматривать журнал могут пользователи с ролью USER_ADMIN или USER_AUDITOR. Чтобы открыть его, нажмите вверху левого меню (рядом с названием проекта или аккаунта) и выберите Conversational Cloud → нужный аккаунт → Действия пользователей.
Системные правила
На платформе есть два готовых правила: Email и Номер банковской карты. По умолчанию они выключены.
Для системных правил можно настроить:
- на что заменять (плейсхолдер);
- проекты, в которых работает правило;
- автоматическое применение к новым проектам;
- статус (включено или отключено).
Название, регулярное выражение и чувствительность к регистру у системных правил изменить нельзя. Системные правила нельзя удалить.
Пользовательские правила
Если системных правил недостаточно, создайте собственное.
- Нажмите Добавить.
- Заполните параметры:
- Название — понятное имя для правила.
- Регулярное выражение — шаблон для поиска данных (используется синтаксис RE2J).
- На что заменять — текст, который увидит пользователь, например
***или[СКРЫТО]. - Чувствительность к регистру — включите, если регистр символов важен.
- Выберите проекты, в которых нужно скрывать эти данные. Чтобы правило сразу работало во всех будущих проектах, включите Применять правило к новым проектам.
- Нажмите Сохранить.
Правило начинает работу сразу после сохранения.
Проверка правил
Убедитесь, что правило работает верно и скрывает нужные данные. Нажмите кнопку у правила и введите текст с чувствительными данными в открывшейся панели. Платформа покажет, как будет выглядеть строка в интерфейсе после обработки:
Регулярные выражения
Движок маскирования поддерживает синтаксис Java Pattern с ограничениями RE2J. Подробная справка — в документации Java SE 8 (на английском языке).
Поддерживаемые конструкции
- Символьные классы:
\d,\w,\sи их инверсии. - Якоря:
^,$,\b. - Квантификаторы:
*,+,?,{n,m}. - Группы захвата
(...)и незахватывающие группы(?:...). - Альтернатива:
a|b. - Флаги:
(?i)— игнорировать регистр,(?m)— многострочный режим.
Неподдерживаемые конструкции
Следующие конструкции не работают в правилах маскирования:
- Обратные ссылки (
\1,\2): нельзя ссылаться на захваченную группу внутри выражения. Замените(\d{4})\s\1двумя независимыми группами:(\d{4})\s(\d{4}). - Просмотр вперед и назад (
(?=...),(?!...),(?<=...),(?<!...)): вместо них используйте группы захвата. - Атомарные группы (
(?>...)). - Поссессивные квантификаторы (
X++,X*+,X?+): используйте жадные квантификаторыX+,X*,X?. - Условные выражения (
(?(condition)yes|no)): разбейте условие на несколько отдельных правил. - Рекурсия.
Эти упрощения нужны, чтобы правила работали быстро и предсказуемо.
Ограничения
Правила маскирования применяются только к данным в разделах, перечисленных выше, и при тестировании процессов.
Маскирование не затрагивает:
- системные логи приложений (Graylog, Sentry, OpenFaaS);
- ошибки, которые показываются вне этих разделов.