前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Hue中使用Sentry为Solr赋权

如何在Hue中使用Sentry为Solr赋权

作者头像
Fayson
发布2018-07-12 15:34:40
1K0
发布2018-07-12 15:34:40
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的


Fayson在之前的文章《如何使用Sentry为Solr赋权》以及《使用命令行创建collection时Sentry给Solr赋权的问题》中,对Solr与Sentry的集成授权进行过介绍,并通过命令行的方式创建collection,以及通过命令行的方式对collection的赋权进行操作并测试。我们知道在Hive/Impala中使用Sentry时,既可以通过命令行建立相关角色并赋权,也可以在Hue中进行相关操作。对于Solr的赋权其实也是一样的,CDH同时支持在Hue中与命令行操作赋权,本文Fayson主要介绍如何在Hue中使用Sentry为Solr赋权。

  • 内容概述:

1.启用Solr的Sentry赋权

2.其他前置准备

3.在Hue中创建collection以及导入样例数据

4.Hue中对Solr的collection赋权测试

5.总结

  • 测试环境:

1.CM5.14.3/CDH5.14.2

2.操作系统版本为Redhat7.3

3.采用root用户进行操作

  • 前置条件

1.集群已启用Kerberos

2.Hue已集成Solr与Sentry

2.启用Solr的Sentry赋权


1.首先如果要启用Solr的Sentry赋权,Solr服务必须启用Kerberos认证,所以请确保你的CDH集群已经启用了Kerberos。

2.然后对Solr服务进行以下配置

保存配置并按照要求重启服务。

3.确保Hue已经集成Sentry与Solr服务。

保存配置并按照要求重启服务。

3.其他前置准备


确保你学会了在Windows客户端使用浏览器访问Kerberos的CDH的一些Hadoop服务界面。因为当对Solr服务启用了Kerberos后,Solr服务不像YARN或HDFS的界面可以选择是否对界面访问启用Kerberos认证,默认Solr Web UI即采用了Kerberos了认证。如果你不会,请参考Fayson之前的文章《如何在Kerberos下使用Solr》和《Windows Kerberos客户端配置并访问CDH

4.在Hue中创建collection以及导入样例数据


1.这里我们首先准备一个8个字段的csv文件,一共10行,使用逗号分隔,用来导入Solr并实现全文索引。并将该文件put到一个hdfs目录。

2.注意:因为我们开启了Sentry,在创建collection的时候我们需要使用solr用户。否则是没有权限创建collection的。这里跟在Hive/Impala中使用Sentry时,使用hive作为管理员用户是相似的。我们在Hue中创建一个solr的group,以及solr用户,然后用solr用户登录Hue,创建过程略。

3.使用solr用户登录hue后,选择“indexes”。

点击“create index”

点击选择第一步我们上传的csv文件

点击“upload a file”

点击“Next”

注意还要输入collection的名字,这里我们输入“collection1”,选择主键以及其他字段,这里我们选择field_1也即第一个字段为主键。

点击“Submit”

这里创建collection以及导入数据成功

4.使用solr用户登录Kerberos,查询collection1确认数据都已经导入成功。

代码语言:javascript
复制
[root@cdh02 _fayson]# kinit -kt /root/solr.keytab solr/cdh02.fayson.com
[root@cdh02 _fayson]# curl --negotiate -u : "http://cdh04.fayson.com:8983/solr/collection1/query?q=*%3A*&wt=json&indent=true"

(可左右滑动)

5.Hue中对Solr的collection赋权测试


1.使用solr用户登录Hue中,创建admin角色,并对solr用户组分配所有权限。

选择security模块

点击“Solr Collections”

点击“Roles”

创建solr_admin角色,并赋予所有权限。

2.使用fayson用户登录Hue进行创建collection测试。

报错,显示没有权限

3.在Windows客户端使用fayson用户登录Kerberos,访问Solr Web UI

显示一直在loading,无法加载

4.使用solr用户登录Hue,给fayson赋予collection的update权限。

5.使用fayson用户登录Hue再次创建collection。

创建成功,说明Sentry给fayson用户组分配collection的update权限后,fayson用户可以创建collection

6.使用fayson用户分别查看collection1和collection2的数据。

查看collection2的数据时报错没有权限,因为我们没有给fayson用户组分配collection的query权限。

查看collection1时成功,说明用户组即使没分配collection的query权限,但是依旧可以查看由自己创建的collection。

7.再次使用fayson用户登录Windows下的Kerberos客户端,然后访问Solr的Web UI

依旧显示一直在loading,即如果该用户只有collection的update权限,Solr的Web UI无法查看。

8.通过Solr用户登录Hue,将fayson用户组的权限改为所有collection都有query权限。

9.再次使用fayson用户登录Hue查看collection2的数据。

可以查询collection2的数据,说明授权query权限生效

10.再次使用fayson用户登录Windows的Kerberos客户端,然后打开Solr的Web UI

发现可以登录Solr的Web UI,也可以查询collection中的数据。

6.总结


1.使用Hue可以界面化配置Solr的Sentry权限,从而对collection进行权限管理,主要是query和update。

2.如果对某个用户只赋予update权限,则该用户可以创建collection,但是依旧无法查询collection。

3.Solr的Sentry的权限不仅适用于Hue查询collection数据,也适用于Solr的Web UI。即Sentry的权限控制是全方位的。

4.如果要访问Solr的Web UI,必须在Windows客户端配置Kerberos并登录,使用火狐浏览器访问。具体请参考《如何在Kerberos下使用Solr》和《Windows Kerberos客户端配置并访问CDH》。

5.如果是在Solr中使用Sentry权限管理,CDH集群必须启用Kerberos,同时Solr服务也需要启用Kerberos认证。

6.一旦对solr启用Sentry授权以后,solr用户就是管理员,一切管理员操作都需要使用solr用户来操作,我们在Hue中也同时要创建solr用户与solr组,这个与我们在Hive/Impala中使用Sentry时,hive用户是管理员原理是一样的。

参考:

https://www.cloudera.com/documentation/enterprise/latest/topics/search_sentry.html#concept_m2p_knc_3w

https://www.cloudera.com/documentation/enterprise/latest/topics/cm_sg_sentry_service.html#search_privilege_model

https://www.cloudera.com/documentation/enterprise/latest/topics/search_solrctl_examples.html

https://www.cloudera.com/documentation/enterprise/latest/topics/search_configuration.html#concept_l3y_txb_mt

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档