cdh版本的hadoop在对数据安全上的处理通常采用Kerberos+Sentry的结构。 kerberos主要负责平台用户的用户认证,sentry则负责数据的权限管理。
Apache Sentry是Cloudera公司发布的一个Hadoop开源组件,它提供了细粒度级、基于角色的授权以及多租户的管理模式。 Sentry提供了对Hadoop集群上经过身份验证的用户和应用程序的数据控制和强制执行精确级别权限的功能。Sentry目前可以与Apache Hive,Hive Metastore / HCatalog,Apache Solr,Impala和HDFS(仅限于Hive表数据)一起使用。 Sentry旨在成为Hadoop组件的可插拔授权引擎。它允许自定义授权规则以验证用户或应用程序对Hadoop资源的访问请求。Sentry是高度模块化的,可以支持Hadoop中各种数据模型的授权。
(1)取消HiveServer2用户模拟 在hive配置项中搜索“HiveServer2 启用模拟”,取消勾选 (2)确保hive用户能够提交MR任务 在yarn配置项中搜索“允许的系统用户”,确保包含“hive”。
(1)在Hive配置项中搜索“启用数据库中的存储通知”,勾选。 (2)在Hive配置项中搜索“Sentry”,勾选Sentry。
在Impala配置项中搜索“Sentry”,勾选。
(1)在HDFS配置项中搜索“启用访问控制列表”,勾选。
(2)在HDFS配置项中搜索“启用 Sentry 同步”,做出下图修改。
