Если я правильно понимаю, вы хотите автоматизировать установку пользователей, групп и политик на фиксированные, предопределенные значения.
Я бы порекомендовал использовать FileUserGroupProvider
и FileAccessPolicyProvider
, так как оба они дают вамвозможность настройки пользователей, групп и политик непосредственно в самом NiFi.Вам не нужно создавать пользовательские реализации UserGroupProvider или AccessPolicyProvider, если вам не нужно настраивать функциональность сверх того, что могут предоставить включенные файловые провайдеры.
Вы сказали, что не хотите использовать nifi-api,под которым я предполагаю, что вы имеете в виду HTTP REST API.(Я не пытаюсь быть педантичным, на самом деле есть библиотека под названием nifi-api, которая представляет собой набор интерфейсов Java для разработчиков nifi для использования при написании расширений.) REST APi - это хороший вариант, который я обычно рекомендую, так как естьгарантирует обратную совместимость для NiFI 1.x в будущем, но это не единственный способ достичь того, что вы хотите сделать.
Вы можете создавать файлы users.xml и authorizations.xml вручную (или по сценарию)вне NiFi, и вам просто нужно настроить FileUserGroupProvider и AccessUserGroupProvider для использования этих файлов (или скопировать их в расположение по умолчанию для этих файлов в каталоге conf).При запуске NiFi считывает содержимое этих файлов в память для создания пользователей, групп и политик доступа. Свойства Первоначальный пользователь и Начальный администратор используются только для автоматизации заполнения этих файлов, когда они отсутствуют или пусты, , поэтому, если вы предоставите свои собственные копии этих файлов, они будут использованы.
Структура этих файлов XML довольно проста в создании.Вы можете использовать экземпляр NiFi для создания пользователей, групп и политик через пользовательский интерфейс и посмотреть, что записано в эти файлы.Затем вы можете создавать их по своему усмотрению: пользовательский интерфейс NiFi, вручную или по сценарию из другого исходного файла.Создав файлы, вы можете выполнить «начальную загрузку», поместив их в каталог NiFi и (пере) запустив его.NiFi не регенерирует и не изменяет эти файлы, если пользователи, группы и политики не изменяются в пользовательском интерфейсе.
Единственным недостатком этого подхода является то, что эти файлы не гарантируют стабильную схему в будущем.Таким образом, новые поля могут быть добавлены или изменены с течением времени.Тем не менее, они были стабильны в течение последних нескольких версий NiFi.