目录
1、问题
2、研究过程及结果
3、组件介绍
hue介绍
Security介绍
ACLs介绍
ldap介绍
1、问题:
大数据平台中权限问题让不少架构师是头疼,大数据平台中【HIVE库】和【HDFS目录】让用户随意操作,以至于【HIVE库】和【HDFS目录】中敏感区和非敏感区得不到有效控制。
就算通过HDFS的ACL控制了,但通过程序任何用户依然操作【HIVE库】和【HDFS目录】中敏感区和非敏感区。
2、研究过程及结果:
这段时间研究了一下基于Cloudera’s Distribution Including Apache Hadoop(CDH)的大数据平台的权限管理,在本次研究过程中主要设计到了hue,Security,ACLs,LDAP四个组件。
通过权限管理,可以达到如下结果:
1)大数据平台用户分配到不同到角色(组)。
2)每个角色(组)拥有不同权限。
3)角色(组)权限可以操作hive、impala和数据库以及hdfs路径。
4)通过在程序中不同用户只能拥有所在角色(组)权限。
5)管理用户,角色(组),权限需要分别在Linux、Hue、Ldap中设置,其中Ldap和hue我已经写了一个shell脚本。
3、组件介绍
hue介绍
HUE=Hadoop User Experience
Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。
通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。
hue的使用说明
https://www.cloudera.com/documentation/enterprise/5-14-x/topics/hue.html
hue的测试区,账号demo,密码demo
https://demo.gethue.com
Security介绍
Sentry服务是一个RPC服务器,它将授权元数据存储在底层关系数据库中,并提供RPC接口来检索和操作特权。它支持使用Kerberos安全访问服务。服务提供来自数据库支持存储的授权元数据;它不处理实际的特权验证。Hive、Impala和Solr服务是该服务的客户端,当它们被配置为使用岗哨时,它们将执行岗哨特权。
https://www.cloudera.com/documentation/enterprise/5-14-x/topics/sentry.html
ACLs介绍
Hadoop分布式文件系统(HDFS)实现了共享大部分POSIX模型的文件和目录的权限模型。每个文件和目录都与所有者和组相关联。对于作为所有者的用户,作为该组成员的其他用户以及所有其他用户,该文件或目录具有单独的权限。对于文件,需要r权限才能读取文件,并且需要w权限才能写入或附加到文件。对于目录,需要r权限列出目录的内容,创建或删除文件或目录需要w权限,访问目录子项需要x权限。
与POSIX模型相比,文件没有setuid或setgid位,因为没有可执行文件的概念。对于目录,没有setuid或setgid位目录作为简化。可以在目录上设置粘滞位,防止除超级用户,目录所有者或文件所有者之外的任何人删除或移动目录中的文件。设置文件的粘滞位无效。总的来说,文件或目录的权限是其模式。通常,将使用用于表示和显示模式的Unix习惯,包括在本说明书中使用八进制数字。创建文件或目录时,其所有者是客户端进程的用户标识,其组是父目录的组(BSD规则)。
HDFS还为POSIX ACL(访问控制列表)提供可选支持,以使用针对特定命名用户或命名组的更细粒度规则来增强文件权限。ACL将在本文档后面详细讨论。
访问HDFS的每个客户端进程都有一个由用户名和组列表组成的由两部分组成的标识。每当HDFS必须对客户端进程访问的文件或目录foo执行权限检查时,
如果用户名与foo的所有者匹配,则测试所有者权限;否则,如果foo组与组列表中的任何成员匹配,则测试组权限;否则,将测试foo的其他权限。如果权限检查失败,则客户端操作将失败。
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html
ldap介绍
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。