【问题标题】:How can I control access to hdfs?如何控制对 hdfs 的访问?
【发布时间】:2018-05-17 13:29:50
【问题描述】:


我的集群上安装了 HDP 2.4。 假设我有一个包含敏感列的表 (Table_1)。我可以创建一个仅包含非敏感数据的视图 (V_Table_1),在 Ranger 中创建策略并授予对 Table_1 或 V_Table_1 的访问权限。 它将使用直线。 但是如果有人可以直接访问 hdfs 或者即使有人使用 Spark,它也不会起作用。

是否有任何方法(或最佳实践)来控制对存储在 hdfs 上的数据的访问?

HPD 2.6 中的 Apache Atlas 能胜任这项工作吗?

【问题讨论】:

    标签: hadoop hive hdfs


    【解决方案1】:

    首先,确保 Hadoop 安全性的唯一真正方法是启用 Kerberos。然后针对您的敏感数据审核所有 HDFS 操作。

    但如果有人可以直接访问 hdfs 或者即使有人使用 Spark,它也不会起作用

    如果您有用户通过HADOOP_USER_NAME 冒充他人,那么他们可能能够访问某些内容,但 HDFS ACL 应该能够阻止这种情况。

    否则,Ranger 会将代码注入 Hive 驱动程序(也可能是 Spark)以屏蔽/隐藏特定列。如果您想阻止直接 HDFS 访问,则需要阻止 SSH 访问 Hadoop 服务器或不为不受信任方的外部客户端访问分发密钥表

    我不完全确定 Atlas 的功能

    【讨论】:

    • 我确实有 Kerberos 身份验证。你说'HDFS ACLs you'd be able to prevent that'。但是 ACL 可以支持数据库/表级别吗?在我的问题中,我问的是列级别的访问。我希望人们可以访问表(授予 hdfs 级别)但不能访问特定列...
    • 我相信这只能在 Ranger 级别进行跟踪,而不是文件系统 ACL。我主要指的是整个目录。
    【解决方案2】:

    实际上您不需要创建 Hive 视图。 Ranger 支持列级安全规则,因此您可以将敏感列阻止给非授权用户,甚至更好地用掩码替换值(例如:“John Doe”变为“xxxxxxxx”)

    没有办法阻止对包含数据的 HDFS 文件的访问,否则 Hive 将无法读取它。但是,您应该阻止非授权用户使用 HDFS API!因此,边缘节点上没有 SSH,没有提供 Kerberos 密钥表,并且通过 KNOX 和 LDAP 身份验证访问 HIVE。

    【讨论】:

      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 2013-03-15
      • 2010-09-28
      相关资源
      最近更新 更多