Проверка ролей и разграничения прав
Проверка ролей и разграничения прав сопоставит выданные полномочия с тем, что пользователь способен сделать через интерфейс и прямой API. Проверим просмотр и изменение чужих объектов, административные функции, экспорт, массовые действия и служебные поля. Матрица покажет разрешённые и запрещённые пары, серверные проверки закрепят правила, а тесты помогут сохранить их после будущих доработок.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Роли добавлялись по мере роста продукта, сотрудники затрудняются объяснить итоговый набор прав, а интерфейс скрывает функции по разным локальным условиям.
- B2B-кабинет разделяет клиентов, филиалы, юридические лица, менеджеров и согласующих, поэтому доступ зависит одновременно от роли, организации, объекта и статуса.
- Новая административная функция, экспорт или массовое действие появилось в API и требует проверки всех путей, которыми его способен вызвать пользователь.
Что именно мы сделаем
Собираем роли, организации, объекты, функции, состояния и все каналы, способные запустить важное действие.
Строим матрицу роль—действие—объект—условие и создаём контрольные аккаунты и данные для проверки.
Тестируем интерфейс, прямые API, экспорт, импорт, массовые операции и скрытые административные методы.
Проверяем владельца, tenant, роль, статус, служебные поля и контекстные правила на серверном уровне.
Исправляем подтверждённые обходы и передаём позитивные и негативные регрессионные сценарии.
Что входит в стоимость
34 900 ₽ за всю работу
Собираем роли, ресурсы, функции, состояния, филиалы и организации, строим матрицу роль—действие—объект—условие. Проверяем страницы, API, скрытые административные endpoint, экспорт, импорт и массовые операции на горизонтальное и вертикальное повышение прав. Анализируем owner, tenant, role и status в параметрах, mass assignment и контекстные правила, исправляем серверный контроль и добавляем позитивные и негативные тесты.
Что будет готово
Передадим вам
- Матрица ролей, действий, объектов, организаций и состояний с ожидаемыми разрешениями и ответственным владельцем правила.
- Контрольные аккаунты и данные, отчёт по endpoint и массовым операциям, подтверждения влияния и выполненные серверные исправления.
- Набор позитивных и негативных регрессионных сценариев, пригодных для ручного запуска или включения в тестовый pipeline.
Перед сдачей проверим
- Для выбранных строк матрицы разрешённая роль получает ожидаемый объект и действие, а запрещённая роль получает 403 или выбранный безопасный ответ.
- UI и прямой API применяют одинаковое правило для собственного и чужого объекта, организации, филиала, состояния и массовой операции.
- Изменение служебных полей проходит только через разрешённое действие, а повторный набор тестов связывает каждый результат с конкретной строкой матрицы.
Как это выглядит на практике
Экспорт заявок учитывает филиал на сервере
- 01
Менеджер филиала видит в интерфейсе только свои заявки и получает доступ к кнопке экспорта по назначенной роли.
- 02
Прямой запрос массовой выгрузки принимает идентификатор другого филиала и возвращает его документы, хотя интерфейс скрывает этот вариант.
- 03
Сервер связывает филиал с текущим пользователем, фильтрует выгрузку по организации и записывает событие массового получения документов.
- 04
Позитивный тест подтверждает собственный экспорт, негативный запрос к другому филиалу получает безопасный ответ, а правило появляется в матрице.
Что понадобится для работы
От вас
- Описание ролей, групп, организаций, филиалов, важных функций и состояний или сотрудник, который поможет сформулировать правила.
- Тестовые пользователи и объекты для каждой роли, URL, API или OpenAPI и доступ к тестовому контуру.
- Доступ к коду, конфигурации и журналам для поиска источника права и внесения выбранных серверных исправлений.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 31 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Чем эта проверка отличается от BOLA и IDOR?
BOLA и IDOR сосредоточены на обращении к чужому объекту. Здесь дополнительно проверяем функции, роли, массовые операции, служебные поля, организации и состояния бизнес-процесса.
Нужна готовая матрица прав?
Готовая матрица ускоряет старт. При её отсутствии собираем правила по интерфейсу, коду, настройкам и разговору с владельцем процесса, затем отдаём оформленный и проверенный вариант.
Проверяется только API?
Проверяются все выбранные входы, способные вызвать важное действие: страницы, мобильный API, экспорт, импорт, пакетные методы и административные маршруты.
Можно проверить одну новую роль?
Да. Новую роль связываем со всеми затронутыми ресурсами, функциями, организациями и состояниями, чтобы соседний endpoint или массовая операция применяли то же правило.
Входят ли серверные правки разграничения прав?
Да. Выбранные серверные правки ключевых обходов и повторная проверка входят в сценарий. Архитектуру прав можно развивать дальше по готовой матрице и тестам.
Проверяются ли массовые выгрузки и групповые операции?
Да. Отдельно проверяем экспорт, пакетное изменение, импорт и действия над выбранными объектами. Такие операции часто используют другой обработчик и требуют собственной серверной проверки прав.
Учитываются ли статус документа и принадлежность к организации?
Да. Матрица может учитывать роль, компанию, подразделение, владельца объекта и его состояние. Например, право просмотра счёта и право его согласования проверяются как разные действия.
Можно ли передать регрессионные проверки разработчикам?
Да. Передаём сценарии с контрольными ролями, объектами, запросами и ожидаемыми ответами. Их можно запускать вручную или перенести в автоматические тесты проекта.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Следующие шаги по защите
Связанные работы выстроены в практическом порядке. Можно начать с текущей задачи или перейти к соседнему этапу.
- 01Рецертификация прав доступа сотрудников
Проверить актуальность доступов
- 02Проверка ролей и разграничения прав
Проверить роли и действия
- 03Изоляция данных клиентов через PostgreSQL RLS
Закрепить ограничения на уровне базы