【问题标题】:Can WebHDFS UI delete functionality be disabled?可以禁用 WebHDFS UI 删除功能吗?
【发布时间】:2021-02-04 13:31:31
【问题描述】:

从 HDP 3.0 开始,WebHDFS UI(即端口 50070 上的 namenode UI 文件浏览器)现在包含一个可用于删除 HDFS 文件的 bin 图标。似乎是通过调用 rest api DELETE 挂钩来做到这一点,但这样做似乎也绕过了任何文件或文件夹权限。 换句话说,任何可以访问 50070 上的 UI 的人现在都可以删除任何 HDFS 文件。

有没有办法让集群用户可以访问 WebHDFS UI,但防止他们删除文件?

可能的想法可能是以某种方式禁用或阻止 DELETE 挂钩,使整个 WebHDFS 成为只读或实施某种形式的身份验证,同时保持 UI 可访问。社区对此有何建议?

【问题讨论】:

  • 默认情况下,webUI 并不安全。您需要启用 Kerberos + SPNEGO / 使用 Knox 来完全保护该端点
  • 有人不想要 Kerberos 有几个原因: 1. 学习曲线(kdc、keytabs 都不是通过 GUI 管理的) 2. Kerberos 身份验证会影响每个用户。 3. WebHDFS、Yarn、Oozie UI 都被 Kerberos 完全阻止,再次允许使用并非易事,因为您必须开始深入研究浏览器如何进行身份验证。 4.即使克服了上述所有问题,您仍然会遇到用户登录后如何管理hdfs“删除”权限的问题。Kerberos毕竟只进行通过/失败检查。
  • 当然,这一切都有效,但没有它,集群和端点都是安全的,并且依赖于用户名的所有其他操作都作为文字字符串传递。例如。你可以伪造a url parameter on webhdfs to impersonate any valid user

标签: hadoop hdfs ambari webhdfs


【解决方案1】:

我找不到任何以前的解决方案,所以我自己尝试并想出了以下解决方案。为他人的利益而分享:

Custom core-site: 
hadoop.http.staticuser.user = browser
hadoop.user.group.static.mapping.overrides = browser=;

这样做是将 webHDFS 用户更改为不存在的 hdfs 用户“浏览器”(默认情况下,它似乎获得了超级组用户权限)。

第二个属性覆盖指定用户被分配到的组。在这种情况下,我将用户“浏览器”覆盖为不属于任何组,从而删除其超组权限。

之后,当您检查 webHDFS 用户界面时,您仍会在文件旁边看到 bin 图标,但如果单击该图标,页面将显示权限错误。

【讨论】:

    猜你喜欢
    • 2019-10-12
    • 2013-04-25
    • 2011-07-09
    • 2021-08-20
    • 2022-12-29
    • 2013-08-25
    • 2011-02-07
    • 2020-09-17
    • 2019-07-18
    相关资源
    最近更新 更多