问题标签 [elasticsearch-shield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1332 浏览

elasticsearch - ELK - 屏蔽身份验证问题

我正在尝试为 Elasticsearch 设置 Shield,但遇到了一些问题

当我尝试像这样启动 Elasticsearch 时:

一切都按预期工作,但是当我尝试启动/重新启动 Elasticsearch 时:

我有下面描述的错误

操作系统:Ubuntu 12.04
Elasticsearch:1.4.3
Shield:1.0.1 Elasticsearch 和 Shield 以默认设置运行

0 投票
0 回答
384 浏览

plugins - ElasticSearch 管理员用户未经授权访问 jdbc River 插件

在 ElasticSearch 中,我配置了 jdbc river 插件,它在配置屏蔽并分配给管理员用户之前工作,ElasticSearch 是安全的并且能够被 TransportClient 访问,但是当我运行 River 插件脚本时,我得到了以下异常:

顺便说一句,我已经修改了 JDBCFeeder.java,将 shield.user 传递给设置,但没有运气!

0 投票
1 回答
1758 浏览

authentication - Elasticsearch access control based on field value

I am currently investigating the ELK (Elasticsearch, Logstash, Kibana) stack for centralized log file analysis.

The plan is to store logs of multiple applications in the same Elasticsearch cluster using logstash and day-based indexes.

All documents contain a field called application, e.g."application": "superapp".

Now we are looking for a way to implement access control like this:

A) Superuser: is able to see log entries of all applications.

B) Developer: can only see log entries of the applications he is allowed to. For example the dev team for application "superapp" should only be able to see the entries for this application.

To wrap it up: we need access control based on the value in the field application.

While reading the documentation for Elastisearch and Shield I could not find an obvious way to do it.

Any ideas how we could realize this in a way that would also work with Kibana 3 and 4?

My first idea was to use aliases which are being automatically assigned to documents using index templates. I am wondering if this is the right direction.

0 投票
0 回答
426 浏览

elasticsearch - alternative jdbc-river and shield

My goal is that I have admin rights on kibana 4. I wish I could edit the content and save dashboard, etc... and to share its with others users. But I don't want the others users should be able to save my dashboard or to remove its, etc... Only that they have rights in reading.

I tried and I successed to install plugin shield for to have the authentication on elasticsearch but on kibana 4 essentially. I configured correctly the roles of users and admin. I arrived to save data through logstash, however, for mysql connection and through jdbc-river-plugin, I find an error with jdbc and authorization :

I explain that before without shield-plugin installation, everything was working well. I read that it's not compatible with shield-plugin and jdbc-river-plugin.

Exists it one alternative for to have a compatibility with authentication and mysql connection, so an alternative with shield-plugin or jdbc-river-plugin? And with shield-plugin, I risk to find an other error in 30 day because it's trial version.

Can I replace shield-plugin with LDAP-river-plugin or with elasticsearch-security-plugin or other? And can I replace jdbc-river-plugin with mongodb-river-plugin or with couchdb-river-plugin or other?

Thanks!

0 投票
1 回答
2063 浏览

elasticsearch - 在 kibana 仪表板中尝试使用 Shield 的 Elasticsearch 出现错误?

我在我的环境中使用的以下示例数据

数据:

将数据索引到节点中

安装 Shield 并按上述方式启动

数据受到保护,如果我尝试访问,我可以看到如下所示。

用户和角色添加如下

我已经编辑了roles.yml,并尝试根据上面提到的例子添加医生和护士。安全对我不起作用。

注意:我提到了这个博客http://blog.trifork.com/2015/03/05/shield-your-kibana-dashboards/ 任何帮助将不胜感激

0 投票
1 回答
694 浏览

java - 禁用集成测试的屏蔽

我有一个应用程序使用 JAVA API 通过传输客户端连接到另一台服务器上的弹性搜索节点。该节点启用了屏蔽安全性,因此我使用 maven 获取屏蔽 jar。我的应用程序运行良好。但是,现在我正在尝试为我的应用程序的构建过程设置集成测试。因此,我没有尝试传输客户端,而是尝试运行本地节点来运行我的测试。但是,本地节点抱怨以下问题。

  1. 许可证的有效期仅为 30 天。该文档完美地描述了如何使用各种工具执行此操作,但没有说明如何通过 JAVA API 更新许可证。
  2. 我收到 org.elasticsearch.shield.authz.AuthorizationException:用户 [__es_system_user] 的操作 [indices:data/write/index] 未经授权。发生这种情况是因为我的节点没有配置任何用户。文档再次完美地描述了如何将用户添加到节点,但没有解释如何使用 JAVA API 完成此操作。

这我想知道是否可以禁用集成测试的屏蔽。我尝试了以下方法,但没有奏效。任何帮助表示赞赏。

0 投票
1 回答
1729 浏览

nest - 弹性搜索中的 Active Directory AuthorizationException

我正在尝试使用 AD 身份验证。我能够成功登录,但我无权在 Marvel 中执行任何查询。每次我在奇迹中执行查询时,我都会收到以下错误。以下是详细信息

elasticsearch.yml (C:\ES\elasticsearch-1.4.4\config)

role_mapping.yml (C:\ES\elasticsearch-1.4.4\config\shield)。在 Node(C:\ES\elasticsearch-1.4.4\data\elasticsearch\nodes\0) 中复制了相同的文件

角色.yml

更新

根据 Jaymode 的建议,我添加了 shield.auth: debug。下面是日志(我认为这很有用)

0 投票
1 回答
2361 浏览

elasticsearch - Logstash 不使用 Shield 写入 Elasticsearch

我一直试图让logstash用屏蔽写到elasticseach,但没有成功。

在将屏蔽插件安装到 elasticsearch 之前,我的设置工作正常。我遵循了 elastic.co 的本指南并创建了一个新用户以供logstash user role使用:

我还按照指南中的建议更新logstash output configuration并添加了protocoluser和。password

重新启动logstash 和elasticsearch 后,我仍然没有收到来自logstash 的elasticsearch 的任何内容。我错过了什么吗?

这是我的设置:

注意:我还在transportlogstash 中安装了插件并尝试了它,而不是protocol => "http"相同的负面结果。

如果您需要更多信息,请告诉我。谢谢

编辑1:

弹性搜索日志:

Logstash 日志:(这部分重复了很多次)

0 投票
1 回答
1489 浏览

elasticsearch - 无法在 Shield Elasticsearch 中添加管理员 - [错误] 无法找到或加载主类 org.elasticsearch.shield.authc.esusers.tool.ESUsersTool

我正在尝试将 Shield 作为我的 Kibana 和 Elasticsearch 的安全措施。在 Mac OS X 10.9.5 上运行

遵循Elastic的文档。设法安装盾牌。由于我的 Elasticsearch 是自动运行的,因此我跳过了第 2 步(启动 elasticsearch)。

对于第 3 步,我尝试添加管理员。在我的终端上运行以下命令。bin/shield/esusers useradd admin -p password -r admin.

不幸的是,我收到了这个错误。

错误:无法找到或加载主类 org.elasticsearch.shield.authc.esusers.tool.ESUsersTool

以下是我采取的其他步骤。

  1. 仔细检查bin/shield esusers路径是否存在。
  2. 添加用户前手动启动elasticsearch
  3. 根据文档尝试了各种不同的命令。 bin/shield/esusers useradd admin -r adminbin/shield/esusers useradd es_admin -r admin
  4. 用 sudo 运行这些命令

产生同样的错误。似乎也无法在谷歌上找到问题。不太确定我在这里缺少什么,因为文档看起来很简单。

0 投票
1 回答
3152 浏览

elasticsearch - 如何在 Elasticsearch 中重置 Shield 的密码

上下文:在我的本地机器上为 1 个节点的 Elasticsearch 设置 Shield

机器:Mac OSX 10.9.5

安装 Shield 后,我尝试添加管理员用户,但未能这样做,因为最初我没有重新启动我的 ES。在这次尝试中,我尝试了一堆用户名和密码组合(我的错在这里)。

在有人指出我必须在创建任何用户之前重新启动 ES 之后,我就这样做了。现在,每次我localhost:9200在浏览器上打开时,都需要提供用户名和密码。

我已经尝试过我之前“尝试”创建的大多数组合,但 non 似乎是正确的组合。

运行后bin/shield/users,它显示我有一个用户,这是我的机器名。再次尝试了一堆我能想到的可能的密码,但似乎没有一个是正确的。下面是我得到的错误

{"error":"AuthenticationException[无法对 REST 请求的用户 [username] 进行身份验证 [/_shield]]","status":401}

那么,关于如何重置密码或完全删除用户的任何想法?