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

Какие задачи решает
Когда система вырастает до определённого размера, права разбредаются повсюду: меню живут в конфигурации фронтенда, у каждого эндпоинта своя проверка на аннотациях, а область видимости данных зависит от написанных вручную условий 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 архитектуру типов сервисов, политик и агентов для управления правами во внешних системах данных, оставаясь при этом прежде всего платформой прав для бизнес-приложений.
Дальше
- Быстрый старт за пять минут: скачивание, запуск, завершение инициализации и выдача первой роли.
- Основные понятия: как связаны ресурсы, роли, выдачи, назначения и вычисление прав.
- Обзор интеграции: как применить GrantForge в своём приложении.
