【问题标题】:Readonlyrest and Kibana Permission ConfigurationReadonlyrest 和 Kibana 权限配置
【发布时间】:2017-03-04 18:10:49
【问题描述】:

我正在尝试使用 Kibana 设置一个基本的 readonlyrest 示例。我的配置如下:

readonlyrest:
enable: true
response_if_req_forbidden: Forbidden by ReadonlyREST ES plugin

access_control_rules:

- name: Accept requests from users in group team1 on index1
  type: allow
  hosts: [localhost,127.0.0.1,10.0.0.0/24]
  groups: ["team1"]
  actions: ["indices:data/read","indices:data/read/mge/*","indices:data/read/mget","indices:data/read/*","indices:data/write/*","indices:admin/template/*","indices:admin/create", "cluster:monitor/*"]
  indices: ["<no-index>", ".kibana*", "logstash*", "default" ,"sha*" ,"ba*"]

users:

- username: alice
  auth_key: alice:p455phrase
  groups: ["team1"]

不幸的是,这不起作用。我在 elasticsearch 日志中不断收到授权异常,并显示以下错误消息:

no block has matched, forbidding by default: { action: indices:data/read/mget, 
OA:127.0.0.1, indices:[.kibana], M:POST, P:/_mget, C:{"docs":[{"_index":".kibana",
"_type":"config","_id":"4.6.1"}]}, Headers:[]}

我的配置中缺少什么?

在 kibana.yml 中的配置是:

elasticsearch.username: "alice"
elasticsearch.password: "p455phrase"

【问题讨论】:

    标签: security elasticsearch readonly


    【解决方案1】:

    如果您的用例是基本的 kibana 身份验证,则应遵循the example in the documentation

    一旦您开始工作,您可以修改示例以将所需的规则分配给组,并将组分配给硬编码的用户。

    请记住,由于 HTTP 基本身份验证在浏览器和 Kibana 之间提供了糟糕的安全级别,因此这不是一个生产就绪的解决方案:

    1. 浏览器将在每次请求时传递未加密的凭据
    2. 用户无法从 Kibana “注销”

    现在 ReadonlyREST 提供了两个 Kibana 插件(PROEnterprise),它们使用加密的 cookie 修复了上述限制,并在 Kibana UI 中注入了一个注销按钮。

    download 可享受 30 天试用

    【讨论】:

    • 谢谢。如果我允许所有索引和所有操作,则基本的 kibana 示例有效。但我想做的是限制 Kibana 对以 sha 开头的索引和以 ba 开头的索引的访问。为此,我添加了索引:[“”、“.kibana”、“.kibana/*”、“default”、“sha*”、“ba*”]。这会导致权限错误。没有匹配的块,默认禁止:{ action: indices:data/read/search, OA:127.0.0.1, indices:[shakespeare sha*], M:POST, P:/_msearch, C:{"index": ["sha*"],"ignore_unavailable":true}...
    • 我做了更多的挖掘工作。看来 readonlyrest 正在按预期工作。似乎当 kibana 启动时,它会使用 logstash 模式发出一个或多个请求。如果用户在 logstash-* 上没有读取权限,则访问被拒绝。所以现在的问题是如何防止 kibana 使用 logstash 索引模式发出这个初始请求?
    • 不不,我的意思是禁用用于 elasticsearch 的 readonlyrest 插件!在配置的开头有一个enable: true :)
    • kibana 状态保存在 ES 中一个名为 .kibana 的特殊索引中。这就是我说的原因:让 kibana 在禁用 ES 安全性的情况下保存其配置(包括索引模式)一次(或为某些超级用户配置 kibana_access: rw 登录)。然后只读用户应该可以很好地看到仪表板
    • 链接失效了,有参考吗?
    猜你喜欢
    • 2017-06-03
    • 1970-01-01
    • 2017-05-22
    • 2011-03-13
    • 2016-09-28
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多