Вопрос с собеседования · System design

Чем аутентификация отличается от авторизации?

JuniorБезопасность приложения
Ещё спрашивают так:
  • Чем 401 отличается от 403?
Коротко

Аутентификация — «кто ты» (проверка личности); авторизация — «что тебе можно» (проверка прав на действие и ресурс).

  • 401 — личность не установлена, 403 — установлена, но прав нет
  • Обе проверки — на сервере, в каждом запросе
  • Самая частая ошибка — проверить только вход, но не владение ресурсом (IDOR)

А ещё Нарушение контроля доступа — первое место в OWASP Top 10

Подробно

Различие видно и в кодах ответа: 401 означает, что личность не установлена, а 403 — что установлена, но прав недостаточно. Самая частая ошибка в реальных системах — выполнить только первую проверку: пользователь вошёл в систему, но никто не убедился, что запрошенный ресурс принадлежит именно ему. Нарушение контроля доступа занимает первое место в актуальном рейтинге OWASP как раз поэтому.

Что хотят услышать

  • Различие понятий с примером.
  • Коды 401 и 403.
  • Частая ошибка: только аутентификация.

Частые ошибки

  • Ограничиваться проверкой входа без проверки прав на конкретный ресурс.
  • Полагаться на скрытие элементов интерфейса вместо серверной проверки.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Аутентификация проверяет права, а авторизация — личность пользователя
  • ✗Это два названия одной и той же проверки доступа к системе
  • ✓Аутентификация — кто вы; авторизация — что вам разрешено
  • ✗Аутентификация выполняется на клиенте, а авторизация — на сервере

Что спросят дальше

  • Как проверять владение ресурсом правильно?
  • Чем 401 отличается от 403 по смыслу?

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования