Давайте разбираться.
Когда мы слышим «безопасность API», сразу рисуются образы токенов, шифрования и прочих штук по ИБ. Но по факту реальность другая: безопасность начинается с требований, а это прямая зона ответственности системного аналитика.
Конечно, аналитик не пишет код, но именно он формулирует правила, по которым разработчик строит безопасный API. Если эти правила расплывчаты или неполные, никакой токен не спасёт, дыры останутся.
Что входит в обязанности аналитика:
◾️Определяет, кто может вызывать метод: пользователь, сервис, роль.
◾️Формализует доступ к данным: какие поля видит клиент, а какие остаются внутренними.
◾️Прописывает поведение API при ошибках и некорректных запросах, чтобы не раскрывать лишние детали.
◾️Устанавливает правила лимитов и сценариев использования: что делать при перегрузках, повторных вызовах или нестандартных комбинациях параметров.
◾️Работает как мост между бизнесом и безопасностью: понимает, какие данные критичны, а какие можно обрабатывать проще.
Пример: запрос
/orders/{orderId}⏺Аналитик прописывает: «доступ к заказу только владельцу или поддержке»
⏺Какие поля видит владелец, какие поддержка, какие ни одна сторона
⏺Что возвращаем, если заказ не найден или права не совпадают
Если это всё описано чётко, разработчику проще реализовать корректную защиту.
Что делает разработчик
⏺Настраивает технические механизмы: токены, шифрование, OAuth, TLS, API-шлюз
⏺Реализует проверки, описанные аналитиком: доступ по ролям, фильтры данных, лимиты запросов
⏺Поддерживает мониторинг и логирование для аудита безопасности
Почему именно так, а не иначе?
Примеры реальных кейсов показывают: большинство утечек происходило не из-за плохого кода, а из-за непродуманных сценариев и правил доступа на уровне API. Если аналитик правильно формализует требования, большинство уязвимостей не появятся даже на этапе реализации.
Поэтому запишем себе, что системный аналитик строит каркас правил, на котором держится безопасность API. Без этих правил никакая технология не сделает систему безопасной. Но здесь снова оговорюсь, что всё зависит от проекта: в некоторых проектах/компаниях есть строгие политики по ИБ, требования к коду и API, где-то этого нет. Но даже если это есть, системному аналитику надо понимать, как с этим работать, и как каждое требование влияет на общую безопасность системы.