0

В настоящее время я изучаю стек ELK (Elasticsearch, Logstash, Kibana) для централизованного анализа файла журнала.Контроль доступа к Elasticsearch на основе значения поля

План состоит в том, чтобы хранить журналы нескольких приложений в одном кластере Elasticsearch, используя logstash и дневные индексы.

Все документы содержат поле, называемое приложением, например "application": "superapp".

Сейчас мы ищем способ осуществления контроля доступа, как это:

A) Superuser: способен видеть записи всех приложений журнала.

B) Разработчик: может видеть только записи в журналах приложений, которым он разрешен. Например, команда разработчиков для приложения «superapp» должна иметь возможность видеть записи для этого приложения.

Чтобы обернуть это: нам нужно управление доступом на основе значения в полевом приложении.

При чтении документации для Elastisearch и Shield я не мог найти очевидного способа сделать это.

Любые идеи о том, как мы могли бы реализовать это так, чтобы работать с Kibana 3 и 4?

Моя первая идея заключалась в использовании псевдонимов, которые автоматически присваиваются документам с использованием шаблонов индексов. Мне интересно, правильно ли это.

ответ

0

Я задал этот вопрос here на elasticsearch Google Group и получил такой ответ:

«Вы можете выделить различные типы журналов в свои индексы, которые сделали бы вещи намного проще, вы можете также настроить псевдоним с фильтром, а затем предоставить доступ к этому псевдониму определенным пользователям. В настоящее время КБ не является многоуровневым, но это функция, которая будет добавлена, вам придется настроить несколько экземпляров, каждый из которых будет собственный псевдоним. "

Подводя итог: необходимо предоставить многоуровневое обслуживание в интерфейсе (Kibana) и бэкэнд (Elasticsearch).

Frontend: Используйте Доверенный для Kibana
https://github.com/salyh/elastic-defender
https://github.com/fangli/kibana-authentication-proxy

Backend: несколько подходов с использованием отфильтрованного псевдонима и шаблонов псевдонимов
Limiting Indexes and Operations
Faking Index per User with Aliases -
http://engineering.aweber.com/using-elasticsearchs-aliases/
http://opennomad.com/content/controlling-access-elasticsearch-filtered-aliases-nginx-and-tokens