通过windows域中的keytab文件对hadoop rest api进行身份验证

gab6jxml  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(256)

我正在尝试使用webrequests从我的.net客户端访问kerberized hadoop集群restapi。我正在使用来自activedirectory域的凭据,该域与hadoop领域具有信任关系:

NetworkCredential credentials = new NetworkCredential("user", "password", "ACTIVEDIRECTORY.DOMAIN");
 WebRequest request = WebRequest.Create(System.Uri.EscapeUriString(url));
 request.Credentials = credentials;
 request.Method = "GET";
 WebResponse response = await request.GetResponseAsync();

我的工作流程运行良好,因为我看到3个对我的请求的响应:

HTTP/1.1 401 Authentication required
 HTTP/1.1 307 TEMPORARY_REDIRECT
 HTTP/1.1 200 OK

在我的第二个请求中,我看到一个kerberos令牌作为单独的安全头发送:

Authorization: Negotiate YIIDXAYGKwYBBQUCoIIDUDCCA...

但这是我的upn帐户,我想用带有keytab而不是密码的spn替换它,因为应用程序将充当独立的wcf服务,我不想弄乱web配置安全容器。
所以我的问题是:
1) 在第一个请求之后,是否可以使用keytab代替我的upn creadentials来生成spengo协商令牌?
2) 在我的webrequest对象中,有没有任何方法可以使用已经从缓存中获得的票证?
3) 我的kerberos令牌是如何生成的?它是由我的用户名密码的版本加密的gssapi吗?
我尝试使用mitkerberos管理器实用程序来实现这一点,但进展不大。
提前谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题