我的群集上安装了HDP 2.4。
比方说,我有一个包含敏感列的表(Table_1)。我可以创建一个仅包含非敏感数据的视图(V_Table_1),在Ranger中创建策略并授予对Table_1或V_Table_1的访问权限。
它将使用直线工作。
但是,如果有人可以直接访问hdfs,或者即使使用Spark,也无法工作。
是否有任何方法(或最佳做法)来控制对存储在hdfs上的数据的访问?
HPD 2.6中的Apache Atlas能否完成这项工作?
答案 0 :(得分:0)
首先,确保Hadoop安全性的唯一真正方法是启用Kerberos。然后针对您的敏感数据审核任何和所有HDFS操作。
但如果有人可以直接访问hdfs,或者即使使用Spark
,它也无法运行
如果您让用户通过HADOOP_USER_NAME
冒充他人,那么他们可能能够访问内容,但HDFS ACL应该可以防止这种情况发生。
否则,Ranger会将代码注入Hive驱动程序(也可能是Spark)以掩盖/隐藏特定列。如果要阻止直接HDFS访问,则需要阻止对Hadoop服务器的SSH访问,或者不为非信任方分发用于外部客户端访问的密钥塔
我不完全确定Atlas的功能
答案 1 :(得分:0)
实际上您不需要创建Hive视图。 Ranger支持列级安全规则,因此您可以阻止敏感列到非授权用户,甚至更好地通过掩码替换值(例如:“John Doe”变为“xxxxxxxx”)
无法阻止访问包含数据的HDFS文件,否则Hive将无法读取它。但是,您应该阻止HDFS API给非授权用户!因此,边缘节点上没有SSH,没有提供Kerberos密钥表,也没有通过KNOX和LDAP身份验证访问HIVE。