首页 > 解决方案 > Nifi 连接到 sql server kerberos

问题描述

我正在尝试将具有身份验证的连接Nifi配置Sql ServerActive Directory - Universal with MFA support. 我已经查看了互联网,但我仍然无法正确配置它。

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

-> 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 主要用户@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=

尽管如此,仍然相同,但它不起作用。谁能帮我解决什么问题?

标签: apache-nifi

解决方案


推荐阅读