Перейти к содержанию

Разработка безопасных сервисов

Разработчик в первую очередь несет ответственность за то, как реализованы четыре аспекта безопасности.

  • Аутентификация. Проверяет подлинность программы или человека, запрашивающего доступ.
  • Авторизация. Проверяет, позволено ли субъекту выполнять запрошенную операцию.
  • Аудит. Отслеживает операции, выполняемые субъектом, чтобы обнаруживать проблемы безопасности.
  • Безопасное межпроцессное взаимодействие.

Обзор безопасности в традиционном монолитном приложении

Pasted image 20211026202133.png
Вот последовательность событий, изображенных на картинке.

  1. Клиент шлет приложению запрос на вход в систему.
  2. Запрос входа в систему обрабатывается объектом LoginHandler, который проверяет учетные данные, создает сеанс и сохраняет туда информацию о субъекте.
  3. LoginHandler возвращает клиенту токен сеанса.
  4. Клиент включает токен сеанса в запросы, выполняющие операции.
  5. Эти запросы сначала обрабатываются перехватчиком SessionBasedSecurityInterceptor. Он аутентифицирует запрос, проверяя токен сеанса, и устанавливает контекст безопасности, в котором описывается субъект и его роли.
  6. С помощью контекста безопасности обработчик запросов определяет, разрешено ли пользователю выполнять запрошеннуюю операцию, и получает его идентификатор.

Здесь сеансы хранятся в оперативной памяти, что требует направлять все запросы одного сеанса к одному экземпляру приложения.

Обеспечение безопасности в микросервисной архитектуре


Последнее обновление : 14 сентября 2022 г.
Дата создания : 2 августа 2022 г.

Комментарии

Комментарии