Авторизация — процесс определения, что разрешено делать уже идентифицированному пользователю, устройству или приложению: какие данные читать, какие действия выполнять и к каким ресурсам обращаться.
Как работает авторизация
Авторизация следует за аутентификацией: аутентификация отвечает на вопрос «кто вы?», авторизация — «что вам разрешено?». Системы реализуют её через модели управления доступом:
- Списки контроля доступа (ACL) — разрешения, привязанные к каждому файлу или объекту;
- Ролевая модель (RBAC) — права назначаются ролям, например «бухгалтер» или «служба поддержки»;
- Атрибутная модель (ABAC) — решения на основе атрибутов: отдела, состояния устройства, местоположения или времени;
- Управление доступом на основе отношений — применяется облачными сервисами для совместного доступа к документам конкретных людей.
В вебе OAuth 2.0 (RFC 6749) — это именно фреймворк авторизации: он позволяет пользователю выдать приложению ограниченный доступ к своим данным без передачи пароля с помощью маркеров доступа с заданными областями (scopes).
Почему авторизация важна
Ошибки авторизации — одни из самых распространённых серьёзных уязвимостей. «Нарушение контроля доступа» (Broken Access Control) занимает первое место в OWASP Top 10 (2021), а нарушение авторизации на уровне объектов (BOLA) возглавляет OWASP Security Top 10 для API. Эти слабости каталогизированы как CWE-862 (отсутствие авторизации) и CWE-863 (некорректная авторизация). Типичный пример — небезопасная прямая ссылка на объект (IDOR): изменив ID в URL, можно увидеть счёт другого клиента. Подобные ошибки приводили к раскрытию миллионов записей, а уязвимости, позволяющие выполнять функции администратора, напрямую ведут к повышению привилегий.
Рекомендации
- Проверять права на сервере при каждом запросе, а не только в интерфейсе.
- Запрещать всё по умолчанию и следовать принципу минимальных привилегий.
- Централизовать логику авторизации и регулярно пересматривать роли и права.
- Включать сценарии контроля доступа в автотесты и тесты на проникновение.





