Skip to content

Подключение к данным Аутентификация Kerberos - FineReport Справочная документация|Разработка отчетов|Использование отчетов|Учебные пособия

Подключение к данным Аутентификация Kerberos

1. Обзор

1.1 Версия

Версия FineBIФункциональные изменения
6.0-
6.0.2Оптимизирована аутентификация Kerberos для прямой загрузки соответствующих файлов на фронт-энде

1.2 Функциональный профиль

1) Аутентификация Kerberos - распространенный метод аутентификации в экосистеме Hadoop.

2) Существует два способа настройки аутентификации Kerberos:

  • Используйте аутентификацию Kerberos непосредственно с экрана Data Connection Configuration: в основном используется для аутентифицированных соединений, управляемых Hive, HBase и т.д.
  • Настройте параметры JVM, а затем войдите в интерфейс конфигурации соединения с данными для аутентификации: этот способ используется в основном в тех случаях, когда аутентификация проходит успешно, хотя интерфейс конфигурации соединения с данными заполнен в соответствии с требованиями, но при создании соединения все равно возникает ошибка, например, Impala от CDH и другие базы данных.

1.3 Поддерживаемые базы данных

Для аутентификации Kerberos требуется специальный драйвер, а формат URL-адреса должен быть изменен (см.:Организация драйвера Kerberos ).

всеобъемлющая база данных
Apache Impala
Hadoop Hive
Искра
Перехватчик Трансварп (Звездное кольцо)
Апач Феникс
HBase

1.4 Подготовка перед подключением данных

1) Загрузите конфигурационные файлы krb5.conf, XXX.keytab, в зависимости от вашего окружения.

(2) principal - имя клиента, зарегистрировавшего KDC.

3) XXX.keytab - это файл keytab, вам необходимо найти соответствующее расположение этого файла на сервере приложений, предоставляющем сервис Kerberos. Имя файла keytab может отличаться на разных серверах, поэтому мы используем XXX.

2. Режим работы

В качестве примера можно привести Hve.

2.1 Настройка файла hosts

Настройте локальный файл hosts, например, по пути C:\Windows\System32\drivers\etc\hosts, настройте удаленное отображение: 192.168.5.127 quickstart.cloudera. Формат отображения - "IP-имя машины". Как показано на рисунке ниже:

1574066211785589.png

2.2 Настройка соединения для передачи данных

1) Найдите соответствующий драйвер Kerberos, измените URL на соответствующий формат и переключите метод аутентификации на Kerberos, как показано на следующем рисунке:

4.png

2) Загрузите файл "keytab" и файл "krb5.conf". Как показано на рисунке ниже:

3) Нажмите кнопку "Test Connection", и соединение будет успешным, как показано ниже:

3.png

3. условия

3.1 Проверка информации о сервере и аутентификации

Содержание инспекциизапрос
Проверьте разницу в системном времени между машиной, на которой расположен сервер FineBI, и сервером базы данных.Как правило, разница во времени составляет менее 5 минут.
Проверьте файл hosts компьютера, на котором настроен сервер FineBI.Убедитесь, что вы можете пропинговать сервер базы данных через имя хоста/домена.
Собственные пакеты zookeeper в FineBI должны соответствовать версии zookeeper на стороне сервера базы данных.Например, при подключении платформы Huawei HD может возникнуть такая ошибка
Проверьте правильность имени директораФормат принципала обычно такой: username/department@company, а способ подтвердить правильность принципала - выполнить klist или kinit -k -t /path/to/keytab name_of_principal в оболочке сервера базы данных или подключиться к службе аутентификации с помощью таких инструментов, как beeline, impala- shell и т. д. и проверить соответствующую информацию принципала. shell и т. д. для подключения к службе с поддержкой аутентификации и просмотра соответствующей информации о принципале.Например, служба Hive соответствует главному улью /bigdata@XXX.COM, а служба Impala - principal为impala/bigdata@XXX.COM.
Проверьте путь к проекту FineBIУбедитесь в отсутствии пробелов (например, tomcat 9), поскольку аутентификация Kerberos не поддерживает пути с пробелами.

3.2 Невозможность подключения

(1) Если подключение не удается, вы можете уточнить у администратора базы данных платформы, правильно ли настроена аутентификация безопасности соответствующей службы, а также связаться с технической поддержкой FanSoft и предоставить соответствующие журналы ошибок (добавьте параметры отладки безопасности JVM, как показано ниже), версию базы данных платформы данных, соответствующие JAR-пакеты драйверов, соответствующую информацию о подключении, тестовый код соединения аутентификации Java или инструмент оболочки, который может подключиться к базе данных аутентификации, и так далее. Ниже приведен список версий баз данных платформы данных.

Параметры отладочного журнала безопасности jvm:

  
-Djava.security.debug=gssloginconfig,configfile,configparser,logincontext -Djava.security.krb5.debug=true

2) В особых случаях, если подключение недоступно в Windows, вы можете развернуть тестовый сервер FineBI в Linux. Убедитесь, что сервер может подключиться к базе данных с помощью соответствующего инструмента оболочки и может видеть кэшированную информацию kgt через klist.

3.3 Ошибки в отчетности

3.3.1 Невозможно получить имя директора для аутентификации

Описание проблемы:

Ошибка подключения cdh: Невозможно получить имя принципала для аутентификации

Анализ причин:

JCE, установленный по умолчанию вместе с JDK, не может обрабатывать симметричные ключи размером более 128 бит.

Решение:

Обновите пакет расширения JCE для JRE.

Дополнительные сведения об установке JCE см. в разделе: [Ссылки на установку расширений](https://sourceforge.net/p/skcc/wiki/Install JDK8 and JCE on Windows/). Обычно можно сразу перейти к шагу 4, загрузить и распаковать JAR-пакет расширения JCE, а затем заменить файлы в указанном каталоге JRE.

3.3.2 Не удалось инициировать GSS

Описание проблемы:

Ошибка базы данных Transwarp Inceptor (Starring Ring) GSS initiate failed .

Ступени истощения:

Сам драйвер выполнил операцию статического глобала, после обновления центра kerberos статический глобал внутри драйвера все еще остается, поэтому подключение к данным невозможно. Перезапустите BI-сервер и посмотрите, сохраняется ли ошибка. Если она не исчезла, выполните следующие действия по устранению неполадок:

  • (Неверный пароль) Файл keytab не соответствует пользователю, что можно проверить в клиентском сервере kinit-k-t keytab user.
  • Время (смещение часов) на локальном и удаленном серверах не совпадает, проверьте ntp на удаленном сервере.
  • (aes256 не поддерживается) По умолчанию aes256 не поддерживает jdk/jre, вам необходимо скопировать local_policy.jar и US_export_policy.jar с удаленного сервера в папку /opt/huawei/Bigdata/jdk/jre/lib/security.
  • (Нет правил) Формат body не поддерживается по умолчанию, вам нужно добавить атрибут hadoop.security.auth_to_local (в core site.xml) Значение Правило: [1:$1] Правило: [2:$1].
  • (Таймаут) Невозможно подключиться к серверу kdc или в сети установлен брандмауэр.