大数据权限管理sentry与Kerberos概述
常见的解决方案分为两部分
1. 管理用户身份*即用户身份认证
2. 用户身份和权限的映射关系管理 即授权
而Hadoop中常见的开源解决方案是Kerberos(认证)+LDAP(授权),LDAP则是授权的环节,常见的解决方案有Ranger,Sentry等,Ranger与Sentry是不同的厂商开发出的所以在不同的平台需要用不同的框架,去进行授权的管理,CDH使用Sentry,Apache使用Ranger。
解决了什么问题:
1. 大数据每个组件(Hive/Hbase等)都有自己定义的权限管理,可以做到权限管理统一和简化
2. 当我们多个作业需要操作数据时,可以去做到数据的共享,因为不同的用户作业具有不同的用户权限
3. 当我们的服务与集群交互,编程和接入方式变得多样时,可以减少了权限管控的难度使权限管控更加细粒度化
4. 由于不同的作业具有不同的操作权限,可以使我们的存储、计算、查询框架之间数据的互通串联能力更强
一、CDH sentry权限管理框架简介
1.1.可以做到什么?
- 采用RBAC模型设计出来的框架,用户身份和权限的映射关系管理,也就是授权
- 防止用户误操作,因为不同的用户只能根据他的权限去操作数据
- 系统管理员可以在任何时候任何情况下去干扰一个作业或者数据
- 在不同的场景下每个用户可以扮演不同的角色,多个框架
- 当团队大了之后可以更加明确团队成员责任
1.2.解决了什么问题?
- 数据的敏感程度不同,对安全等级的区分和管控粒度的要求
- 各个组件自身架构在权限管控这块的实现可能千差万别,如何统一和简化的问题
- 分布式的集群场景,海量的数据对象,对权限管控流程的性能,效率,可维护性的要求
- 各种服务和集群多样的交互,编程和接入方式,增加了权限管控的范围和难度
- 数据的流动性本质,对权限的动态变更能力的需求
1.3.存在的问题?
1. 用户认证问题,避免用户自己为自己赋权限
1.3.1 解决方法
- Kerberos框架去实现用户认证
二、CDH Kerberos身份验证架简介
2.1.干什么的?
- Kerberos是Hadoop生态系中应用最广的集中式统一用户认证管理框架。
- 提供一个集中式的身份验证服务器,所有用户认证都是在Kerberos服务框架中统一管理
2.2.解决了什么问题?
- 管理用户身份,也就是用户身份认证
- 避免恶意伪装的钓鱼服务骗取用户信息的可能性。
2.3 核心思想
Kerberos最核心的思想是基于秘钥的共识,有且只有中心服务器知道所有的用户和服务的秘钥信息,如果你信任中心服务器,那么你就可以信任中心服务器给出的认证结果。
此外很重要的一点,从流程上来说,Kerberos不光验证的用户真实性,实际上也验证了后台服务的真实性, 所以他的身份认证是双向认证,后台服务同样是通过用户,密码的形式登记到系统中的,避免恶意伪装的钓鱼服务骗取用户信息的可能性。
2.3.存在问题?
- 实施起来比较繁琐,因为每个服务都需要去接入Kerberos来进行认证
版权声明:本博客为记录本人自学感悟,转载需注明出处!
https://me.csdn.net/qq_39657909