Apache Nifi - Как создать различные группы пользователей и политики при запуске Nifi?
Я понимаю, как использовать графический интерфейс Apache Nifi для добавления новых пользователей и применения политик. Однако я пытаюсь автоматизировать этот процесс, чтобы при запуске моего контейнера Docker Nifi у него уже было три группы пользователей (по существу, администратор, пользователь и читатель). Я использую NiPyAPI, но, честно говоря, мне не удается получить даже полный список политик для прохождения.
Я не использую компонент Registry, так как мне сейчас нужен простой рабочий процесс. Если у вас есть отличный стимул для этого в простых случаях, я с удовольствием выслушаю.
Конкретная проблема, с которой я сталкиваюсь: я не могу составить точный список доступных политик - все методы и конечные точки, которые я вижу, требуют, чтобы вы уже знали, что это такое. Я могу разбираться в GUI и распечатывать их все, как только добавляю все роли пользователю Admin, но я чувствую, что должен быть лучший способ получить сводный и полный список всех опций, которые у него есть.
Будем признательны за любые советы по автоматизации всех этих групп пользователей и политик (желательно с Python).
О да, а также я использую SSL, а не LDAP.
1 ответ
Если вы используете аутентификацию сертификата клиента TLS (не LDAP), пользователи определяются статическими идентификаторами (полученными из DN сертификата с помощью правил Identity Mapping, расположенных в nifi.properties
файл). Каждый определенный пользователь имеет политики, назначенные этому пользователю, и ресурс (компонент - PG, процессор и т. Д.), Определяющий права пользователя на просмотр / изменение ресурса.
В этом случае вы можете использовать несколько подходящих подходов:
- Создайте "хорошее" состояние с помощью пользовательского интерфейса, а затем экспортируйте
authorizers.xml
,users.xml
, а такжеauthorizations.xml
файлы из$NIFI_HOME/conf/
каталог. Эти XML-файлы могут быть предварительно загружены в ваш контейнер Docker, чтобы те же политики были доступны при первом запуске. - Все операции, выполняемые через интерфейс NiFi, на самом деле используют API-интерфейс REST NiFi за кулисами. Вы можете открыть панель инструментов разработчика в своем браузере, чтобы отслеживать вызовы API, используемые для отображения, создания и изменения определений пользователей и доступа к назначениям политик, а также копировать эти вызовы на язык сценариев по вашему выбору для динамического создания этих политик при запуске контейнера (используя NiPyAPI)., NiFi CLI, необработанные HTTP звонки через
curl
, так далее.)
Политики описаны в Руководстве администратора Apache NiFi в разделах Политики глобального доступа и Политики доступа на уровне компонентов.