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

Маскирование данных

Маскирование скрывает чувствительную информацию клиентов (например, пароли или номера документов) в интерфейсе платформы. Выбранные данные заменяются на заданный текст — плейсхолдер.

Правила маскирования работают в следующих разделах:

  • Клиенты — история диалогов.
  • Сессии — события сессии.
  • История запусков — журнал выполнения процесса.
  • Вкладка Выполнение — при тестировании процесса.
  • Тестовый чат-виджет.

Новое правило применяется не только к новым, но и к уже накопленным записям.

Доступ

Настраивать маскирование могут пользователи с ролью AP_ADMIN. Перейдите в главное меню аккаунта и выберите НастройкиМаскирование данных.

примечание

История изменений правил сохраняется в журнале аудита. Просматривать журнал могут пользователи с ролью USER_ADMIN или USER_AUDITOR. Чтобы открыть его, нажмите вверху левого меню (рядом с названием проекта или аккаунта) и выберите Conversational Cloud → нужный аккаунт → Действия пользователей.

Системные правила

На платформе есть два готовых правила: Email и Номер банковской карты. По умолчанию они выключены.

Для системных правил можно настроить:

  • на что заменять (плейсхолдер);
  • проекты, в которых работает правило;
  • автоматическое применение к новым проектам;
  • статус (включено или отключено).

Название, регулярное выражение и чувствительность к регистру у системных правил изменить нельзя. Системные правила нельзя удалить.

Пользовательские правила

Если системных правил недостаточно, создайте собственное.

  1. Нажмите Добавить.
  2. Заполните параметры:
    • Название — понятное имя для правила.
    • Регулярное выражение — шаблон для поиска данных (используется синтаксис RE2J).
    • На что заменять — текст, который увидит пользователь, например *** или [СКРЫТО].
    • Чувствительность к регистру — включите, если регистр символов важен.
  3. Выберите проекты, в которых нужно скрывать эти данные. Чтобы правило сразу работало во всех будущих проектах, включите Применять правило к новым проектам.
  4. Нажмите Сохранить.

Правило начинает работу сразу после сохранения.

Проверка правил

Убедитесь, что правило работает верно и скрывает нужные данные. Нажмите кнопку у правила и введите текст с чувствительными данными в открывшейся панели. Платформа покажет, как будет выглядеть строка в интерфейсе после обработки:

Открытие триггеров

Регулярные выражения

Движок маскирования поддерживает синтаксис 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);
  • ошибки, которые показываются вне этих разделов.