用于elasticsearch的Nginx反向代理 – 插入filter

我有一个elasticsearch实例,在它前面有一个Nginx反向代理,实现了URL级别的访问控制机制 – 大致如本文所述

这是给我的索引粒度,这是方便的。

我试图找出下一个虽然是 – 我可以执行一个一揽子过滤条件,排除search结果和直接文件检索?

我正在考虑一个“组”模型,其中我的索引中的文档是按组标记的,用户只能看到他们组的结果和文档。

现在,我知道我可以做每个组的索引,并应用URL级别的控制。 如果我不能这样做,这可能是我的解决方法。

我看了一下别名 – 这似乎做了我想要的90%,因为我可以限制search到别名。 但是我不能做的是用一个(未授权的)文档ID来禁止一个直接的'GET'请求。

有没有办法做到这一点,或者我只是在一个无处可去的路上?

注意 – 我的部分原因是我正在尝试使用相当标准的kibana设置,并且我有重叠的用户组。

虽然我不能直接回答你的问题(+1),但我想指出的是,从事弹性工作的人最终听取了Elasticsearch访问控制人员提出的所有请求,并介绍了Shield 。 引用网站:

随着Elasticsearch的快速采用,比以往更容易存储,search和分析数据。 Shield允许您轻松使用用户名和密码保护这些数据,同时简化您的架构。 当您需要时,也可以使用encryption,基于angular色的访问控制,IP过滤和审计等高级安全function。

您的数据日益成为您最宝贵的资产。 密码保护与盾。

也许至less要看看这是否符合您的要求是值得的。

今天在与Elasticsearch合作开始一个新项目的同时,我做了一些研究,并且发现了Search Guard – Elasticsearch安全性是免费的 。 显然,我不能判断这个工作有多好,但是如果你或者其他人仍然在寻找(a)解决scheme,并且在某些情况下不能使用Shield, 。

引用网站,这些是特点:

  • 灵活的REST层访问控制(基于用户/angular色;别名,索引和types)
  • 灵活的传输层访问控制(基于用户/angular色;别名,索引和types)
  • 文档级安全性(DLS):只检索匹配标准的文档
  • 字段级别安全性(FLS):从search响应中过滤字段/源代码部分
  • HTTP身份validation(基本,代理头,SPNEGO / Kerberos,相互SSL / CLIENT-CERT)
  • HTTP会话支持通过cookie
  • 灵活的身份validation后端(LDAP(S)/活动目录,基于文件,代理服务器标题,通过WAFFLE原生Windows)
  • 灵活的授权后端(LDAP(s)/活动目录,基于文件的本地Windows通过WAFFLE)
  • 通过SSL / TLS(传输层)的节点到节点encryption
  • 通过HTTPS(SSL / TLS)保护REST层
  • X-Forwarded-For(XFF)支持
  • 审计logging
  • 匿名login/未经身份validation的访问
  • 与Kibana 4和logstash一起工作

但是,也有一些限制:

  • 在使用DLS或FLS时,您仍可以search所有文档/字段,但不是所有文档/字段都会返回
  • 传输层访问控制仅使用简单的用户名/密码login
  • 没有自动多索引filter(见下文)
  • 当前群集的监视不需要authentication,并且总是被允许的(这可能在将来会改变)

也许这对于你或者其他人来说是有帮助和有价值的。