2026.3.0 распространяет права внешних систем на Apache Pulsar, Apache Solr, ClickHouse, PostgreSQL и OpenSearch. Агенты Pulsar и Solr решают каждый запрос внутри системы; агенты ClickHouse, PostgreSQL и OpenSearch работают рядом с системой и согласуют её собственный контроль доступа с политиками, так что система сама проверяет каждый запрос. Полный список изменений — в сравнении на GitHub.
Apache Pulsar
- Сервисный плагин Pulsar: тенанты, пространства имён, топики, подписки ниже топика и кластеры, с типами доступа Pulsar produce, consume, functions, sources, sinks и packages и администрированием топиков, пространств имён и тенантов; вход по токену, паролю, клиентским учётным данным OAuth 2.0 или клиентскому сертификату TLS; см. Apache Pulsar.
- Провайдер авторизации брокеров, который решает каждую проверку последовательно на тенанте, пространстве имён, топике и подписке, с условиями по адресу клиента; admin на кластере делает роль суперпользователем Pulsar, а выдача прав через сам Pulsar отклоняется; см. агент Pulsar.
- Интеграционные тесты охватывают Pulsar 3.0.17, 3.3.9, 4.0.14 и 4.2.5.
Apache Solr
- Сервисный плагин Solr: коллекции, пути запросов внутри них, например
/selectили/export, чтобы политика могла разрешить коллекцию и запретить один обработчик, и кластер; вход с базовой аутентификацией или JSON Web Token; см. Apache Solr. - Плагин авторизации узлов, который классифицирует запросы так же, как основанный на правилах плагин Solr, и решает каждый на его коллекции и пути запроса; запросам Collections API нужен
admin_collectionна каждой названной ими коллекции, а проверенные роли JSON Web Token считаются группами; см. агент Solr. - Интеграционные тесты охватывают узлы SolrCloud Solr 9.8.1, 9.10.1, 9.11.0 и 10.0.0 под менеджером безопасности Solr 9.
ClickHouse
- Сервисный плагин ClickHouse: базы данных, таблицы, столбцы и сервер; чтение и запись решаются по столбцам, а операции над таблицами, базами данных и сервером — собственными типами доступа, ни один из которых не является группой привилегий, поэтому политика никогда не даёт больше, чем называет; см. ClickHouse.
- Агент рядом с серверами, который держит по одной роли на пользователя ровно с тем, что дают политики, и по одной политике строк на каждый фильтр строк; тип доступа, разрешённый на всей базе данных без ограничений ниже, выдаётся на базу данных, так что новые таблицы получают его сразу; см. агент ClickHouse.
- Доступы сообщаются из
system.query_log; о правах вне GrantForge, дающих то, что политика запрещает, сообщается. Интеграционные тесты охватывают ClickHouse 24.8, 25.3, 25.8, 26.3 и 26.8.
PostgreSQL
- Сервисный плагин PostgreSQL: базы данных, схемы, таблицы и представления, а также столбцы, с привилегиями PostgreSQL на том уровне, на котором их выдаёт PostgreSQL; вход по паролю или клиентскому сертификату TLS, с режимами TLS libpq; см. PostgreSQL.
- Агент рядом с серверами, который держит по одной роли на пользователя в каждой базе данных, вплоть до столбцов, с нужными
CONNECT,USAGEна схемах и последовательностями serial, и меняет каждую базу данных в одной транзакции; фильтры строк становятся ограничивающими политиками защиты строк, поэтому только сужают доступ; см. агент PostgreSQL. - Доступы сообщаются из журнала сервера, записанного с pgaudit. Интеграционные тесты охватывают PostgreSQL 15, 16, 17 и 18.
OpenSearch
- Сервисный плагин OpenSearch: индексы и потоки данных, их поля и кластер; каждый тип доступа — группа действий плагина безопасности; маски становятся его маскированными полями, а фильтры строк — защитой на уровне документов; см. OpenSearch.
- Агент рядом с кластером, который держит по одной роли на пользователя, сопоставленной только с этим пользователем, и записывает их JSON-патчами, которые плагин безопасности применяет во всём кластере; шаблоны индексов остаются шаблонами там, где все политики решают одинаково по ним, так что созданные позже индексы доступны сразу; см. агент OpenSearch.
- Доступы сообщаются из журнала аудита плагина безопасности; о ролях вне GrantForge, дающих то, что политика запрещает, сообщается. Интеграционные тесты охватывают OpenSearch 2.19, 3.3, 3.6 и 3.9.
Движок политик и агенты
- Движок политик сообщает, может ли что-либо ниже ресурса быть решено иначе для пользователя и доступа, поэтому агенты, выдающие права в терминах самой системы, могут выдать контейнер целиком, например все таблицы базы данных.
- Снимки агентов, помимо политик доступа, показывают политики маскирования и фильтрации строк и упомянутых в них пользователей.
Документация и выпуск
- Плагины и агенты Pulsar, Solr, ClickHouse, PostgreSQL и OpenSearch документированы на всех одиннадцати языках, и каждый README перечисляет их с версиями, которые проверяют интеграционные тесты.
- Полосы прокрутки документации следуют палитре сайта в светлой и тёмной темах.
- Выпуски на GitHub называются по тегу версии.
Исправления
- Плагин Pulsar называет брокер, отклоняющий соединения, недоступным.
- Агент Solr собирается с Solr 9.10.1, где исправлены уязвимости более ранних выпусков.
- Агент PostgreSQL читает сокращения часовых поясов, например
CEST, во времени журнала сервера. - Агент OpenSearch держит SLF4J внутри своего jar, так что сервер, который его включает, сохраняет собственное журналирование.
- Консоль, SDK и сайт документации обновляют vite, vitest, undici и dompurify до версий, исправляющих уязвимости npm.
