Описание
Программный продукт «Мицелий» предназначен для микросервисных платформ и обеспечивает разграничение и контроль доступа к данным через GraphQL API. Система состоит из двух ключевых сервисов: сервиса Grants, который управляет моделью контроля доступа на основе подходов RBAC (Role-Based Access Control) и ABAC (Attribute-Based Access Control), и сервиса SecurityProxy, который обеспечивает контроль доступа к данным, предоставляемым GraphQL API сервисов-источников данных.
«Мицелий» позволяет детализированно настраивать права доступа как к отдельным полям модели (GQL-контракту), так и к всей модели целиком. Права доступа для конкретных пользователей определяются разработчиками сервисов-источников данных в базе данных сервиса Grants.
Целью системы является создание надежного механизма контроля доступа, который учитывает специфику работы с чувствительной информацией, включая служебную и банковскую тайну, в условиях омниканальной среды с множеством контекстов выполнения кода.
Сервисы, входящие в состав «Мицелия», выполняют следующие задачи: сервис Grants предоставляет список ролей пользователя после аутентификации, открытые данные сертификатов для проверки подписей JWT-токенов, формирует JWT-токены для авторизации в сервисах источниках данных в зависимости от указанных ролей, а также хранит данные пользователя и настройки контроля доступа. Сервис SecurityProxy осуществляет контроль доступа, проверяет правильность разметки GraphQL API, предоставляет контракты защищаемого сервиса внешним потребителям без ограничения доступа к ним для неавторизованных запросов и проксирует авторизованные запросы к сервисам-источникам данных.
Система «Мицелий» поддерживает расширение функционала для работы не только с GraphQL API, но и с REST API, что повышает ее универсальность. Возможности настройки доступа позволяют минимизировать вмешательство в существующие системы, что делает внедрение более простым и безопасным. Также система поддерживает ролевую модель и исключает необходимость изменения кода ядра для настройки контроля доступа.
Внедрение «Мицелия» возможно как в рамках контейнеризованных систем с использованием Kubernetes, так и в качестве сетевого прокси, что расширяет горизонты ее применения в различных архитектурах.
Этот продукт актуален для организаций, работающих с высокочувствительными данными, включая банковский сектор и предприятия, требующие комплексного подхода к контролю доступа в разнородных информационных системах. «Мицелий» ориентирован на профессиональных разработчиков программного обеспечения, системных администраторов и специалистов по безопасности.
Если вы обнаружили ошибку, пожалуйста, уведомите нас — выделите текст с ошибкой и нажмите клавиши Ctrl+Enter. Отключите блокировщик рекламы, если после нажатия комбинации кнопок не срабатывает всплывающее окно.