Аутентификация в сервисе NiFi

Простая (simple) аутентификация в сервисе NiFi осуществляется при помощи пользователя, имеющего учетную запись в Active Directory.

ПРИМЕЧАНИЕ

Необходимые конфигурационные параметры для включения аутентификации приведены ниже.

Основные понятия LDAP, используемые в конфиграционных параметрах сервиса NiFi:

  • Active Directory — это база данных и набор служб, которые соединяют пользователей с необходимыми сетевыми ресурсами.

  • LDAP-сервер — иерархическая база данных, служба каталогов, основанная на Active Directory, применяется для централизованного хранения учетных записей.

  • LDAP — протокол прикладного уровня для доступа к службе каталогов Active Directory.

  • DN (Distinguished Name) — учетная запись в Active Directory. DN должно быть уникальным в пределах дерева. В DN описывается содержимое атрибутов в дереве (путь навигации) для доступа к конкретной записи.

    DN состоит из серии RDN (Relative Distinguished Names), определяемых путём перемещения вверх по дереву в направлении его корневой записи. RDN записываются слева направо.

    Пример DN для пользователя, используемый в данной статье:

    CN=admin, DC=ad, DC=ranger-test.

    Пример DN для хоста, используемый в данной статье:

    CN=ads-host-1.example.com, OU=AD, O=AD, L=MSK, ST=MO, C=RU.

    В этих записях назначены следующие RDN:

    • CN — общее имя пользователя или хоста (common name).

    • OU — организационная единица (organizational unit), контейнер в домене Active Directory, который может содержать пользователей, группы и компьютеры. Организационная единица может иметь несколько ou внутри себя.

    • DC — части имени домена (domain component), представляют вершину дерева LDAP, которое использует DNS для определения своего пространства имен.

    • O — название организации (organization name).

    • L — название местоположения (locality name).

    • ST — название области (state or province name).

    • С — название страны (country).

Предварительные требования для включения аутентификации

ВНИМАНИЕ

Включение SSL и LDAP Auth для сервиса NiFi доступно начиная с версии 1.7.0.b1 кластера ADS.

  1. Убедитесь, что выполнены предварительные требования для запуска действия Enable SSL в кластере ADS, приведенные в статье Защита канала про протоколу SSL.

  2. Убедитесь, что известны необходимые данные для настройки аутентификации в сервисе NiFi по протоколу LDAP:

    • Адрес LDAP-сервера LDAP/AD URL — URL до источника синхронизации LDAP/AD в формате ldaps://{host}:{port}.

    • DN пользователя, имеющего запись в каталоге Active Directory с правами поиска пользователей и групп, и его пароль.

    • Базовый DN для поиска пользователей в AD (и фильтр при необходимости).

    • Базовый DN для поиска групп в AD (и фильтр при необходимости).

Установка параметров конфигурации

Ниже описаны параметры, которые необходимо установить в дереве на странице конфигурации сервиса NiFi.

Страница конфигурационных параметров NiFi
Страница конфигурационных параметров NiFi
ПРИМЕЧАНИЕ

В данной статье приведены только параметры, которые необходимо установить для успешного включения аутентификации. Подробную информацию по всем конфигурационным параметрам можно получить в статье Конфигурационные параметры ADS.

Необходимые параметры для настройки SSL

Для настройки SSL заполните конфигурационные параметры authorizers.xml.

Конфигурационные параметры файла authorizers.xml
Конфигурационные параметры файла authorizers.xml

Описание обязательных параметров приведено ниже.

authorizers.xml

 

Параметр Описание Пример заполнения

DN NiFi’s nodes list

Список идентификаторов пользователей и систем для заполнения пользовательского файла. Это обязательные поля для включения SSL в первый раз. Должен включать в себя не только DName компонента NiFi Server, но и DName NiFi Registry, а также DName для компонентов сервиса MiNiFi. Например, для кластера с включенным SSL, состоящего только из NiFi Server, при добавлении сервиса MiNiFi или расширения Schema Registry необходимо дополнить этот список новыми DName

CN=sov-ads-test-1.ru-central1.internal, OU=AD, O=AD, L=MSK, S=MO, C=RU

CN=sov-ads-test-2.ru-central1.internal, OU=AD, O=AD, L=MSK, S=MO, C=RU

CN=sov-ads-test-3.ru-central1.internal, OU=AD, O=AD, L=MSK, S=MO, C=RU

NiFi Initial Admin

Идентификатор первичного пользователя-администратора, которому будет предоставлен доступ к пользовательскому интерфейсу и возможность создавать дополнительных пользователей, группы и политики. Значением этого свойства может быть:

  • полный DN пользователя при установке значения Identity Strategy группы LDAP Login Identitity Provider в USE_DN;

  • только логин (имя) пользователя при установке значения Identity Strategy группы LDAP Login Identitity Provider в USE_USERNAME.

ppetrov

NiFi Initial Admin password

Начальный пароль администратора — пароль пользователя, назначенного NiFi Initial Admin

Используется пароль, c которым данный пользователь зарегистрирован в Active Directory

Необходимые параметры для настройки LDAP

Для внесения параметров LDAP включите переключатели LDAP Login Identitity Provider и LDAP UserGroupProvider.

Конфигурационные параметры раздела LDAP Login Identitity Provider
Конфигурационные параметры раздела LDAP Login Identitity Provider

Описание обязательных параметров приведено ниже.

LDAP Login Identitity Provider

 

Параметр Описание Пример заполнения

Authentication Strategy

Как аутентифицируется подключение к серверу LDAP

SIMPLE

Manager DN

DN пользователя, имеющего запись в каталоге Active Directory с правами поиска пользователей и групп. Будет использован для привязки к серверу LDAP для поиска пользователей

cn=admin,dc=ad,dc=ranger-test

Manager Password

Пароль менеджера, который используется для привязки к серверу LDAP для поиска пользователей

Используется пароль, c которым данный пользователь зарегистрирован в Active Directory

Referral Strategy

Стратегия работы с referrals

FOLLOW

Connect Timeout

Продолжительность тайм-аута подключения

10 secs

Read Timeout

Продолжительность тайм-аута чтения

10 secs

LDAP URL

Разделенный пробелами список URL-адресов серверов LDAP (например, ldap://<hostname>:<port>)

ldap://ad01.adsw.io:389

User Search Base

Базовое DN для поиска пользователей (например, ou=users,o=nifi). Требуется для поиска пользователей

ou=Peoples,dc=ad,dc=ranger-test

User Search Filter

Фильтр для поиска пользователей по базе поиска (например, sAMAccountName={0}). Указанное пользователем имя вставляется в {0}

(sAMAccountName={0})

Identity Strategy

Стратегия идентификации пользователей. Возможные значения: USE_DN и USE_USERNAME

USE_USERNAME

Authentication Expiration

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

12 hours

Конфигурационные параметры раздела LDAP UserGroupProvider Provider
Конфигурационные параметры раздела LDAP UserGroupProvider Provider

Описание обязательных параметров приведено ниже.

LDAP UserGroupProvider

 

Параметр Описание Пример заполнения

Authentication Strategy

Как аутентифицируется подключение к серверу LDAP

SIMPLE

Manager DN

DN пользователя, имеющего запись в каталоге Active Directory, обладающий правами поиска пользователей и групп. Будет использован для привязки к серверу LDAP для поиска пользователей

cn=admin,dc=ad,dc=ranger-test

Manager Password

Пароль менеджера, который используется для привязки к серверу LDAP для поиска пользователей

Используется пароль, c которым данный пользователь зарегистрирован в Active Directory

Referral Strategy

Стратегия работы с referrals

FOLLOW

Connect Timeout

Продолжительность тайм-аута подключения

10 secs

Read Timeout

Продолжительность тайм-аута чтения

10 secs

LDAP URL

Разделенный пробелами список URL-адресов серверов LDAP (например, ldap://<hostname>:<port>)

ldap://ad01.adsw.io:389

Sync Interval

Продолжительность времени между синхронизацией пользователей и групп. Минимально допустимое значение – 10 sec

30 mins

User Search Base

Базовое DN для поиска пользователей (например, ou=users,o=nifi). Требуется для поиска пользователей

ou=Peoples,dc=ad,dc=ranger-test

User Object Class

Класс объекта для идентификации пользователей (например, person). Требуется при поиске пользователей

person

User Search Scope

Область для поиска пользователей

ONE_LEVEL

User Identity Attribute

Атрибут для извлечения идентификатора пользователя (например, cn). Опционально. Если не установлено, используется все DN

sAMAccountName

Group Search Base

Базовое DN для поиска групп (например, ou=groups,o=nifi). Требуется для поиска групп

ou=Groups,dc=ad,dc=ranger-test

Group Object Class

Класс объекта для идентификации групп (например, groupOfNames). Требуется при поиске групп

group

Group Search Scope

Область для поиска группы пользователей

ONE_LEVEL

Group Member Attribute

Атрибут, используемый для определения членства в группе (например, member). Опционально

member

После изменения параметров нажмите Save.

Проверка включения аутентификации NiFi Server

После успешного включения SSL вход в пользовательский интерфейс NiFi Server осуществляется через окно авторизации.

Окно авторизации
Окно авторизации
Окно авторизации
Окно авторизации

Для первичной аутентификации выполните вход под администратором NiFi (введите логин и пароль пользователя, указанные для NiFi Initial Admin).

После успешной аутентификации пользователь, под которым выполнен вход, отобразится в правом верхнем углу интерфейса.

Пользователь после аутентификации
Пользователь после аутентификации
Пользователь после аутентификации
Пользователь после аутентификации

В глобальном меню отображаются новые разделы Users и Policies.

Глобальное меню
Глобальное меню
Глобальное меню
Глобальное меню

На странице Users глобального меню NiFi отображается список хостов кластера, пользователей и групп LDAP/Active Directory, находящихся в указанных базе поиска пользователей (User Search Base) и базе поиска групп (Group Search Base).

Cтраница Users глобального меню NiFi
Cтраница Users глобального меню NiFi
Cтраница Users глобального меню NiFi
Cтраница Users глобального меню NiFi

На странице Policies глобального меню NiFi отображаются автоматически созданные политики для пользователя, указанного в NiFi Initial Admin. Также здесь существует возможность назначить политику доступа для пользователя или группы из заданной базы поиска.

Cтраница Policies глобального меню NiFi
Cтраница Policies глобального меню NiFi
Cтраница Policies глобального меню NiFi
Cтраница Policies глобального меню NiFi

Проверка включения аутентификации NiFi Registry

После успешного включения SSL в пользовательском интерфейсе NiFi Registry появляется возможность аутентификации. Для этого необходимо кликнуть кнопку Login, которая становится доступна под именем пользователя.

Переход к окну авторизации
Переход к окну авторизации
Переход к окну авторизации
Переход к окну авторизации

Для первичной аутентификации выполните вход под администратором NiFi (ввести логин и пароль пользователя, указанные для NiFi Initial Admin).

Окно авторизации
Окно авторизации
Окно авторизации
Окно авторизации

После успешной аутентификации пользователь, под которым выполнен вход, отображается в правом верхнем углу интерфейса.

Пользователь после аутентификации
Пользователь после аутентификации
Пользователь после аутентификации
Пользователь после аутентификации

После нажатия на nifi reg ui 03 2 dark nifi reg ui 03 2 light и перехода на вкладку Users меню настроек открывается список хостов кластера, пользователей и групп LDAP/Active Directory, находящихся в указанных базе поиска пользователей (User Search Base) и базе поиска групп (Group Search Base). Также здесь существует возможность назначить политику доступа для пользователя или группы из заданной базы поиска.

Cтраница Users меню настройки NiFi Registry
Cтраница Users меню настройки NiFi Registry
Cтраница Users меню настройки NiFi Registry
Cтраница Users меню настройки NiFi Registry

Выключение аутентификации

Для выключения аутентификации в сервисе NiFi:

  1. Поочередно установите конфигурационные параметры разделов LDAP Login Identitity Provider и LDAP UserGroupProvider в значения по умолчанию.

    Установка значений по умолчанию
    Установка значений по умолчанию
    ВНИМАНИЕ

    Опция переустановки конфигурационных параметров сервиса NiFi LDAP Login Identitity Provider и LDAP UserGroupProvider доступна начиная с версии 1.7.2.b2 кластера ADS. Для более ранних версий ADS для обновления параметров необходимо удалить файлы /etc/nifi/conf/users.xml и /etc/nifi/conf/authorizations.xml с каждого хоста с установленным сервисом NiFi.

  2. Выполните выключение SSL. Для этого примените действие Disable SSL в кластере, нажав на иконку actions default dark actions default light в столбце Actions.

Изменение данных о NiFi Initial Admin

Для изменения данных о NiFi Initial Admin примените действие Manage Initial Admin в сервисе NiFi, нажав на иконку actions default dark actions default light в столбце Actions для сервиса NiFi.

После выбора действия в открывшемся окне Run an action введите новые DN пользователя и пароль и нажмите Run.

Изменение NiFi Initial Admin
Изменение NiFi Initial Admin
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней