Nifi подключиться к серверу sql kerberos - PullRequest
2 голосов
/ 11 июня 2019

Я пытаюсь настроить соединение от Nifi до Sql Server с аутентификацией как Active Directory - Universal with MFA support.Я просматривал Интернет, но у меня все еще есть проблемы с его настройкой.

Это то, что я сделал до сих пор:

-> I've created "Execute SQL" processor
-> Database Connection pooling services 
-> New and in properties:

URL-адрес соединения в соответствии с этим шаблоном:

jdbc:sqlserver://<myservername>;database=<mydatabase>;integratedSecurity=true;authenticationScheme=JavaKerberos;
database driver class name: com.microsoft.sqlserver.jdbc.SQLServerDriver
database driver location: \mypath\
database user: user@mydomain.com
password: mypassword

в процессоре я получаю такую ​​ошибку:

Невозможно создать PollableCOnnection (Невозможно войти в систему с принципалом kerberos user@mydomain.com, проверить ваши учетные данные. Ошибка входа в Kerberos: Интегрированная аутентификация не удалась

Имея такую ​​ошибку, я начал просматривать Интернет на разных страницах и обнаружил, что должны быть созданы также два файла:

krb5.ini
jaas.conf

Так я и сделал:

в \conf папке nifi (не уверен, что должен быть здесь, потому что не было указано, где разместить эти файлы)

я создал оба файла с таким содержимым:

krb5.ini:

[libdefaults]  
default_realm = MYDOMAIN.COM 
dns_lookup_realm = false  
dns_lookup_kdc = true  

[domain_realm]  
.mydomain.com = MYDOMAIN.COM  

[realms]  
MYDOMAIN.COM = {  
  kdc = MYDOMAIN.COM 
  admin_server = MYDOMAIN.COM
  master_kdc = MYDOMAIN.COM
  default_domain= MYDOMAIN.COM
}

jaas.conf:

SQLJDBCDriver {      
com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=false
useTicketCache=false;   
};

затем в bootstrap.conf я добавил двастроки:

java.arg.17=-Djava.security.auth.login.config=C:\nifi\conf\jaas.conf

java.arg.18=-Djava.security.krb5.conf=C:\nifi\conf\krb5.ini

в файле nifi.properties, который я сделал:

# kerberos #
nifi.kerberos.krb5.file=C:\nifi\conf\krb5.ini

# kerberos service principal #
nifi.kerberos.service.principal=nifi/user@mydomain.com
nifi.kerberos.service.keytab.location=

Тем не менее, все то же самое, и это не работает.Может кто-нибудь помочь мне, что не так?

...