Мицелий состоит из двух сервисов

Мицелий позволяет настраивать права доступа к отдельным полям модели (GQL-контракту) или всей модели целиком. Права доступа для конкретных пользователей указываются разработчиками сервисов-источников данных в базе данных сервиса Grants.
GrantsВыполняет функции управления моделью контроля доступа на основе RBAC/ABAC подходов
SecurityProxyОсуществляет контроль доступа к данным, предоставляемым GraphQL API сервисов-источников данных

Цели и задачи продукта

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

Сервис Grants

  • предоставление списка ролей пользователя, прошедшего аутентификацию;
  • предоставление открытых данных сертификатов для проверки подписи JWT-токена;
  • формирование JWT-токена для авторизации в сервисе источнике данных для указанной роли пользователя, прошедшего аутентификацию; хранение данных пользователя, необходимых для выпуска JWT-токена;
  • хранение ролей, доступных пользователю для авторизации;
  • хранение настроек контроля доступа для сервисов-источников.

Сервис SecurityProxy

  • контроль доступа к данным, предоставляемым GraphQL API сервисом-источником данных, на основе правил авторизации;
  • проверка корректности разметки GraphQL API сервисов-источника данных;
  • предоставление контрактов защищаемого сервиса внешним потребителям без ограничения доступа к контрактам для неавторизованных запросов;
  • проксирование запросов, прошедших авторизацию к сервису-источнику данных.

Основные преимущества

Реализация вокруг GraphQL API с возможностью расширения поддержки на REST API
Возможности реализации доступа и настройки доступа к отдельным полям модели данных (GQL-контракту) или всей модели целиком без модификации систем
Поддержка ролевой модели и её администрирования
Внедрение как sidecar (паттерн для мульти-контейнерных подов при использовании Kubernetes) в контейнеризованных системах
Возможность использования в качестве сетевого прокси

Документы

Описание продуктаСкачать
Руководство администратораСкачать