Azure VM中的WASB是否支持Kerberos身份验证?

时间:2017-01-02 13:24:32

标签: java azure authentication kerberos

我已经创建了Linux Azure VM并在其上运行Java应用程序。然后我创建了具有hdfs,yarn,spark等的HDInsight Spark Cluster。

我已使用VM上core-site.xml中的存储访问密钥将VM与Spark群集连接起来。

芯-site.xml中

<property>
  <name>fs.azure.account.key.YOUR_ACCOUNT.blob.core.windows.net</name>
  <value>Storage_Access_Key</value>
</property>

我可以用上面的方式验证我的应用程序。但我想在Azure VM上的Azure Blob存储(WASB)中使用Kerberos对我的JAVA应用程序进行身份验证。

是否有任何可能的选项和文档?请帮助我

1 个答案:

答案 0 :(得分:1)

首先,请确保已为HDInsight配置了Kerberos身份验证。如果不确定,请参阅hortonworks官方文档https://docs.hortonworks.com/HDPDocuments/Ambari-2.1.2.1/bk_Ambari_Security_Guide/content/ch_configuring_amb_hdp_for_kerberos.html来执行此操作。

其次,您可以尝试引用Hadoop官方document进行身份验证与Kerberos配置您的webapp。

或者您可以在编程中手动对Kerberos进行身份验证,如下所示。

import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.conf.Configuration 

Configuration conf = new Configuration();
conf.set("hadoop.security.authentication", "Kerberos");
UserGroupInformation.setConfiguration(conf);
UserGroupInformation.loginUserFromKeytab("<username>", "/path/to/kerberos.keytab"); 

然后

FileSystem fs = FileSystem.get(conf);

作为参考,您还可以参考第三方博客(12)了解更多详情。