Loading
Пропустить Навигационные Ссылки.

Авторизоваться
Для зарегистрированных пользователей

Взаимная интеграция сервисов данных распределённых систем спутникового мониторинга

В настоящее время существует достаточно большое количество систем работы со спутниковыми данными, осуществляющими накопление, базовую и тематическую обработку данных ДЗЗ для решения различных задач. Для экономии вычислительных мощностей, и, в частности, во избежание дублирования хранения одних и тех же данных в разных системах в ИКИ РАН используется сервисная модель для работы с данными (рисунок 3.2.4.1.), что позволяет работать с данными одной системы в нескольких внешних через сервисы предоставления доступа. Такие сервисы, в том числе, обеспечивают анализ данных и формирование требующихся производных (тематических) продуктов на лету. По такой сервисной модели функционирует, в частности, Объединенная система работы со спутниковыми данными ФГБУ "НИЦ "Планета", установленная на узлах распределенной сети центров приема спутниковой информации Росгидромета, и сервисы ЦКП «ИКИ-Мониторинг». Система обеспечивает через сервисы работу со спутниковыми данными внешних систем, таких как ИСДМ-Рослесхоз и других.

 
Рисунок 3.2.4.1 — Схема построения сервисной модели предоставления данных пользователям.

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

С учётом всех требований в ИКИ РАН была разработана универсальная схема взаимной интеграции web-сервисов данных распределённых систем. Она основана на использовании возможностей web-сервера Apache и интегрированного с ним специального программного обеспечения, которые в связке позволяют обеспечить безопасный доступ и контроль за предоставляемыми сервисам данными.

Сервисную схему предоставления данных можно разделить на 2 основные составные части:

  • проект А – сервис, непосредственно предоставляющий данные пользователю, а также обладающий всей требуемой для аутентификации и авторизации информацией. Для связи с другими сервисами-поставщиками данных на web-сервере обычно используется обратный прокси-сервер, который перенаправляет запросы во внешние системы и возвращает результат пользователю;
  • проект В – система-поставщик сервиса данных, который обеспечивает проект А данными, которые на нём отсутствуют. В нём присутствует собственная система аутентификации и авторизации, которая предотвращает получение данных сторонними неавторизованными пользователями.


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

Одним из способов реализации сервисной схемы предоставления данных является механизм OAuth2. В его основе лежит простая логика, в рамках которой после перенаправления запроса пользователя с web-интерфейса на сервис поставщика данных, последний запрашивает у проекта А, как у поставщика авторизации, информацию о правах пользователя для осуществления его доступа к определённым данным с последующим выделением пользователю токена аутентификации. Однако у такой схемы есть ряд недостатков, среди которых основным является необходимость осуществления дополнительных запросов, в которых может передаваться большой объём данных в случае наличия у пользователя специфических прав доступа. К подобным ограничениям относится, например, доступная для него область интереса, которая обычно хранится в виде сложных полигонов в формате WKT. Очевидно, что передача такой информации может в определённых случаях существенно увеличивать время, требуемое для возврата результата.

В ИКИ РАН была предложена альтернативная схема (рисунок 3.2.4.2.), в рамках которой для доступа к информации поставщика данных происходит модификация исходного запроса, чтобы он мог в дальнейшем беспрепятственно проходить процедуру аутентификации и авторизации. При этом для каждого импортирующего данные проекта создаётся выделенный пользователь, что позволяет ограничить предоставляемые сервисом ресурсы и продукты, а также осуществлять их контроль. В случае наличия у пользователей проекта А нестандартных ограничений, которые упоминались ранее, в системе-поставщике сервиса данных могут быть созданы дополнительные пользователи, что позволяет избежать накладных расходов на передачу большого объема информации. При этом исходные запросы пользователей к web-интерфейсу должны быть модифицированы таким образом, чтобы они проходили процедуру проверки пользователя и его прав у поставщика данных без передачи конфиденциальной информации, за исключением факта наличия дополнительных ограничений и их типа.

Для осуществления этого необходимо внести изменения в стандартную процедуру аутентификации и авторизации на web-сервере сервиса предоставления данных пользователю в процессе проксирования запроса во внешнюю систему. Дополнительный модуль mod_perl (mod_perl2) для web-сервера apache позволяет перехватывать управление определёнными этапами обработки запроса и осуществить их посредством специально написанного ПО на языке Perl.


 
Рисунок 3.2.4.2 — Схема взаимной интеграции сервисов распределенных систем мониторинга.

Таким образом, непосредственно в процессе осуществления проверки подлинности пользователя и его прав, становится возможным осуществить следующее:

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


В результате осуществления этой последовательности действий запрос, пришедший от проекта А к системе-поставщику сервиса данных, будет аутентифицироваться и авторизоваться в рамках его системы контроля доступа под выделенным пользователем для экспорта данных во внешние системы.

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