在CDH未启用认证的情况下安装及使用Sentry

Apache Sentry是什么?

一句话:提供了细粒度级、基于角色的授权以及多租户的管理模式。
对于Hadoop和Hive来说,引入Sentry提升数据安全是非常必要的。

为什么使用Sentry

Sentry是一个集中式日志管理系统。它具备以下优点:

    1. 安全授权 :Sentry可以控制数据访问,并对已通过验证的用户提供数据访问特权。
    1. 细粒度访问控制 :Sentry支持细粒度的Hadoop数据和元数据访问控制。Sentry在服务器、数据库、表和视图范围提供了不同特权级别的访问控制,包括查找、插入等,允许管理员使用视图限制对行或列的访问。管理员也可以通过Sentry和带选择语句的视图或UDF,根据需要在文件内屏蔽数据。
    1. 基于角色的管理 :Sentry通过基于角色的授权简化了管理,将访问同一数据集的不同特权级别授予多个组。
    1. 多租户管理 :Sentry允许为委派给不同管理员的不同数据集设置权限。Sentry可以在数据库/schema级别进行权限管理。
    1. 统一平台 :Sentry为确保数据安全,提供了一个统一平台,使用现有的Hadoop Kerberos实现安全认证。
    这里顺提Hadoop Kerberos安全认证:解决了主机和用户级的安全认证
      1. 解决服务器到服务器的认证
        由于kerberos对集群里的所有机器都分发了keytab,相互之间使用密钥进行通信,确保不会冒充服务器的情况。集群中的机器就是它们所宣称的,是可靠的。
        防止了用户伪装成Datanode,Tasktracker,去接受JobTracker,Namenode的任务指派。
      1. 解决client到服务器的认证
        Kerberos对可信任的客户端提供认证,确保他们可以执行作业的相关操作。防止用户恶意冒充client提交作业的情况。
        用户无法伪装成其他用户入侵到一个HDFS 或者MapReduce集群上
        用户即使知道datanode的相关信息,也无法读取HDFS上的数据
        用户无法发送对于作业的操作到JobTracker上

Sentry怎么组成呢?

Sentry架构

1)Sentry Server: 主脑,管理着认证元数据。
2)Data Engine: 引擎,验证访问权限。
3)Sentry Plugin: 集成接口。

Sentry和Hadoop生态的集成

PS: CDH平台中的安全,认证(Kerberos/LDAP)是第一步,授权(Sentry)是第二步。如果要启用授权,必须先启用认证。但在CDH平台中给出了一种测试模式,即不启用认证而只启用Sentry授权。但强烈不建议在生产系统中这样使用,因为如果没有用户认证,授权没有任何意义形同虚设,用户可以随意使用任何超级用户登录HiveServer2或者Impala,并不会做密码校验。注:本文档仅适用于测试环境。

本文档主要描述如何在CDH未启用认证的情况下安装,配置及使用Sentry。

Sentry安装:


1.在MySQL中创建sentry数据库
建表语句:

> create database sentry default character set utf8;  
> CREATE USER 'sentry'@'%' IDENTIFIED BY 'password';   
> GRANT ALL PRIVILEGES ON sentry. * TO 'sentry'@'%';   
> FLUSH PRIVILEGES;

命令行操作:

[root@ip-172-31-6-148 527-hive-HIVEMETASTORE]# mysql -uroot -p
Enter password: 
...
mysql> create database sentry default character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'sentry'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON sentry.* TO 'sentry'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> 

2.进入Cloudera Manager控制台点击“添加服务”

3.进入服务添加界面


4.选择Sentry服务,点击“继续”

5.选择Sentry Server及Gateway的安装节点,点击“继续“,注意需提前在MySQL中建立好相关用户和数据库


6.输入Sentry服务的数据库信息,点击测试,测试通过,点击“继续”


7.等待服务安装成功,点击“继续”


8.点击“完成”,Sentry服务到此安装完成。

3. Sentry配置

3.1. Hive配置


1.配置Hive使用Sentry服务


3.2.关闭Hive的用户模拟功能, 取消“勾选”:

3.3Hue配置


配置Hue与Sentry集成


3.4HDFS配置


配置HDFS开启ACLs与Sentry权限同步


完成以上配置后,回到Cloudera Manager主页,部署客户端配置并重启相关服务。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343