【问题标题】:User Authentication in hadoop Hdfshadoop Hdfs中的用户身份验证
【发布时间】:2012-08-21 11:44:07
【问题描述】:

我已将 milton webdav 与 hadoop hdfs 集成,并且能够将文件读/写到 hdfs 集群。

我还添加了使用 linux 文件权限的授权部分,因此只有授权用户才能访问 hdfs 服务器,但是,我卡在了身份验证部分。

似乎 hadoop 不提供任何内置身份验证,用户只能通过 unix 'whoami' 识别,这意味着我无法为特定用户启用密码。 参考:http://hadoop.apache.org/common/docs/r1.0.3/hdfs_permissions_guide.html 因此,即使我创建了一个新用户并为其设置了权限,也无法确定该用户是否经过身份验证。具有相同用户名和不同密码的两个用户可以访问该用户名的所有资源。

我想知道是否有任何方法可以在 hdfs 中启用用户身份验证(任何新的 hadoop 版本中固有的或使用 kerbores 等第三方工具)

编辑:

好的,我已经检查过了,似乎 kerberos 可能是一个选项,但我只想知道是否有任何其他可用于身份验证的替代方案。

谢谢, -chhavi

【问题讨论】:

    标签: authentication webdav kerberos hdfs


    【解决方案1】:

    目前,kerberos 是唯一受支持的“真实”身份验证协议。 “简单”协议完全信任客户端的 whois 信息。

    要设置 kerberos 身份验证,我建议使用此指南:https://ccp.cloudera.com/display/CDH4DOC/Configuring+Hadoop+Security+in+CDH4

    msktutil 是在 linux 中创建 kerberos 密钥表的好工具:https://fuhm.net/software/msktutil/

    创建服务主体时,请确保您具有正确的 DNS 设置,即如果您有一个名为“host1.yourdomain.com”的服务器,并且解析为 IP 1.2.3.4,那么该 IP 应反过来解析回 host1 .yourdomain.com。

    还要注意,kerberos 协商身份验证标头可能大于 Jetty 的内置标头大小限制,在这种情况下,您需要修改 org.apache.hadoop.http.HttpServer 并在 createDefaultChannelConnector() 中添加 ret.setHeaderBufferSize(16*1024);。我不得不这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 2015-05-23
      • 2017-09-11
      相关资源
      最近更新 更多