hadoop安全需求

目录

hadoop在安全方面的需求主要有:

  • 用户认证安全。hadoop最早通过ugi认证,用户名、密码以明文传输,mr作业都用同一个账户运行,隔离性差。后来通过读取当前账户信息作为hadoop账户,却不对用户进行认证,感觉安全性更加不友好,很容易假冒用户。
  • 服务认证。hadoop平台的各个组件间也没有认证,可能会出现服务欺骗,比如冒充namenode、resourcemanager等系统组件,这种欺骗对平台的危害更大。
  • rpc加密。保护rpc交互数据的安全性。
  • 数据传输安全性。hdfs、shuffle等数据传输都是明文传输,安全性差,不过数据传输是否需要保证安全性是一个值得考虑的问题,像hadoop平台上的数据量都比较大,加密、解密对性能损耗较大,最好数据加密、解密的选择权交给用户,即使数据传输过程中支持加密最好是可选的。
  • 任务执行环境的隔离性。yarn平台上可以运行多种类型、多个用户的作业,作业间运行的隔离性也是需要考虑的。在这点上对yarn目前实现的安全执行策略觉得还是不完善,yarn在安全模式下只支持用户间的隔离,同一个用户的不同作业隔离性并不是特别好,虽然hadoop后续版本中支持在安全模式下启动docker运行用户作业,与DockerContainerExecutor有一定的功能重合,出来后的易用性值得关注。再者如果用户特别多,需要为每个用户都建立一个本地账户运行作业,增加了运维复杂性。

用户管理

hadoop使用kerberos进行用户认证,但用户管理尤其是组管理还是非常复杂,为此hadoop还引入了多种用户管理机制,与kerberos配合比较好的是LDAP,LDAP负责用户、用户组管理,kerberos负责认证。

随机文章