我正在尝试配置从Nifi
到Sql 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
尽管如此,它仍然无法正常工作。谁能帮我找出问题所在?