大数据安全组件-Kerberos认证+Ranger权限研究

大数据的安全管控

权限的管控,历来是大数据平台中最让人头疼的问题之一。管得严了,业务不流畅,用户不开心,放得宽了,安全没有底,你能放心?而且大数据平台组件,服务众多;架构,流程复杂,有时候,就是你想管,也未必能管得起来。

涉及到具体的技术方案层面,Kerberos,LDAP,Sentry,Ranger,Quota,ACL,包括各个组件自己的权限管控方案,这些话题,不是一小节的篇幅能够覆盖的,所以,不打算在这里详细讨论各种技术方案。

权限的管控,做多少,怎么做,花多少代价,取决于你的目标出发点,很多公司集成开发环境的权限管控目标:是对用户常规的业务行为范围进行限定,敏感数据的控制固然是一方面,但更重要的是对业务逻辑和流程的约束,通过减少用户不必要的权限,减小受害面,降低可能的业务风险,同时也便于明确用户的权责归属关系。

所以,还是让我们来谈一下权限管控的目标。我们的权限管控目标,是防君子不防小人。此话怎讲?权限管控,大家都知道,有两个步骤:认证(authentication)和授权(authorization)。前者鉴定身份,后者根据身份赋予权限。

常见开源方案
权限管理相关工作可以分为两部分内容:

一、管理用户身份,也就是用户身份认证(Authentication)

二、用户身份和权限的映射关系管理,也就是授权(Authorization)

前者,用户身份认证这一环节,在Hadoop生态系中常见的开源解决方案是 Kerberos+LDAP,而后者授权环节,常见的解决方案有Ranger,Sentry等,此外还有像knox这种走Gateway代理服务的方案。

下面简单介绍一下这些开源项目,目的不是为了讲解这些方案的实现原理,而是从整体架构流程的角度来看看他们的目标问题和解决思想,以及适用场景等,这样当你在选择或者开发适合自己平台的权限管理方案时,也可以做到知其然,知其所以然。

至于Hadoop生态系的各个组件比如HDFS/Hive/HBase自身的权限管理模型,针对的是单一的具体组件,也是权限管控体系中的重要组成部分,但限于篇幅原因,本文就不加以讨论了。

kerberos
Kerberos是Hadoop生态系中应用最广的集中式统一用户认证管理框架。

工作流程 简单的来说,就是提供一个集中式的身份验证服务器,各种后台服务并不直接认证用户的身份,而是通过Kerberos这个第三方服务来认证。用户的身份和秘码信息在Kerberos服务框架中统一管理。这样各种后台服务就不需要自己管理这些信息并进行认证了,用户也不需要在多个系统上登记自己的身份和密码信息。

原理 用户的身份首先通过密码向Kerberos服务器进行验证,验证后的有效性会在用户本地保留一段时间,这样不要用户每次连接某个后台服务时都需要输入密码。 然后,用户向Kerberos申请具体服务的服务秘钥,Kerberos会把连接服务所需信息和用户自身的信息加密返回给用户,而这里面用户自身信息进一步是用对应的后台服务的秘钥进行加密的,由于这个后台服务的秘钥用户并不知晓,所以用户也就不能伪装或篡改这个信息。 然后,用户将这部分信息转发给具体的后台服务器,后台服务器接收到这个信息后,用自己的秘钥解密得到经过Kerberos服务认证过的用户信息,再和发送给他

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值