微信公众号:深广大数据Club
关注可了解更多大数据的相关资讯。问题或建议,请公众号留言;
如果你觉得深广大数据Club对你有帮助,欢迎赞赏[1]
Apache Sentry介绍
Apache Sentry是Cloudera公司发布的一个Hadoop开源组件,截止目前还是Apache的孵化项目,它提供了细粒度级、基于角色的授权以及多租户的管理模式。Sentry当前可以和Hive/Hcatalog、Apache Solr 和Cloudera Impala集成,未来会扩展到其他的Hadoop组件,例如HDFS和HBase。
Apache Sentry组件
Sentry Server:Sentry RPC服务器管理授权元数据。它支持安全检索和操作元数据的界面;
Data Engine:这是一个数据处理应用程序,如Hive或Impala,需要授权访问数据或元数据资源。数据引擎加载Sentry插件,拦截所有访问资源的客户端请求并将其路由到Sentry插件进行验证;
Sentry Plugin:Sentry插件在数据引擎中运行。它提供了操作存储在Sentry服务器中的授权元数据的接口,并包括授权策略引擎,该引擎使用从服务器检索的授权元数据来评估访问请求。
关键概念:
身份验证 - 验证凭据以可靠地识别用户
授权 - 限制用户对给定资源的访问权限
用户 - 由基础认证系统识别的个人
组 - 由身份验证系统维护的一组用户
权限 - 允许访问对象的指令或规则
角色 - 一组特权; 用于组合多个访问规则的模板
授权 模型 - 定义要受授权规则约束的对象以及允许的操作粒度。例如,在SQL模型中,对象可以是数据库或表,操作也可以 SELECT,INSERT,CREATE 等等。对于搜索模型,对象是索引,集合和文档; 访问模式是查询,更新等。
Apache Sentry 特性
用户身份和组映射:Sentry依靠底层身份验证系统(如Kerberos或LDAP)来识别用户。它还使用Hadoop中配置的组映射机制来确保Sentry看到与Hadoop生态系统的其他组件相同的组映射。
基于角色的访问控制:基于角色的访问控制(RBAC)是一种强大的机制,用于管理典型企业中大量用户和数据对象的授权。添加或删除新数据对象,用户一直加入,移动或离开组织。RBAC使管理更容易。
统一授权:Sentry的另一个重要方面是统一授权。访问控制规则一旦定义,就可以跨多个数据访问工具工作。
Apache Sentry与Apache Range对比
Sentry:RBAC(role-based acess control)基于角色的管理,比如Cloudera用的是Sentry,华为的FusionInsight也采用类似的机制。
即:通过创建角色,将每个组件的权限授予给此角色。然后在用户中添加此角色,即用户具备此角色访问组件的权限(组也类似)
Ranger: PBAC(policy-based acess control)基于策略的管理,比如Hortonworks用的Ranger
即:每个组件可以添加服务Service如Hive,然后添加自定义策略(如访问粒度Database,Table,Column),再添加组或用户访问权限(Select,Create,Drop等)
Sentry与Hadoop 生态系统集成
如上所示,Apache Sentry使用多个Hadoop组件。您的核心是Sentry Server,它存储授权元数据,并为工具提供API,以便安全地检索和修改此元数据。
请注意,Sentry服务器仅支持元数据。实际的授权决策由在Hive或Impala等数据处理应用程序中运行的策略引擎做出。每个组件都加载Sentry插件,其中包括用于处理Sentry服务的服务客户端和用于验证授权请求的策略引擎。
Sentry+Hive
具有细粒度授权的SQL模型
DB对象 - 数据库,表和列
DB操作 - SELECT,INSERT,CREATE,ALTER,..
支持托管和外部表
通过URI级别权限对外部路径规范进行特殊处理
通过SQL进行授权管理
授予,撤销,创建/放弃角色等
Sentry+Impala
使用与Hive相同的SQL模型
细粒度授权
DB对象 - 数据库,表,列
DB操作 - SELECT,INSERT,CREATE,ALTER,..
支持托管和外部表
通过URI级别权限对外部路径规范进行特殊处理
Impala引擎缓存特权元数据以加快访问速度
Sentry + Metadata
实施与元数据访问相同的策略
防止未经授权的架构更改
隐藏未经授权用户的元数据
适用于所有Metastore RPC客户端
带有Hcatalog的Apache Pig
Hadoop工作
第三方应用程序
Sentry HDFS ACL Sync
用于非SQL客户端的HDFS ACL sycn
将Sentry权限应用为HDFS ACL
需要启用HDFS扩展ACL
Namenode维护特权缓存
目前仅支持Hive数据
为非SQL客户端启用相同的文件访问粒度
Sentry+Solr
细粒度的授权
Collection
Documents
Index
支持对资源的查询和更新访问
除了以上Sentry和大数据组件的集成外,还有与sqoop、kafka等大数据组件的集成,关于Sentry与kafka的集成将会在接下来的分享中给出。
赞赏
如果你觉得到深广大数据Club对你有帮助,欢迎赞赏,有你的支持,我们一定会越来越好!
领取专属 10元无门槛券
私享最新 技术干货