GrantForge

    Начало работы

    Введение

    Что такое GrantForge, какие задачи он решает и чем отличается от распространённых аналогов.

    GrantForge — открытая (MIT) единая платформа управления правами. Она централизует вопросы «кто может делать что и какие данные ему доступны»: пользователей и организации вы ведёте в консоли, задаёте роли, а ролям выдаёте права на меню, кнопки, API, строки данных и поля; приложение аутентифицирует пользователей через OAuth 2.1 / OpenID Connect и затем проверяет права через открытый API или SDK.

    Обзор консоли GrantForge

    Какие задачи решает

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

    • Задаётся один раз, действует везде: страницы консоли, кнопки, REST-эндпоинты, сущности данных и поля — это всё «ресурсы»; права выдаются ролям на ресурсы, и одни и те же выдачи управляют и видимостью интерфейса, и проверками на сервере.
    • Прозрачные права: в любой момент можно ответить на вопрос «почему этот человек видит эту страницу» и «на кого повлияет изменение этой роли»; изменения выдач сопровождаются предпросмотром и журналом аудита.
    • Готовность к комплаенсу: разделение обязанностей, запросы доступа с ограниченным сроком, периодические пересмотры и двухфакторная проверка закрывают типовые требования многоуровневой защиты (MLPS) и аудита внутреннего контроля.
    • Интеграция на основе стандартов: приложениям не нужно встраивать собственную систему пользователей — вход выполняется через OIDC, а права запрашиваются с помощью access token.

    Обзор возможностей

    Область Возможности
    Идентичность и организация Многотенантность, деревья подразделений, группы пользователей, должности; массовый импорт и экспорт в CSV; вход и синхронизация через LDAP/AD, федеративный вход через OIDC
    Безопасность учётной записи Управление сессиями, политики паролей и блокировка, двухфакторная проверка TOTP и коды восстановления, повторная проверка для чувствительных операций
    Функциональная авторизация Каталог ресурсов (модули, меню, страницы, вкладки, кнопки, API), наследование ролей, матрица выдач, анализ влияния
    Права на данные Ограничение видимых строк по условию (собственные записи, своё подразделение и его дочерние, указанные подразделения, пользовательские условия) с раздельным управлением чтением и записью
    Права на поля Скрытие, маскирование (электронная почта, номер телефона, номер документа и т. д.) или перевод полей в режим только для чтения
    Объяснимость и аудит Объяснение прав, моделирование выдач, запрос и выгрузка журнала аудита
    Управление Ограничения разделения обязанностей, запросы и согласования доступа, периодические пересмотры прав
    Интеграция приложений Сервер авторизации OAuth 2.1 / OIDC, открытый API для запросов прав, SDK для Java (Spring Boot) и JavaScript
    Внешние системы Подключаемые типы сервисов и движок политик (аналог Apache Ranger), сервисы данных, политики доступа и агенты
    Поставка Единый дистрибутив, Docker-образ, примеры Compose, Helm-чарт; H2, PostgreSQL, MySQL, MariaDB, Oracle, SQL Server

    Чем это отличается от привычных подходов

    • По сравнению с правами, написанными вручную в коде: правила доступа ведутся в консоли, поэтому изменение выдач не требует выпуска новой версии приложения; до выдачи видно её влияние, а после остаётся запись в журнале аудита.
    • По сравнению с IdP, которые занимаются только аутентификацией (Keycloak и им подобные): GrantForge поставляется с моделью авторизации, детализированной до кнопок, строк данных и полей, а также с функциями управления — разделением обязанностей и периодическими пересмотрами; он может и сам выступать IdP, и федерировать существующий источник идентичности LDAP или OIDC.
    • По сравнению с Apache Ranger: GrantForge заимствует у Ranger архитектуру типов сервисов, политик и агентов для управления правами во внешних системах данных, оставаясь при этом прежде всего платформой прав для бизнес-приложений.

    Дальше

    Редактировать эту страницу на GitHub