Сквозная аутентификация микросервисных приложений | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 18 мая, печатный экземпляр отправим 22 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №14 (461) апрель 2023 г.

Дата публикации: 06.04.2023

Статья просмотрена: 312 раз

Библиографическое описание:

Имамбердиев, Ф. Ф. Сквозная аутентификация микросервисных приложений / Ф. Ф. Имамбердиев. — Текст : непосредственный // Молодой ученый. — 2023. — № 14 (461). — С. 9-12. — URL: https://moluch.ru/archive/461/101306/ (дата обращения: 06.05.2024).



Ключевые слова: программный модуль, сквозная аутентификация, технология единого входа, микросервисные приложения.

Микросервисная архитектура набирает большую популярность за последнее время и представляет собой подход к разработке программного обеспечения, при котором большие приложения разбиваются на небольшие автономные модули, которые разрабатываются и развертываются независимо друг от друга. Использование данного подхода представляет сложность в обеспечении безопасности доступа к различным сервисам через общую систему аутентификации и авторизации. Пользователям необходимо проходить процедуру аутентификации и авторизации в каждом сервисе отдельно, что является неэффективным и затратным [1].

В традиционной монолитной архитектуре аутентификация и авторизация осуществляется централизованно на уровне приложения. В контексте микросервисной архитектуры, каждый сервис является отдельным автономным приложением, что усложняет управление аутентификацией и авторизацией. Для решения данной проблемы вводится сквозная аутентификация на основе технологии единого входа (SSO), которая позволяет пользователю войти в систему только один раз и автоматически получить доступ к различным сервисам, не вводя повторно учетные данные.

Данная проблема является важной, так как существует повышенный спрос на обеспечение безопасности в сфере информационного обмена, в связи с распространением множества приложений и сервисов, которые необходимо аутентифицировать. Это вызвано не только требованием защиты от различных угроз, таких как несанкционированный доступ к ресурсам и данным, а также утечки конфиденциальной информации, но и ростом количества систем, использующих микросервисную архитектуру. В настоящее время данная архитектура становится все более популярной, что усиливает потребность в эффективных средствах аутентификации пользователей и сервисов, работающих в различных системах. Программный модуль сквозной аутентификации на основе SSO позволит решить данную проблему и повысить уровень безопасности в области сетевого взаимодействия.

SSO — технология, которая позволяет пользователям аутентифицироваться только один раз для доступа к различным приложениям или сервисам, вместо того чтобы каждый раз вводить учетные данные. Когда пользователь входит в систему, SSO генерирует токен аутентификации, который сохраняется в хранилище токенов. При попытке доступа к другим приложениям или сервисам, они запрашивают у SSO токен аутентификации. Если токен действителен, то пользователь получает доступ к запрошенному ресурсу, без необходимости повторно вводить логин и пароль [2].

Реализацией данного программного модуля является отдельный сервис авторизации.

В качестве входных данных у программного модуля выступают:

  1. логин пользователя;
  2. пароль пользователя;
  3. секретные ключи client_id, client_secret которые создает ПМ для каждого клиентского приложения.

Client_id представляет собой уникальный идентификатор, выданный клиентскому приложению при его регистрации в ПМ. Данный ключ используется для идентификации приложения во время процесса аутентификации и авторизации.

Client_secret — секретный ключ, который выдается клиентскому приложению вместе с client_id. Данный ключ используется для подписи запросов, отправляемых с клиентского приложения на ПМ, и для проверки подписи ответов, получаемых от ПМ.

Использование client_id и client_secret обеспечивает безопасность процесса аутентификации и авторизации, так как клиентское приложение идентифицируется и авторизуется в ПМ перед получением доступа к ресурсам, защищенным с помощью SSO.

В качестве выходных данных у программного модуля выступают:

  1. access токен;
  2. refresh токен;
  3. срок жизни access токена.

Access токен — токен, который выдается после успешной аутентификации пользователя и который используется для авторизации доступа к ресурсам и сервисам, к которым пользователь имеет право доступа. Refresh токен — токен, который используется для обновления access токена после истечения его срока действия. Срок жизни access токена определяет время, в течение которого данный токен действителен.

Access и refresh токены создаются на основе протокола JWT, который применяется для обмена информацией между клиентом и сервером в формате, который безопасно хранится и передается в URL-адресах, POST-запросах или заголовках HTTP. JWT позволяет создавать токены, которые проверяются без дополнительной связи между клиентом и сервером [3].

Данные токены необходимы для обеспечения безопасности и авторизации доступа к ресурсам и сервисам. Access токен предоставляет доступ к ресурсам, которые запрошены пользователем при аутентификации, а refresh токен обновляет access токен после истечения его срока действия. Данные токены защищены от фальсификации и доступны только тому пользователю, который успешно аутентифицирован и авторизован.

Взаимодействие с программным модулем осуществляется посредством REST API. REST — стиль архитектуры, который применяется при построении распределенных систем. Данный стиль предлагает определенные ограничения для создания веб-сервисов, которые взаимодействуют друг с другом. В рамках REST API используются различные методы HTTP для выполнения запросов к сервисам, такие как GET, POST, PUT и DELETE [4].

ПМ предоставляет следующие REST API методы:

  1. регистрации пользователя;
  2. аутентификации пользователя;
  3. авторизации пользователя;
  4. метод обновления access токена по refresh токену.

Схема данных для программного модуля представлена на рис. 1.

Схема данных программного модуля

Рис. 1. Схема данных программного модуля

Алгоритм работы программного модуля представлен на рис. 2.

Алгоритм работы программного модуля

Рис. 2. Алгоритм работы программного модуля

Использование программного модуля сквозной аутентификации на основе SSO является необходимым для обеспечения безопасности и авторизации доступа к ресурсам и сервисам, особенно в условиях растущего спроса на микросервисную архитектуру. Реализация данного модуля позволяет повысить уровень безопасности в области сетевого взаимодействия и упростить процесс аутентификации и авторизации пользователей в различных системах.

Литература:

  1. Authentication in microservices. URL. — Текст: электронный // Frontegg: [сайт]. — URL: https://frontegg.com/blog/authentication-in-microservices
  2. How Does Single Sign-On Work. — Текст: электронный // one-login by one identity: [сайт]. — URL: https://www.onelogin.com/learn/how-single-sign-on-works
  3. Безопасность JSON Web Tokens. — Текст: электронный // Cyber polygon URL: [сайт]. — URL: https://cyberpolygon.com/ru/materials/security-of-json-web-tokens-jwt/
  4. Rest API documentation. — Текст: электронный // IBM URL: [сайт]. — URL: https://www.ibm.com/docs/en/inventory-visibility?topic=apis-rest-api-documentation
Основные термины (генерируются автоматически): SSO, программный модуль, REST, API, клиентское приложение, HTTP, JWT, микросервисная архитектура, обеспечение безопасности, сквозная аутентификация.


Ключевые слова

программный модуль, сквозная аутентификация, технология единого входа, микросервисные приложения

Похожие статьи

Обеспечение безопасного доступа и управления идентификацией...

Kеyсloak имеет широкий набор основных функций, например, единый вход (SSO), вход в систему через социальную

Компания JBoss разработала в 2014 году программный продукт Kеyсloak на языке Java под Apache2.

Kеyсloak использует JSON Web Token (далее JWT) открытого стандарта RFC 7519.

Разработанный программный модуль представлен на рисунках 1–3.

Создание клиент-серверного приложения на основе restful api...

...изучить принципы работы клиент-серверных приложений с Restful API архитектурой.

Схема работы такого сервера с RESTful API архитектурой отображена на рисунке 1.

Упрощенная схема работы подобного клиентского приложения изображена на рисунке 2. [4].

 Создание BPM системы на основе SQL базы данных при поддержке технологии REST API.

Востребованные технологии для разработки микросервисов

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

Научный журнал «Молодой ученый» №14 (461) апрель 2023 г.

Название: Значение факторов профессиональной и социокультурной подготовки кадров в обеспечении качества продукции.

Название: Роль микрофинансовых организаций в обеспечении экономической безопасности. Рубрика: Экономика и управление.

Разработка и внедрение приложения «Информирование...»

Реализация приложения основана на микросервисной архитектуре.

Существует много вариантов реализации архитектуры программного обеспечения.

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

Создание клиент-серверного приложения на основе restful api...

Важность соблюдения паттернов микросервисной разработки

Ключевые слова: микросервисная архитектура, паттерн, программный продукт.

Под микросервисами стоит понимать слабо связанные и легко изменяемые модули

поддержки и документирования, но и повышению уровня безопасности программного продукта.

Микросервисы — это приложения с одной функцией, как правило, небольшие по размеру...

Грамотный выбор стратегии развёртывания микросервисного...

 В данной статье заостряется внимание на важности правильного выбора стратегии развёртывания для программного продукта на основе микросервисной архитектуры. Ключевые слова: микросервисы, стратегия развёртывания, программный продукт.

Сквозная аутентификация микросервисных приложений

Сквозная аутентификация микросервисных приложений. №14 (461) апрель 2023 г. Авторы: Имамбердиев Фаррух Фарходович.

Библиографическое описание: Имамбердиев, Ф. Ф. Сквозная аутентификация микросервисных приложений / Ф. Ф. Имамбердиев.

Разработка информационной системы корпоративного...

Любая информационная система представляет собой программный продукт, реализующий

Фактически эти процессы — программное обеспечение, которое установлено на разных

Рис. 1. Архитектура клиент — сервер. Для работы настоящего приложения используется

С целью обеспечения работы микросервисной архитектуры используется Docker контейниризация.

Похожие статьи

Обеспечение безопасного доступа и управления идентификацией...

Kеyсloak имеет широкий набор основных функций, например, единый вход (SSO), вход в систему через социальную

Компания JBoss разработала в 2014 году программный продукт Kеyсloak на языке Java под Apache2.

Kеyсloak использует JSON Web Token (далее JWT) открытого стандарта RFC 7519.

Разработанный программный модуль представлен на рисунках 1–3.

Создание клиент-серверного приложения на основе restful api...

...изучить принципы работы клиент-серверных приложений с Restful API архитектурой.

Схема работы такого сервера с RESTful API архитектурой отображена на рисунке 1.

Упрощенная схема работы подобного клиентского приложения изображена на рисунке 2. [4].

 Создание BPM системы на основе SQL базы данных при поддержке технологии REST API.

Востребованные технологии для разработки микросервисов

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

Научный журнал «Молодой ученый» №14 (461) апрель 2023 г.

Название: Значение факторов профессиональной и социокультурной подготовки кадров в обеспечении качества продукции.

Название: Роль микрофинансовых организаций в обеспечении экономической безопасности. Рубрика: Экономика и управление.

Разработка и внедрение приложения «Информирование...»

Реализация приложения основана на микросервисной архитектуре.

Существует много вариантов реализации архитектуры программного обеспечения.

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

Создание клиент-серверного приложения на основе restful api...

Важность соблюдения паттернов микросервисной разработки

Ключевые слова: микросервисная архитектура, паттерн, программный продукт.

Под микросервисами стоит понимать слабо связанные и легко изменяемые модули

поддержки и документирования, но и повышению уровня безопасности программного продукта.

Микросервисы — это приложения с одной функцией, как правило, небольшие по размеру...

Грамотный выбор стратегии развёртывания микросервисного...

 В данной статье заостряется внимание на важности правильного выбора стратегии развёртывания для программного продукта на основе микросервисной архитектуры. Ключевые слова: микросервисы, стратегия развёртывания, программный продукт.

Сквозная аутентификация микросервисных приложений

Сквозная аутентификация микросервисных приложений. №14 (461) апрель 2023 г. Авторы: Имамбердиев Фаррух Фарходович.

Библиографическое описание: Имамбердиев, Ф. Ф. Сквозная аутентификация микросервисных приложений / Ф. Ф. Имамбердиев.

Разработка информационной системы корпоративного...

Любая информационная система представляет собой программный продукт, реализующий

Фактически эти процессы — программное обеспечение, которое установлено на разных

Рис. 1. Архитектура клиент — сервер. Для работы настоящего приложения используется

С целью обеспечения работы микросервисной архитектуры используется Docker контейниризация.

Задать вопрос