Авторизация (Authorization) — это процесс определения и предоставления прав доступа к ресурсам, который следует за успешной аутентификацией. Если аутентификация отвечает на вопрос «Кто ты?», то авторизация отвечает на ключевой вопрос «Что тебе можно делать?». Этот механизм гарантирует, что пользователи могут выполнять только те действия и получать доступ только к тем данным, которые им разрешены в соответствии с установленной политикой безопасности. Например, авторизация определяет, может ли пользователь читать файл, но не может его удалять, или может ли менеджер просматривать отчеты только своего отдела.
Оглавление:
- 1. Что такое авторизация простыми словами?
- 2. Авторизация и Аутентификация: Ключевое различие
- 3. Как работает процесс авторизации? Субъект, объект и права
- 4. Модели авторизации: Как система принимает решения?
- 5. Что такое токен авторизации и как он используется?
- 6. Практический пример: Авторизация на веб-сайте
- 7. Риски и уязвимости, связанные с неправильной авторизацией
- 8. Заключение: Авторизация — невидимый регулятор цифрового мира
1. Что такое авторизация простыми словами?
Вернемся к нашему примеру с пропускным пунктом на предприятии. Вы показали охраннику пропуск, и он убедился, что вы — инженер Петров (прошли аутентификацию). Теперь начинается авторизация. Охранник смотрит на ваш пропуск и видит, что на нем есть отметка «Доступ в Цех №5» и «Доступ в столовую», но нет отметки «Доступ в лабораторию секретных разработок». Соответственно, в цех и столовую он вас пропустит, а в лабораторию — нет. Он определил и применил ваши права доступа.
В IT-системах авторизация — это именно этот процесс проверки «отметок» у цифровой личности пользователя. Она работает постоянно. Каждый раз, когда вы пытаетесь открыть файл, нажать на кнопку, перейти по ссылке в приложении, система за доли секунды проводит проверку авторизации: «А разрешено ли пользователю X выполнять действие Y над объектом Z?». Это основа для реализации принципа минимальных привилегий и защиты данных от несанкционированного использования.
2. Авторизация и Аутентификация: Ключевое различие
Несмотря на созвучность, эти понятия нельзя путать. Их различие — одно из фундаментальных в кибербезопасности.
Аутентификация (Проверка личности)
- Вопрос: Кто ты?
- Процесс: Проверка учетных данных (пароля, токена, биометрии).
- Результат: Система подтверждает (или не подтверждает) вашу личность.
- Пример: Ввод пароля для входа в Windows.
Авторизация (Проверка прав)
- Вопрос: Что тебе можно делать?
- Процесс: Проверка ваших прав доступа к конкретному ресурсу.
- Результат: Система разрешает (или запрещает) вам выполнить действие.
- Пример: Windows не дает вам удалить системный файл, даже если вы уже вошли в систему.
Проще говоря, аутентификация — это ключ от входной двери, а авторизация решает, какие комнаты внутри дома вам можно открывать.
3. Как работает процесс авторизации? Субъект, объект и права
Любой процесс авторизации оперирует тремя основными сущностями:
- Субъект: Активная сторона. Это тот, кто запрашивает доступ. Чаще всего это пользователь, но может быть и программа, сервис или устройство.
- Объект: Пассивная сторона. Это ресурс, к которому запрашивается доступ. Файл, база данных, принтер, API-endpoint.
- Права доступа (Permissions): Набор разрешенных действий, которые субъект может выполнять над объектом. Обычно это «чтение» (Read), «запись» (Write), «выполнение» (Execute), «удаление» (Delete).
Система авторизации хранит правила (политики) в виде, например, Списков контроля доступа (ACL — Access Control List), где для каждого объекта прописано, какие субъекты и что с ним могут делать.
4. Модели авторизации: Как система принимает решения?
Логика, по которой система принимает решение «разрешить/запретить», описывается моделями контроля доступа. Мы уже кратко касались их, а теперь рассмотрим подробнее.
4.1. Дискреционная модель (DAC)
Владелец объекта сам решает, кому дать доступ. Гибко, но в больших системах приводит к хаосу и сложностям в управлении. Идеально для персональных компьютеров.
4.2. Мандатная модель (MAC)
Правила устанавливаются централизованно на основе меток безопасности. Строго и надежно, но негибко. Применяется в системах, обрабатывающих гостайну, и сертифицированных ФСТЭК России по высоким классам защищенности.
4.3. Ролевая модель (RBAC) — корпоративный стандарт
Самая популярная модель для бизнеса. Администратор создает роли («Бухгалтер», «Кадровик»), назначает права этим ролям, а затем просто присваивает роли пользователям. Это на порядок упрощает администрирование прав в компаниях с сотнями сотрудников и приложений.
4.4. Атрибутная модель (ABAC) — будущее контроля доступа
Наиболее прогрессивная модель. Решение о доступе принимается на основе множества атрибутов: роль пользователя, его геолокация, время запроса, тип устройства, репутация IP-адреса и т.д. Это позволяет создавать очень гибкие и контекстно-зависимые политики безопасности, что является основой концепции «Нулевого доверия» (Zero Trust).
5. Что такое токен авторизации и как он используется?
В современных веб-приложениях и API часто используется токен авторизации. После того как пользователь успешно прошел аутентификацию, сервер выдает ему специальный зашифрованный «билет» — токен (например, JWT — JSON Web Token). В этом токене записана информация о пользователе и его правах.
Далее, при каждом обращении к защищенному ресурсу, пользователь предъявляет этот токен. Сервер проверяет подлинность токена и, не обращаясь каждый раз к базе данных, «читает» из него права пользователя и принимает решение об авторизации. Это эффективно и масштабируемо.
6. Практический пример: Авторизация на веб-сайте
- Пользователь входит на сайт, введя логин и пароль (аутентификация).
- Сервер проверяет данные, убеждается, что это реальный пользователь, и видит, что ему присвоена роль «Автор».
- Пользователь пытается нажать кнопку «Опубликовать статью».
- Система авторизации проверяет: есть ли у роли «Автор» право на действие «публикация»? Да, есть. Доступ разрешен.
- Затем пользователь пытается нажать кнопку «Заблокировать другого пользователя».
- Система авторизации проверяет: есть ли у роли «Автор» право на действие «блокировка»? Нет, это право есть только у роли «Администратор». Доступ запрещен.
7. Риски и уязвимости, связанные с неправильной авторизацией
Ошибки в настройке авторизации — один из самых распространенных и опасных классов уязвимостей (входит в OWASP Top 10 под названием «Broken Access Control»).
- Горизонтальное повышение привилегий: Пользователь получает доступ к данным другого пользователя с такими же правами (например, видит чужие заказы в интернет-магазине, меняя ID в URL).
- Вертикальное повышение привилегий: Обычный пользователь получает возможность выполнять функции администратора.
- Небезопасные прямые ссылки на объекты (IDOR): Уязвимость, позволяющая получить доступ к внутренним объектам, просто перебирая их идентификаторы в ссылке.
8. Заключение: Авторизация — невидимый регулятор цифрового мира
Если аутентификация — это пограничник, то авторизация — это сложная система законов и правил внутри страны. Она определяет, что можно, а что нельзя, создавая порядок и структуру. Грамотно спроектированная система авторизации, основанная на принципе минимальных привилегий и современных моделях, таких как RBAC и ABAC, является критически важным элементом защиты. Она позволяет безопасно работать с данными, разграничивать ответственность и гарантировать, что каждый пользователь и сервис в сложной IT-экосистеме будет действовать строго в рамках своих полномочий.