是否有人知道任何可嵌入的Kerberos服务器(KDC / KAdmin),它们是用Java编写的,可以在JVM进程中运行(类似于Hadoop minicluster或嵌入式LDAP服务器)?
我的目标是让人们运行需要Kerberos身份验证的集成测试,而无需安装本地kerberos服务器/配置远程服务器并连接到它 .
您可以试试Apache Directory Server(http://directory.apache.org/) . 它支持LDAP和Kerberos . 看这个例子:
http://svn.apache.org/repos/asf/directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/SaslGssapiBindITest.java
我/我正在寻找这样的东西,但这根本不可能,因为你需要一个功能齐全的DNS服务器 . 完全解耦的系统是必要的 . 您可以通过带有内部网络的VirtualBox中的virtualization-maven-plugin和一组虚拟机来实现此目的 .
LDAP服务器根本无法帮助您,因为它们对GSS-API和Kerberos完全没有任何帮助 . SASL通过将auth委派给下一个可用的KDC来完成所有工作 .
您需要KDC和DNS服务器 . 您可以在一台计算机上尝试Samba 4,设置第二台加入域的计算机 . 在其上安装Hadoop,添加第三个(客户端),从那里加入并运行测试 .
看起来你可以让Apache DS模仿KDC:http://directory.apache.org/apacheds/configuration/ads-2.0-configuration.html
我有一个用于类似目的的嵌入式LDAP编写,您也可以使用它来测试Kerberos,这对于测试Hadoop Kerberos测试等情况非常有用 .
https://github.com/krishdey/EmbeddedLdapKDC
你也可以看一下编写嵌入式JUnit测试的类https://github.com/krishdey/EmbeddedLdapKDC/blob/master/EmbeddedLdapKDC/src/test/java/com/krish/ead/server/KerberosLdapIntegrationTest.java
可能对你有用 .
Hadoop发布了一个可以使用的MiniKdc类 . 从MiniKdc类doc评论:
基于Apache Directory Server的Mini KDC,可以嵌入到测试用例中,也可以作为独立的KDC从命令行使用 .
https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-minikdc
4 回答
您可以试试Apache Directory Server(http://directory.apache.org/) . 它支持LDAP和Kerberos . 看这个例子:
http://svn.apache.org/repos/asf/directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/SaslGssapiBindITest.java
我/我正在寻找这样的东西,但这根本不可能,因为你需要一个功能齐全的DNS服务器 . 完全解耦的系统是必要的 . 您可以通过带有内部网络的VirtualBox中的virtualization-maven-plugin和一组虚拟机来实现此目的 .
LDAP服务器根本无法帮助您,因为它们对GSS-API和Kerberos完全没有任何帮助 . SASL通过将auth委派给下一个可用的KDC来完成所有工作 .
您需要KDC和DNS服务器 . 您可以在一台计算机上尝试Samba 4,设置第二台加入域的计算机 . 在其上安装Hadoop,添加第三个(客户端),从那里加入并运行测试 .
看起来你可以让Apache DS模仿KDC:http://directory.apache.org/apacheds/configuration/ads-2.0-configuration.html
我有一个用于类似目的的嵌入式LDAP编写,您也可以使用它来测试Kerberos,这对于测试Hadoop Kerberos测试等情况非常有用 .
https://github.com/krishdey/EmbeddedLdapKDC
你也可以看一下编写嵌入式JUnit测试的类https://github.com/krishdey/EmbeddedLdapKDC/blob/master/EmbeddedLdapKDC/src/test/java/com/krish/ead/server/KerberosLdapIntegrationTest.java
可能对你有用 .
Hadoop发布了一个可以使用的MiniKdc类 . 从MiniKdc类doc评论:
https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-minikdc