为什么要注重权限管理
Hadoop集群装好了,其自身几乎没有对安全/用户权限的配置。用户可以轻易地伪造自己的身份来破坏Hadoop集群,例如,从client伪装成一个hdfs用户删除HDFS中的全部数据,或者伪装成mapred用户提交一个恶意的job。
对于商业用户而言,数据安全是最重要的。所以,对于Hadoop集群而言,必须进行一定的安全配置,保证数据和集群的安全。
Hadoop权限管理基础
Authentication v.s. Authorization
在权限管理中,最重要的是实现authentication(身份鉴别)和authorization(授权)这两点。
- authorization,是指正确识别一个用户的真实身份。例如用户A声称自己是用户B,那么我们就要正确地识别出他其实并不是B。
- authentication,是指为某个用户做某件事赋予某种权力。例如,赋予C用户删除和修改某个文件的权力。
下面,我们就从authentication和authorization这两方面来分别阐述。
Authentication
Hadoop本身原生并不具备任何身份鉴别的能力。例如,我在一个client上创建一个用户hdfs,然后用这个用户名来删除所有的数据,是行得通的: