Согласно документации - Apache NiFi не поддерживает авторизацию без SSL.
В данном пример используется Docker Compose для деплоя Apache NiFi с авториазцией.
Одним из способов обеспечения безопасности с использованием SSL - является генерация JKS ключей и их последующее подключение к Apache NiFi.
Для быстрого создания JKS ключей, можно воспользоваться Nifi Toolkit доступный у них на сайте (необходима Java):
https://nifi.apache.org/download.html
Запускаем toolkit, где вместо "localhost" можно указать адрес нужного узла:
tls-toolkit.sh standalone -n 'localhost'
На выходе получаем в директории ../nifi-toolkit/bin/ директорию с адресом узла, где находятся файлы: keystore.jks, truststore.jks и nifi.properties.
Из файла "nifi.properties" нас интересуют следующие строчки:
nifi.security.keystorePasswd=
nifi.security.truststorePasswd
В данных строках находятся ключи trustore и keystore, которые необходимо указать в нашем docker-compose.yml
Если же вы разворачиваете NiFi нативно, то можно взять файл с найтройками (nifi.properties) и импортировать его в директорию Apache Nifi.
В нашем docker-compose.yml указываем следующие переменные окружения (указываем нужные keystore key и truststore key из nifi.properties):
- KEYSTORE_PATH=/opt/certs/keystore.jks
- KEYSTORE_TYPE=JKS
- KEYSTORE_PASSWORD=123erfwefwefwefew
- TRUSTSTORE_PATH=/opt/certs/truststore.jks
- TRUSTSTORE_TYPE=JKS
- TRUSTSTORE_PASSWORD=123fwefwefwefwef
Незабываем примонтировать keystore.key и truststore.key и запускаем наш контейнер.
Nifi запускается с SSL и авторизацией.