Nifi连接到SQL Server Kerberos

时间:2019-06-11 12:05:38

标签: apache-nifi

我正在尝试配置从NifiSql Server的连接,该连接的身份验证为Active Directory - Universal with MFA support。我查看了Internet,但仍然无法正确配置它。

这是我到目前为止所做的:

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

根据此模板的连接网址:

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的{​​{1}}文件夹中(不确定是否应该放在此处,因为没有提到放置这些文件的位置)

我创建了两个具有以下内容的文件:

krb5.ini:

nifi

jaas.conf:

[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
}

然后在bootstrap.conf中我添加了两行:

SQLJDBCDriver {      
com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=false
useTicketCache=false;   
};
我在nifi.properties文件中

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

尽管如此,它仍然无法正常工作。谁能帮我找出问题所在?

0 个答案:

没有答案