Безопасность · База
Проверить авторизацию на уровне ресурса
Гарантировать, что пользователь может работать только с разрешенными ему данными.
Быстро понять за 2 минуты
Гарантировать, что пользователь может работать только с разрешенными ему данными. На выходе: чужие ресурсы недоступны.
Контекст
Пункт относится к этапу «Безопасность». Его задача — снижать риски безопасности на каждом этапе разработки. Он нужен до передачи результата разработчикам, QA и команде эксплуатации: иначе команда рискует проверять только наличие логина.
Что это дает
Authorization защищает от IDOR и утечек данных между пользователями, командами и организациями. Это помогает связать работу с общей целью: надежная, безопасная и поддерживаемая система. Практический эффект виден, когда чужие ресурсы недоступны.
Как выполнить
- Проверяйте доступ не только к endpoint, но и к конкретному объекту.
- Покройте тестами чужие ID и разные роли.
- Держите правила доступа рядом с доменной логикой.
Критерии приемки
- Чужие ресурсы недоступны.
- Роли и permissions описаны.
- Есть тесты на отрицательные сценарии доступа.
Типичные ошибки
- Проверять только наличие логина.
- Доверять ID из клиента.
- Забывать authorization в background jobs.
Инструменты
Рабочий артефакт
Security checklist
Безопасность: документ с выводом, доказательствами, ответственным и следующим действием
Пример для разработки сервиса заказов: специалист начинает с действия «Проверяйте доступ не только к endpoint, но и к конкретному объекту». Результат прикладывают к рабочей задаче и передают следующему участнику. Пункт закрывают не по факту обсуждения, а когда выполнено условие: «Чужие ресурсы недоступны».
- Auth checks
- Access rules
- Secrets
- Rate limits
Контроль качества
Контроль безопасности backend
Чужие ресурсы недоступны.
После изменения контрактов, релизов, инцидентов, роста нагрузки и пересмотра архитектурных решений.
Контракт, ограничения, сценарии отказа, метрики, владельца сервиса и критерии готовности.
Перед отметкой выполнено: Чужие ресурсы недоступны.
Как применять
Начинайте с границ ответственности и пользовательского сценария, который обслуживает система. Затем проверьте контракт, данные, отказоустойчивость, безопасность и наблюдаемость. Хороший backend-пункт фиксирует, что именно меняется, как это проверить и какие метрики покажут стабильность решения.
Режим обучения
Тест по теме
Проверка понимания
Ответьте на вопросы по материалу и получите итоговый отчет: что понято хорошо, а что стоит перечитать.