kibana 查询_0617-使用Sentry给Solr的collection赋予Query权限后查询异常分析

作者:冉南阳

1.文档编写目的

Sentry在CDH平台中定位为统一的授权框架,即所有的组件都要受Sentry的管理,当然也是为了方便用户的操作,一个入口为所有数据相关进行授权。Solr作为CDH的关键组件之一也不例外,安全授权同样受到Sentry的管理。在前面的文章中,Fayson介绍过Sentry与Solr如何结合使用,参考《0294-如何使用Sentry为Solr赋权》,《0301-使用命令行创建collection时Sentry给Solr赋权的问题》和《0304-如何在Hue中使用Sentry为Solr赋权》。但在CDH5中,Solr的版本较低是4.10.3,而CDH6的Solr是7.4,Solr的更新较大,在使用上也会有些差别。

本文描述在CDH6.1.0集群中,使用Sentry给Solr的collection赋予Query后,查询时不会报权限问题,但是不能查询到数据的问题解决。

  • 测试环境:

1.CM/CDH6.1.0

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

3.采用root用户进行操作

4.集群已启用Kerberos

2.创建collection并导入数据

1.首先准备一个8个字段的csv文件,一共1行,使用逗号分隔,用来导入Solr并实现全文索引。

bdbc9a441ea2a6d9b0287676883f6b16.png

注意:这个csv定义了文件头,一共8个字段,从field_1到field_8。

2. 定义一个schema文件,一共8个字段,从field_1到field_8,其中field_1为主键。

f8f894cd8af769c09ec4268a72a9dfa4.png

3. 准备创建collection的脚本,并创建collection

创建collection脚本

b665ee00115ff321e6edef93eb88b811.png

创建collection:创建collection需要使用solr的principle。

b98b8c7d4ce86ee3f17b2cbf21351f55.png

4. 将准备好的csv文件导入到collection1

导入文件也需要使用solr的principle

curl --negotiate -u : 'http://hadoop12:8983/solr/collection1/update/csv?commit=true' -H 'Content-Type: application/csv' --data-binary @/data1/solr/data.csv
4fce1e1ca5dab5af0785de23d39b0023.png

5. 查询collection1确认数据都已经导入成功。

curl --negotiate -u : "http://hadoop12:8983/solr/collection1/query?q=*%3A*&wt=json&indent=true"
e873853dcc595ffcfeb0b2926a034336.png

3.故障重现

1.首先创建一个admin角色,并赋予所有权限,并对应到solr用户组。

solrctl sentry --create-role adminsolrctl sentry --add-role-group admin solrsolrctl sentry --grant-privilege admin 'collection=*->action=*'solrctl sentry --grant-privilege admin 'config=*->action=*'solrctl sentry --list-privileges admin
b13f6b240b061502938b4e08f15eb63c.png

2.未赋予kibana用户任何权限时查看数据

会报403错

kinit kibanacurl --negotiate -u : "http://hadoop12:8983/solr/collection1/query?q=*%3A*&wt=json&indent=true"
bd38866a2a8f98fedfaed4a72dde65bb.png

3.授予kibana用户查询权限

solrctl sentry --create-role kibanasolrctl sentry --grant-privilege kibana 'collection=*->action=Update'solrctl sentry --add-role-group kibana kibanasolrctl sentry --list-privileges kibana
b4432dad657b1ac5d7f23440b7a25b07.png
670d81d098f8f6482b9e79dc6e843e87.png

4.使用kibana查询数据

kinit kibanacurl --negotiate -u : "http://hadoop12:8983/solr/collection1/query?q=*%3A*&wt=json&indent=true"

此时未报错,但是查询时没有数据。

ef801aacc0d68108c827ae85f14a1642.png

4.问题解决

1、修改配置文件

修改配置文件tmp/${COLLECTION}_configs/conf/solrconfig.xml,把下的 true改成 false。

5dee4d0f9f093abac3571dd2c4f85c33.png

2. reload collection

kinit solrsolrctl collection --reload collection1

reload需要使用solr用户

0c902ceeac56dfb5ea63c1ce6b841003.png

3.再次使用kibana用户查看数据,成功查询数据

curl --negotiate -u : "http://hadoop12:8983/solr/collection1/query?q=*%3A*&wt=json&indent=true"
707d46b2911174138ba9eceb348e7035.png

5.总结

1. CDH 6.1里移除了collection level的授权,如果不需要document level授权认证的话,需要在solrconfig.xml 中把 下的 true 改成 false。这样默认会是collection 级别的授权认证。

2.如果要使用document level的授权认证,那么schema中必须包含特殊的列 senty_auth,它的值就是sentry的role 名,以决定哪个role可以查看这个documen

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kibana是一个开源的数据分析和可视化工具,用于与Elasticsearch进行集成并实现数据的展示和分析kibana-7.4.2-windows-x86_64是特定的Kibana版本,适用于Windows 64位操作系统。 Kibana-7.4.2是在Elastic Stack的新版本中发布的,其主要目标是提供更好的用户体验和功能增强。在Windows 64位操作系统上使用Kibana-7.4.2可以帮助用户更轻松地搭建和管理数据可视化的工作环境。 Kibana-7.4.2可以通过官方网站或GitHub等渠道进行下载和安装。一旦安装完成,用户可以通过浏览器访问Kibana的Web界面。Kibana提供了一个直观的用户界面,让用户可以通过简单的操作来创建、保存和分享数据可视化的仪表盘。 使用Kibana-7.4.2,用户可以实现以下功能: 1. 数据查询和搜索:Kibana允许用户在Elasticsearch中进行高级的查询和搜索操作,以便从大量数据中快速找到所需的结果。 2. 数据可视化:Kibana提供了多种图表和可视化工具,用户可以根据需要创建各种动态和交互式的图表和仪表盘,直观地呈现数据。 3. 数据分析Kibana支持用户对数据进行深入的分析,包括聚合、过滤、排序和分析各种统计指标等功能。 4. 数据分享和协作:用户可以通过Kibana将创建的仪表盘和图表分享给其他人,实现数据的协作和共享。 总之,Kibana-7.4.2是一个功能强大且易于使用的数据分析和可视化工具,适用于Windows 64位操作系统,可以帮助用户轻松地进行数据的查询、可视化和分析,以实现更好的数据洞察力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值