Настройка воспроизведения сеанса для веб-приложений

Материал из Dynatrace

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

  • Стоимость и контроль трафика для уменьшения количества записанных пользовательских сессий
  • Режим согласия, чтобы решить, какие части пользовательского сеанса должны быть записаны, и разрешить пользователям вашего приложения одобрять запись своих сеансов.
  • Исключение URL для исключения страниц и просмотров из записи
  • Маскировка для предотвращения записи и отображения личной информации пользователя
  • Захват ресурсов для захвата и хранения таблиц стилей во время записи сеанса пользователя
  • Разрешения пользователей и зоны управления для управления доступом к записям сеансов.

Dynatrace представила несколько параметров конфигурации повтора сеанса, которые следует использовать для защиты личной информации ваших клиентов. Перед включением повтора сеанса и переходом к настройкам конфигурации конфиденциальности, описанным на этой странице, убедитесь, что ваша организация предприняла все остальные необходимые шаги для защиты данных ваших клиентов .

Возможность воспроизведения записанных пользовательских сеансов с настройками маскирования воспроизведения или без них зависит от разрешений . Данные сеанса воспроизведения и данные сеанса воспроизведения без разрешений на маскирование доступны на уровне среды и зоны управления.

Стоимость и контроль трафика

По умолчанию Dynatrace записывает все сеансы пользователей, проанализированные с помощью RUM, с помощью Session Replay. Изменяя процент сеансов, записанных с помощью повтора сеанса, вы можете контролировать объем данных, генерируемых повтором сеанса.

Чтобы определить фактическое количество пользовательских сеансов, записанных с помощью Session Replay, вы должны учитывать общий процент пользовательских сеансов, проанализированных с помощью RUM, определенных для вашего приложения .

Например, если общий процент пользовательских сеансов, подлежащих анализу при мониторинге реального пользователя, установлен на 50 %, а процент для повторного воспроизведения сеанса установлен на 20 %, то только 10 % всех пользовательских сеансов записываются с помощью повторного воспроизведения сеанса (50 %). % х 20% = 10%).

Чтобы ограничить количество сеансов, записанных с помощью повтора сеанса

  1. В меню Dynatrace выберите Web .
  2. Выберите приложение, которое вы хотите настроить.
  3. В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Изменить .
  1. В настройках приложения выберите Общие настройки > Включение и контроль затрат .
  1. В разделе « Воспроизведение сеанса » введите новое значение для параметра « Стоимость и управление трафиком » .

Режим подписки

Режим согласия на воспроизведение сеанса дает вам свободу решать, какие части пользовательского сеанса должны быть записаны и когда разрешено начинать запись. Например, вы можете выбрать запись пользовательских сеансов в следующих случаях:

  • Как только любой пользователь входит в систему
  • Только для определенных клиентов, чтобы вы могли предложить им премиальную поддержку
  • Только для определенных страниц вашего приложения

Этот механизм позволяет реализовать разрешение конечного пользователя на запись сеанса.

Когда вы включаете режим согласия на воспроизведение сеанса для своего веб-приложения, запись активного сеанса пользователя начинается только после того, как вы вызываете enableSessionReplay(ignoreCostControl: boolean)метод для dtrumглобального объекта. Глобальный dtrumобъект доступен после автоматического внедрения RUM JavaScript .

Эта команда запускает запись сеанса. Воспроизведение сеанса остается активным, и запись начинается автоматически на всех последующих страницах, посещенных в течение того же сеанса или до тех пор , пока не dtrum.disableSessionReplay()будет вызвана функция.

Метод dtrum.enableSessionReplay(ignoreCostControl: boolean)включает в себя ignoreCostControlпараметр, который вы можете использовать для записи определенных пользовательских сессий, игнорируя значение в разделе « Стоимость и контроль трафика » в настройках вашего приложения.

Если включен режим подписки Real User Monitoring, Real User Monitoring должен быть включен, прежде чем вы сможете включить повтор сеанса, например:

dtrum.enable();

dtrum.enableSessionReplay(true);

Пример

Рассмотрим следующий сценарий. Как владелец приложения, вы хотите записывать все пользовательские сеансы, которые включают страницу 2–5 вашего приложения. Сессионные действия, связанные со страницей 1 или страницей 6 вашего приложения, должны быть исключены из записи. На следующей диаграмме показано, где в последовательности требуются методы и dtrum.enableSessionReplay(ignoreCostControl: boolean).dtrum.disableSessionReplay()

В таких случаях вы можете отобразить баннер согласия, чтобы включить запись сеанса, когда пользователь переходит на страницу 2 (см. сноску внизу следующего изображения). Когда пользователь выбирает « Принять », чтобы разрешить запись сеанса, приложение отвечает, вызывая dtrum.enableSessionReplay(ignoreCostControl: boolean)метод и записывая сеанс.

Вы можете использовать файл cookie в своем приложении для записи истории пользовательского контента в браузере. Содержимое этого файла cookie проверяется во время каждого сеанса, чтобы определить, должен ли отображаться баннер согласия. Например, если файл cookie, в котором хранится согласие, называется sessionReplayConsent, поток приложения будет примерно таким:

  1. Приложение проверяет значение sessionReplayConsentфайла cookie.
  2. Если значение равно true, dtrum.enableSessionReplay(ignoreCostControl: boolean)вызывается вызов.
  3. Если значение равно false, отображается баннер согласия.
  4. Если пользователь дает свое согласие, dtrum.enableSessionReplay(ignoreCostControl: boolean)вызов инициируется.
  5. Согласие пользователя записывается в sessionReplayConsentфайл cookie.

С этим файлом cookie повтор сеанса продолжает оставаться активным до 5 -й страницы приложения.

Как только пользователь покинет страницу 5 , вы можете использовать этот dtrum.disableSessionReplay()метод, чтобы остановить запись сеанса. Затем вы должны удалить файл cookie, который использовался для хранения согласия.

Вы можете использовать методы JavaScript, используемые для включения и отключения повторного воспроизведения сеанса без отображения баннера для получения согласия. Например, если вы хотите записывать сеанс каждый раз, когда какой-либо пользователь входит в систему, вы можете использовать dtrum.enableSessionReplay(ignoreCostControl: boolean)метод для начала записи и dtrum.disableSessionReplay()метод для остановки записи после успешного выхода из системы. Это дает вам полный контроль над запуском и остановкой повтора сеанса.

Включить режим повторного воспроизведения сеанса

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

Чтобы включить режим подписки на повтор сеанса

  1. В меню Dynatrace выберите Web .
  2. Выберите приложение, которое вы хотите настроить.
  3. В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Изменить .
  1. В настройках приложения выберите « Конфиденциальность данных » > « Воспроизведение сеанса » .
  1. Включите параметр «Включить режим подписки для повтора сеанса» .

С этими параметрами конфигурации повтор сеанса неактивен в браузерах ваших конечных пользователей, и сеансы не записываются до тех пор, пока dtrum.enableSessionReplay(ignoreCostControl: boolean)метод не будет вызван из приложения.

Если вы решите не включать режим подписки для повтора сеанса , все сеансы пользователей записываются с самого начала до тех пор , пока dtrum.disableSessionReplay()не будут вызваны из приложения.

Исключение URL

Исключение URL-адресов применимо к страницам и представлениям. Если вы хотите исключить страницу из записи повтора сеанса, определите регулярное выражение, которое должно использоваться для сопоставления с конкретным URL-адресом страницы. Вы можете настроить правила для отдельных веб-страниц, целых веб-сайтов и одностраничных приложений.

  • Если URL-адрес соответствует правилу исключения, применяется это правило, а все последующие правила игнорируются.
  • Если URL-адрес не соответствует какому-либо правилу, все применимые страницы записываются с помощью повтора сеанса.
  • Если воспроизведение сеанса включено и правила исключения URL-адресов не определены, все страницы записываются с повтором сеанса по умолчанию.

Чтобы исключить страницы из записи

  1. В меню Dynatrace выберите Web .
  2. Выберите приложение, которое вы хотите настроить.
  3. В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Изменить .
  1. В настройках приложения выберите « Конфиденциальность данных » > « Воспроизведение сеанса » .
  1. В разделе Исключение URL-адресов выберите Добавить правило исключения .
  2. Введите регулярное выражение, соответствующее URL-адресу страницы, а затем выберите Добавить правило .

Маскировка

Session Replay записывает каждое взаимодействие с пользователем. Поэтому защита конфиденциальных пользовательских данных с помощью маскирования имеет первостепенное значение. Настройки маскирования позволяют защитить конфиденциальные данные пользователя при записи и воспроизведении сессий. Вы можете указать отдельные правила маскирования для сеансов записи и, кроме того, для воспроизведения захваченных сеансов, что позволит вам применять слои маскирования, контролируемые разрешениями пользователя .

Обзор маскирования содержимого

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

Параметр маскирования маскирует только буквенно-цифровые символы; символы формата, такие как точки, запятые и двоеточия, не маскируются. Таким образом, при воспроизведении пользовательских сеансов вы по-прежнему можете проверить формат содержимого, не просматривая фактическую информацию.

В качестве примера рассмотрим поле адреса электронной почты в типичной веб-форме. Пользователь вводит свой адрес электронной почты, как показано ниже:

Session Replay маскирует эти данные и отображает звездочки вместо буквенно-цифровых символов:

Маскированные данные, отображаемые звездочками ( *****) в воспроизводимом сеансе, либо никогда не покидают браузер клиента (маскируются при записи), либо захватываются, но маскируются во время воспроизведения. Обратите внимание, что воспроизведение захваченных сеансов контролируется разрешениями .

Session Replay предоставляет два варианта определения того, какой контент следует маскировать:

  • Атрибут data-dtrum-mask: этот параметр требует изменения кода приложения и является безопасным по своей конструкции. Он позволяет рассмотреть элементы, которые могут содержать конфиденциальную информацию на этапах проектирования и реализации. Регистратор автоматически обнаруживает и маскирует содержимое (текст, входные значения и значения атрибутов) и взаимодействия (движения курсора и прокрутки) в узле, содержащем атрибут, а также его потомках. Код приложения должен быть изменен для включения этого data-dtrum-maskатрибута.
  • Страница конфигурации повтора сеанса : этот параметр обеспечивает более индивидуальный подход. Вы можете изменить конфигурацию в соответствии с вашими требованиями к записи сеанса. Кроме того, нет необходимости изменять код приложения, если вы выберете этот вариант.

Session Replay также предоставляет функции маскирования, которые можно использовать для сокрытия взаимодействий с определенными элементами, которые могут непреднамеренно раскрыть конфиденциальную информацию конечного пользователя (см. Параметры маскирования содержимого на странице конфигурации Session Replay ). Например, рассмотрим список, который предоставляет несколько вариантов ответа на вопрос формы о религии или поле пользователя. Даже если текст замаскирован, другие все равно смогут сделать вывод о реакции конечного пользователя, увидев выбранный вариант.

Маскировка повтора сеанса v2

Начиная с Dynatrace версии 1.206, мы представили улучшенную маскировку для повтора сеанса.

Если ваше приложение RUM было создано после версии 1.206 или обновлено до версии 1.206, вам не нужно ничего делать, чтобы включить маскирование Session Replay v2. Параметры маскирования записи и воспроизведения доступны автоматически, при этом по умолчанию включена наиболее ограничительная настройка маскирования записи.

Если ваше приложение RUM было создано до версии 1.206, вам может потребоваться проверить версию JavaScript RUM и включить параметры маскирования на уровне приложения.

Session Replay, маскирующий конец жизни v1

Начиная с Dynatrace версии 1.240, маскировка Session Replay v1 больше не поддерживается.

  • Для приложений с RUM JavaScript версии 1.193+ можно переключиться на маскирование v2 в настройках Session Replay .
  • Для приложений с RUM JavaScript версии 1.192 и более ранних обновите RUM JavaScript как минимум до версии 1.193, а затем переключитесь на маскирование v2 . В противном случае повтор сеанса перестанет работать.

Переключиться на маскировку повтора сеанса v2

Настройка маскирования повтора сеанса

  1. В меню Dynatrace выберите Web .
  2. Выберите приложение, которое вы хотите настроить.
  3. В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Изменить .
  1. В настройках приложения выберите « Конфиденциальность данных » > « Воспроизведение сеанса » .
  1. В разделе « Параметры маскирования содержимого » выберите предопределенный параметр маскирования для записи и воспроизведения.
  2. Если вы выбрали Список разрешений или Список блокировок , добавьте нужные правила маскирования.

Параметры маскировки содержимого

Предустановленные параметры маскирования Session Replay доступны как для записи, так и для воспроизведения:

  • Настройки маскирования записи управляют маскированием данных во время записи («маскирование при захвате»). Маскированные пользовательские данные никогда не покидают клиентский браузер и не перехватываются. Обратите внимание, что когда вы устанавливаете для параметров маскирования записи более строгий уровень, те же параметры применяются и к параметрам маскирования воспроизведения , что также влияет на все прошлые записанные сеансы.
  • Настройки маскирования воспроизведения влияют на маскирование данных во время воспроизведения («маскирование при отображении»). Данные, захваченные во время записи, по-прежнему могут быть замаскированы и запрещены для просмотра во время воспроизведения.

Вы можете определить правила маскирования для записи сеанса и воспроизведения сеанса.

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

Вы можете использовать разрешения пользователя , чтобы решить, разрешить ли воспроизведение сеанса с действующими правилами маскирования воспроизведения или без них.

Следующие предопределенные параметры маскирования можно использовать для ограничения захвата и воспроизведения личных и конфиденциальных данных конечного пользователя:

Вариант маскировки Что замаскировано Когда использовать
Замаскировать все Все тексты, пользовательский ввод, значения атрибутов и изображения Используйте для проверки воспроизведения сеанса и убедитесь, что конфиденциальные данные не собираются. Вы по-прежнему сможете видеть, как пользователи взаимодействуют с вашим приложением.

Используйте для устранения неполадок приложений, когда важен порядок, в котором пользователи взаимодействуют с различными элементами управления веб-интерфейса.

Маска пользовательского ввода Весь пользовательский ввод, включая параметры в списках Выберите этот параметр, если конфиденциальная информация поступает только от пользователя.
Разрешить список Все элементы в параметре « Маскировать все », кроме указанных вами элементов. Мы рекомендуем этот вариант для большинства приложений; он позволяет собирать только необходимую информацию.

Этот параметр гарантирует, что даже при последующих изменениях кода новые элементы, отображающие конфиденциальную информацию, не будут записываться средством записи повторов сеансов. Элементы определяются селектором CSS.

Черный список Только элементы, указанные в этом списке блокировки При выборе этого параметра вам будет представлен список со всеми правилами, примененными к параметру Маскировать все . Используйте этот список, чтобы очистить элементы и атрибуты, которые вы хотите захватить. Вы также можете создать свои собственные дополнительные правила черного списка.

Маскировать все — это опция по умолчанию.

Параметры « Маскировать все », « Маскировать пользовательский ввод » и « Список разрешений» не скрывают взаимодействие пользователя с элементами. С помощью параметра « Черный список » вы можете решить, хотите ли вы скрыть взаимодействие пользователя с замаскированными элементами.

Захват ресурсов

С помощью Dynatrace Session Replay таблицы стилей захватываются и сохраняются во время записи сеанса пользователя. Вам не нужно хранить файлы CSS в общедоступном месте, помечать ресурсы как измененные или давать разрешения процессу, который может получить доступ к защищенным таблицам стилей. Это полностью автоматизированный процесс, который гарантирует, что ресурсы будут захвачены и доступны для будущего воспроизведения.

Захват ресурсов для воспроизведения сеанса включен по умолчанию.

Включить захват ресурсов

Чтобы включить и настроить захват ресурсов

  1. В меню Dynatrace выберите Web .
  2. Выберите приложение, которое вы хотите настроить.
  3. В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Изменить .
  1. В настройках приложения перейдите в « Захват » > «Захват ресурсов для воспроизведения сеанса» .
  2. Включите Включить захват ресурсов .
  3. по желаниюЧтобы избежать захвата ресурсов для определенных страниц, выберите Добавить правило исключения , введите регулярное выражение, а затем выберите Добавить правило .
    • Если URL-адрес соответствует правилу исключения, правило применяется, а последующие правила игнорируются.
    • Если URL-адрес не соответствует ни одному из перечисленных правил, захватываются все ресурсы.
    • Если воспроизведение сеанса включено и правила исключения URL-адресов не определены, все ресурсы CSS могут быть записаны.

Примечания и ограничения для захвата ресурсов

  • Если ресурс не был захвачен или недоступен в хранилище ресурсов Dynatrace, этот ресурс извлекается из исходного источника.
  • Изображения и шрифты не сохраняются. Во время воспроизведения сеанса они извлекаются из исходного местоположения, поэтому применяются определенные ограничения . Чтобы улучшить воспроизведение Session Replay, используйте расширение браузера RUM .
  • Dynatrace не захватывает ресурсы размером более 3 МБ.
  • Срок хранения захваченных ресурсов по умолчанию составляет 35 дней.
  • Dynatrace захватывает ресурсы до 0,1% пользовательских сеансов, записанных с помощью Session Replay. Обычно этого достаточно для правильного воспроизведения пользовательских сеансов, поскольку ресурс, захваченный для одного сеанса, повторно используется для всех других сеансов. Однако захват всех ресурсов для приложения с низким трафиком может занять некоторое время. Расчет сеансов с захваченными ресурсами

Разрешения пользователей и зоны управления

Разрешения пользователя

Используйте данные сеанса воспроизведения и данные сеанса воспроизведения без маскирования разрешений, чтобы контролировать, кто имеет доступ к записям сеанса. Дополнительные сведения см. в разделе Управление группами пользователей и разрешениями .

Для пользователей, которым не нужен доступ, отключите оба разрешения в настройках пользователя и группы.

Зоны управления

Возможность просмотра и воспроизведения пользовательских сеансов дополнительно защищена зонами управления. Если сеанс пользователя проходит через приложения в разных зонах управления, пользователи Dynatrace с разрешениями на воспроизведение сеанса могут просматривать только те части сеанса, которые связаны с приложениями в зонах управления, к которым у них есть доступ. Дополнительные сведения см. в разделе Зоны управления .

Часто задаваемые вопросы

Каковы рекомендации по обеспечению конфиденциальности пользователей?

Что произойдет, если неправильно настроены правила маскирования и конфиденциальные данные станут доступны во время сеанса воспроизведения?

Как вы можете настроить приложение, чтобы оно не маскировало какой-либо элемент?

Как лучше всего использовать параметр Маскировать все?