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

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

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

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

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

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам