Apache Nifi - Как создать различные группы пользователей и политики при запуске Nifi? - PullRequest
0 голосов
/ 05 марта 2019

Я понимаю, как использовать графический интерфейс Apache Nifi для добавления новых пользователей и применения политик.Однако я пытаюсь автоматизировать этот процесс, чтобы при запуске моего контейнера Docker Nifi у него уже было три группы пользователей (по существу, администратор, пользователь и читатель).Я использую NiPyAPI, но, честно говоря, я не могу получить даже полный список политик для прохождения цикла.

Я не использую компонент Registry, так как мне сейчас нужен простой рабочий процесс.Если у вас есть отличный стимул для этого в простых случаях, я с удовольствием выслушаю.

У меня есть конкретная проблема: я не могу составить точный список доступных политик - всеметоды и конечные точки, которые я вижу, требуют, чтобы вы уже знали, что это такое.Я могу разбираться в GUI и распечатывать их все, как только добавляю все роли пользователю Admin, но я чувствую, что должен быть лучший способ получить сводный и полный список всех опций, которые у него есть.

Буду признателен за любые советы по автоматизации всех этих групп пользователей и политик (желательно с Python).

О да, а также я использую SSL, а не LDAP.

1 Ответ

0 голосов
/ 05 марта 2019

Если вы используете аутентификацию сертификата клиента TLS (не LDAP), пользователи определяются статическими идентификаторами (полученными из DN сертификата с помощью правил Identity Mapping , расположенных в файле nifi.properties),Каждый определенный пользователь имеет политики, назначенные этому пользователю и ресурсу ( компонент - PG, процессор и т. Д.), Определяющие права пользователя на просмотр / изменение ресурса.

В этом случае вы можете использовать несколько подходящих подходов:

  1. Создать «хорошее» состояние с помощью пользовательского интерфейса, а затем экспортировать authorizers.xml, users.xml иauthorizations.xml файлы из каталога $NIFI_HOME/conf/.Эти XML-файлы могут быть предварительно загружены в ваш контейнер Docker, чтобы те же политики были доступны при первом запуске.
  2. Все операции, выполняемые через интерфейс NiFi, на самом деле используют NiFi REST API за кулисами.Вы можете открыть панель инструментов разработчика в своем браузере, чтобы отслеживать вызовы API, используемые для отображения, создания и изменения определений пользователей и доступа к назначениям политик, а также копировать эти вызовы на язык сценариев по вашему выбору для динамического создания этих политик при запуске контейнера (используя NiPyAPI , NiFi CLI , необработанные HTTP-вызовы через curl и т. Д.)

Политики задокументированы в Руководстве администратора Apache NiFi под Политики глобального доступа и Политики доступа на уровне компонентов разделы.

...