Руководство Isoline
Разрешённые сценарии работы с профилями: QA, агентства и безопасность
Как разделять разрешённую браузерную работу по профилям, сохраняя личную ответственность, ограниченный доступ, согласования, доказательства, восстановление и понятные условия остановки.
Главное правило: разделяйте уже разрешённую работу
Браузерный профиль может отделять cookies, хранилища, историю, расширения, разрешения и настройки от другого рабочего контекста. Это полезно, когда сама деятельность разрешена. Профиль не даёт прав на аккаунт, сервис, сеть, человека или набор данных.
Прежде чем создавать профиль, явно зафиксируйте основания доступа:
| Вопрос | Что сохранить в подтверждение |
|---|---|
| Кому принадлежит система или аккаунт? | Название организации и ответственный контакт |
| Кто разрешил работу? | Договор, техническое задание, заявка, план тестирования или правила его проведения |
| Какие ресурсы и аккаунты входят в задачу? | Точные среды, origin, идентификаторы аккаунтов и профилей, исключения |
| Какие действия разрешены? | Чтение, публикация, тестирование, сброс, приглашение, экспорт, автоматизация или другие конкретные операции |
| Какие данные можно использовать? | Синтетические, тестовые, клиентские, персональные, конфиденциальные данные и категории сроков хранения |
| Когда действует разрешение? | Начало, окончание, окно обслуживания и порядок отзыва |
| Что требует согласования? | Публичные, разрушительные, массовые действия, изменение доступа и расходы |
| Когда нужно остановиться? | Неясные границы, неожиданные данные, влияние на сервис, отзыв доступа или неизвестный результат |
Технический доступ не доказывает наличие разрешения. Сохранённый сеанс может работать после ухода сотрудника или окончания договора с клиентом. Исполнитель обязан остановиться после отзыва полномочий, даже если браузер всё ещё открывает аккаунт.
Общая схема работы
Одни и те же пять этапов помогают сохранять ответственность в разных процессах с несколькими профилями.
1. Получить разрешение
Укажите владельца системы, клиента, если он есть, исполнителей, разрешённую цель, ресурсы, аккаунты, действия, сроки, правила работы с данными, согласования и условия остановки. Клиент может разрешить работу с ресурсами под своим контролем; он не может передать права на сторонний сервис, которых у него нет.
2. Подготовить
Создайте профиль для конкретной среды, клиента, роли или тестового случая. Добавьте только нужные расширения, прокси, локаль, разрешения и учётные данные. Предпочитайте встроенное делегирование сервиса и индивидуальные аккаунты общим паролям или скопированным данным сеанса.
3. Выполнить
Изменяемое состояние должен использовать один ответственный исполнитель или одна задача автоматизации за раз. Соблюдайте ограничения области работы, назначения, параллельности, частоты и затрат. Предварительно показывайте изменения с существенными последствиями и привязывайте согласование к точному объекту и действию.
4. Зафиксировать
Записывайте исполнителя, делегированную задачу, ссылку на профиль, действие, согласование, время, объект, результат и значимые версии. Рекомендации OWASP по журналированию предлагают фиксировать когда, где, кто и что сделал, защищая журналы и исключая технические секреты. Не включайте в обычные журналы исходные cookies, пароли, токены, учётные данные прокси, содержимое страниц и ненужные персональные данные.
5. Восстановить и завершить
Корректно остановите профиль, проверьте ожидаемое состояние, сохраните только разрешённые доказательства, отзовите временный доступ и верните профиль владельцу. Если выполнение закончилось с неизвестным результатом, сначала разберитесь, а затем повторяйте. Восстановите заведомо исправную копию или изолируйте повреждённое состояние, вместо того чтобы незаметно продолжать работу.
Команды QA и локализации
Полезные границы профилей
QA-команды могут использовать отдельные профили для:
- анонимного, авторизованного и только что зарегистрированного пользователя;
- ролей администратора, редактора, поддержки и обычного пользователя;
- разработки, тестового стенда и явно согласованных коротких проверок в рабочей среде;
- сочетаний локали, языка, часового пояса, цветовой схемы и разрешений;
- конфигураций с расширениями и без них;
- чистого первого запуска и постоянного состояния, намеренно перенесённого на новую версию;
- параллельных участников согласованного многопользовательского сценария.
Playwright использует изолированные браузерные контексты, чтобы тесты получали отдельные cookies, local storage и session storage, и поддерживает несколько контекстов для многопользовательских сценариев. В документации контекстов также объясняется, почему чистое исходное состояние уменьшает перенос последствий сбоя между тестами. Это полезный подход, но постоянный профиль продукта и временный контекст автоматизации могут сохранять разные данные. Зафиксируйте, что именно использует ваш тест.
Проверка локализации и региональных настроек
В воспроизводимой матрице локализации можно менять заявленную локаль, часовой пояс, область просмотра, способ ввода, направление текста и тестовые данные. Playwright описывает эмуляцию локали, часового пояса, геолокации, цветовой схемы и других параметров в руководстве по эмуляции. Рассматривайте её как управляемые входные условия, а не как доказательство соответствия любому устройству, сети, правовой юрисдикции или опыту реального пользователя.
Используйте прокси или подменённый ввод геолокации только тогда, когда это разрешают владелец сети, целевой сервис и соглашение о тестировании. Изменённый маршрут не создаёт права на контент с региональными ограничениями и не отменяет решение сервиса о доступе.
Краткие рекомендации W3C по интернационализации советуют UTF-8, объявление языка документа, местные форматы данных, видимый выбор языка, правильное направление справа налево и валидацию. Превратите эти принципы в наблюдаемые проверки:
- выбранный язык сохраняется при переходах и повторном входе;
- даты, время, числа, имена, адреса, сортировка и формы множественного числа соответствуют локали;
- перевод может занимать больше места без обрезания текста и скрытия элементов управления;
- смешанный текст и письмо справа налево сохраняют правильный порядок чтения и фокуса;
- формы принимают и возвращают нужные наборы символов;
- ссылки и сообщения об ошибках понятны без обращения к машинному переводу.
Проверка доступности
Разделяйте состояния для проверки доступности, если это улучшает воспроизводимость, но не сводите доступность к набору настроек профиля. Проверяйте клавиатуру, фокус, масштаб, программы экранного доступа, настройки контраста, уменьшение движения, ошибки и доступную аутентификацию по WCAG 2.2. В обзоре оценки W3C говорится, что инструменты помогают, но ни один из них сам по себе не определяет доступность сайта: квалифицированная проверка человеком остаётся необходимой.
Пример QA: проверка регионального выпуска
Разрешение: владелец продукта согласует origin тестового стенда, две тестовые роли, поддерживаемые локали, сроки и синтетические аккаунты.
Профили: один чистый профиль для каждой пары «роль — локаль» и отдельный профиль обновления с состоянием предыдущего выпуска.
Действия: войти поддерживаемым тестовым способом, проверить навигацию и формы, язык и доступность, сохранить разрешённые артефакты и корректно остановить каждый профиль.
Доказательства: идентификатор сборки, версия браузера, локаль и часовой пояс, роль, результат, очищенные от чувствительных данных сведения об ошибках и ссылки на артефакты.
Условия остановки: неожиданный адрес рабочей среды, настоящие клиентские данные, права за пределами назначенной роли, ухудшение работы сервиса или запрос на экспорт действующего сеанса.
Агентства и клиентская работа
Полезные границы профилей
Агентства могут разделять работу по клиенту, юридическому лицу, бренду, среде, целевому сервису и роли исполнителя. Это уменьшает вероятность действий не в том клиентском аккаунте и делает передачу работы понятнее. Наиболее сильная граница сочетает разделение профилей со встроенными организациями, ролями и делегированным доступом целевого сервиса.
В процессе агентства должны быть:
- действующее разрешение клиента и конкретный ответственный с его стороны;
- поддерживаемый сервисом пользователь или делегированная роль для каждого исполнителя, если это доступно;
- владелец профиля и зафиксированное состояние при передаче;
- клиентские папки, теги, расширения, прокси и правила хранения;
- согласование публикаций, изменений доступа, массовых операций, удаления и расходов;
- история действий, доступная соответствующему клиенту или владельцу аккаунта;
- быстрый порядок отзыва доступа при потере устройства, смене сотрудников и окончании договора;
- план экспорта и удаления, согласованный до начала работы.
Не используйте передачу исходных учётных данных как способ совместной работы. Если тестовые инструменты или автоматизация сохраняют авторизованное состояние, защищайте его как учётные данные. Руководство Playwright по аутентификации предупреждает, что состояние браузера может содержать cookies и заголовки, позволяющие действовать от имени аккаунта, и не должно попадать в репозиторий.
Пример агентства: согласованная передача контента
Разрешение: техническое задание определяет подконтрольную клиенту систему контента, бренд, исполнителей, допустимые операции, ответственного за согласование и дату окончания работы.
Профили: одно клиентское рабочее пространство с отдельными профилями редактора и публикатора. Каждый исполнитель использует индивидуальную учётную запись сервиса; профиль публикатора не служит общим хранилищем паролей.
Действия: редактор готовит черновик, система сохраняет предпросмотр и версию материала, назначенный представитель клиента согласует именно эту версию, публикатор отправляет её один раз.
Доказательства: исполнитель, клиент, профиль, версия материала, ссылка на согласование, место публикации, результат отправки и время. Содержимое сохраняется только там, где это допускают договор и политика данных.
Восстановление: если после отправки ответ потерян, перед повтором проверьте целевую систему. По окончании работы отзовите доступ, верните согласованные записи и удалите либо сохраните остальные данные профиля в соответствии с договором.
Что остаётся недопустимым
Клиентская работа не оправдывает:
- создание фиктивных аккаунтов, отзывов, активности или личностей;
- спам и нежелательные массовые сообщения;
- доступ к аккаунту после отзыва разрешения клиентом или владельцем сервиса;
- покупку, сбор, повторное использование или передачу украденных учётных данных и сеансов;
- сокрытие исполнителя от правомерного расследования;
- обход мер платформы для восстановления запрещённого доступа;
- действия за пределами прав клиента, применимого законодательства или условий сервиса.
Если платформа отклоняет действие, проверьте полномочия и бизнес-процесс. Профиль, прокси или автоматизация не дают разрешения обходить это решение.
Специалисты по безопасности и реагированию на инциденты
Сначала письменные границы
Для проверки безопасности недостаточно общей просьбы «протестировать сайт». NIST SP 800-115 даёт рекомендации по планированию и проведению технических испытаний, анализу результатов и разработке защитных мер. NIST определяет правила проведения испытаний как заранее установленные ограничения, дающие команде право выполнять определённые действия.
Такие правила должны указывать:
- точные узлы, приложения, API, клиентские среды и аккаунты в области проверки;
- явно исключённые сторонние сервисы и зависимости рабочей среды;
- разрешённые методы и инструменты;
- исходные сети или устройства тестирования, если это значимо;
- расписание, частоту, параллельность и допустимое влияние на сервис;
- тестовые аккаунты, роли и согласованные данные;
- запрещённые действия, например закрепление доступа, социальную инженерию, разрушительные изменения или отказ в обслуживании;
- обращение с доказательствами, шифрование, доступ, сроки хранения и уничтожение;
- контакты для инцидентов и экстренных ситуаций;
- условия немедленной остановки;
- требования к отчёту, устранению, повторной проверке и раскрытию результатов.
Если для доказательства нужен доступ или воздействие за пределами этих правил, остановитесь и получите письменное разрешение до продолжения.
Полезные границы профилей
В разрешённой оценке отдельные профили помогают разделять:
- клиента A и клиента B;
- тестовые учётные записи и обычный личный браузинг;
- каждую роль или клиентскую среду;
- пассивную проверку и согласованное активное тестирование;
- чистое исходное состояние и изменённое тестовое;
- доказательства инцидента и продолжающуюся операционную работу;
- состояние повторной проверки и первоначальную находку.
Используйте профили для соблюдения границ и сохранности доказательств, а не для сокрытия источника или цели проверки. Не меняйте профили, сети или личности ради обхода ограничений частоты, блокировок и других мер, если владелец системы прямо не включил такое поведение в правила испытаний.
Пример безопасности: разрешённая регрессия контроля доступа
Разрешение: владелец системы перечисляет тестовое приложение, две клиентские тестовые среды, обычную и административную роли, разрешённые запросы, частоту, окно проверки и экстренный контакт. Рабочая среда и сторонняя инфраструктура идентификации исключены.
Профили: чистый профиль для каждой разрешённой пары роли и клиентской среды. Каждый содержит синтетические данные и выданную сервисом тестовую учётную запись.
Действия: проверить доступ каждой роли к ожидаемым ресурсам, затем выполнить согласованные отрицательные случаи, подтверждающие отказ для других ролей и клиентов. Использовать минимальное число запросов, необходимое для воспроизведения проблемы.
Доказательства: версии приложения и браузера, тестовый случай, исполнитель, ссылки на клиента и роль, идентификаторы корреляции запросов, очищенные ответы, время и результат. Не сохранять посторонние записи, обнаруженные во время проверки.
Условия остановки: появились персональные или рабочие данные, сервис стал нестабильным, тест вышел за пределы указанной клиентской среды, раскрылись учётные данные вне тестового набора или владелец отозвал разрешение.
Восстановление: остановить активные запросы, уведомить назначенный контакт, сохранить минимальные защищённые доказательства, отозвать тестовые учётные данные, восстановить тестовое состояние и зафиксировать, безопасна ли повторная проверка.
Разрешение состоит из нескольких уровней
Если полномочия неясны, используйте эту таблицу:
| Ситуация | Решение |
|---|---|
| Компания владеет тестовой системой, план называет аккаунт и действия, исполнителю назначена нужная роль | Продолжать в документированных границах |
| Клиент просит агентство вести аккаунт через поддерживаемые роли сервиса, а договор охватывает работу | Продолжать с индивидуальным доступом, согласованиями, аудитом и порядком завершения работы |
| Клиент просит доступ к чужому аккаунту, которым не владеет и не управляет | Остановиться: клиент не может дать такое разрешение |
| Контакт по безопасности в целом поддерживает проверку, но не дал список ресурсов и границы | Остановиться и получить письменные правила испытаний |
| После ухода сотрудника сеанс остаётся действующим | Остановиться и отозвать его: технический доступ пережил полномочия |
| Проверка обнаружила реальные учётные или персональные данные вне согласованного набора | Остановиться, свести доступ к минимуму, защитить доказательства и уведомить назначенный контакт |
| Платформа блокирует действие, а в ответ предлагают менять профили или прокси | Остановиться: не использовать изоляцию для обхода мер платформы |
| Процесс создаёт фиктивную активность, спам, мошенничество, фишинг, кражу учётных данных или несанкционированный доступ | Недопустимо |
Чего разделение профилей не доказывает
Граница профиля может уменьшить случайное смешивание состояния. Сама по себе она не доказывает, что:
- исполнитель имеет разрешение;
- личность аккаунта подлинна;
- браузер представляет отдельное физическое устройство;
- эмулируемая локаль означает проживание в регионе или законное региональное право;
- прокси разрешает доступ из своего видимого местоположения;
- расширения или конечное устройство заслуживают доверия;
- сайт примет сеанс;
- тест безопасности не выходит за согласованные границы.
Рассматривайте профиль как одну меру в более широкой системе идентификации, разрешений, работы с данными, аудита, восстановления, договоров и человеческой проверки. Если какой-либо уровень становится неясным, безопасная работа требует остановиться и устранить неоднозначность до продолжения.
Об этом руководстве
- Помощь ИИ
- Статья переведена с английского с помощью ИИ. За опубликованный текст отвечает Isoline. Проверка перевода человеком, свободно владеющим языком, пока не зафиксирована.
Источники
Источники подтверждают перечисленные ниже темы. Даты обращения показывают, когда были проверены указанные материалы.
- NIST SP 800-115: техническое руководство по тестированию и оценке информационной безопасности National Institute of Standards and Technology
- Темы
- Планирование, разрешения, проведение технической оценки безопасности, работа с доказательствами и отчётность.
- Дата обращения
- Глоссарий NIST: правила проведения испытаний National Institute of Standards and Technology
- Темы
- Определение заранее установленных ограничений, которые разрешают тестирование безопасности и задают его границы.
- Дата обращения
- Playwright: изоляция браузерных контекстов Microsoft Playwright
- Темы
- Изолированные контексты браузера, чистое тестовое состояние и многопользовательские сценарии.
- Дата обращения
- Playwright: эмуляция Microsoft Playwright
- Темы
- Эмуляция локали, часового пояса, геолокации, цветовой схемы, области просмотра и других условий тестирования.
- Дата обращения
- Playwright: аутентификация Microsoft Playwright
- Темы
- Наличие учётных данных в сохранённом состоянии браузера и необходимость исключать его из системы контроля версий.
- Дата обращения
- W3C: краткие рекомендации по интернационализации веба World Wide Web Consortium
- Темы
- Проверка языка, кодировки, направления текста, местных форматов и навигации при локализации.
- Дата обращения
- Рекомендации по доступности веб-контента WCAG 2.2 World Wide Web Consortium
- Темы
- Проверяемые требования к клавиатуре, фокусу, масштабу, анимации, ошибкам и аутентификации.
- Дата обращения
- W3C: обзор оценки доступности веба W3C Web Accessibility Initiative
- Темы
- Взаимодополняющие роли автоматических инструментов и квалифицированной проверки доступности человеком.
- Дата обращения
- OWASP: рекомендации по журналированию OWASP Foundation
- Темы
- Состав событий аудита, защита и хранение журналов, исключение паролей, токенов и других секретов.
- Дата обращения