【问题标题】:SolrCloud 6 user access to /solr/collection/admin/pingSolrCloud 6 用户访问 /solr/collection/admin/ping
【发布时间】:2017-02-09 17:29:53
【问题描述】:

我是新的 Solr,我已经部署了 4 个节点的 SolrCloud 集群和 3 个节点的外部 zookeeper。我将 security.json 文件部署到了限制对集群的访问的 zookeper。我有 2 个用户(管理员、用户 1)。

{
"authentication":{
"blockUnknown":true,
"class":"solr.BasicAuthPlugin",
"credentials":{
  "admin”:”asdjboagsdbpnabojfm”,
  "user1”:”jsidafhoihda0idfhnasndi”},
"":{"v":15}},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[
  {
    "name":"all",
    "role":"admin",
    "index":1},
  {
    "name":"security-edit",
    "role":"admin",
    "index":2},
  {
    "name":"read",
    "role":"dev",
    "index":3},
  {
    "name":"update",
    "role":"dev",
    "index":4},
  {
    "name":"collection-admin-read",
    "role":"dev",
    "index":5},
  {
    "name":"config-read",
    "role":"dev",
    "index":6}],
"user-role":{
  "admin":[
    "admin",
    "dev"],
  "user1":["dev"]},
"":{"v":39}}
}

当我尝试以下网址时,

curl -u admin:password -k -s "https://solrcloud-01.dfw.3mhis.vm:8080/solr/test/admin/ping?wt=json&indent=on"

注意:测试是 2 个分片的集合,每个分片有 1 个复制。 我得到“200 STATUS OK”响应,但是当我以user1 尝试它时,它给了我未经授权的请求。我在这里做错了什么。 此外,solr 版本为 6,其中 ping 是根据https://cwiki.apache.org/confluence/display/solr/Implicit+RequestHandlers 可用的隐式可用端点之一@

【问题讨论】:

    标签: solr solrcloud


    【解决方案1】:

    基本上我给security.json的权限如下

    {   "path":"/admin/ping",
        "role":"dev",
        "index":7
    }
    

    【讨论】:

    • 这仍然适用于 Solr 8.11。我用来执行 Solr 健康检查的帐户没有访问 ping 端点的权限。显然,简单的“读取”和“更新”权限是不够的。为 ping 路径添加权限规则就可以了。
    猜你喜欢
    • 2012-04-30
    • 2018-10-21
    • 2015-12-05
    • 2023-03-29
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    相关资源
    最近更新 更多