2013-05-11 10 views
6

Ich werde logstash + ES + kibana für mein Projekt verwenden. Ich möchte wissen, wie man dieses Framework für Multi-Tenants verwendet. Kann mir jemand erklären, wie Kibana nach der Authentifizierung den Elastic Search Index abfragt und in Kibanas Dashboard lädt? Kann ich einschränken, dass kibana nach einem spezifischen Index der Elastic-Suche für einen bestimmten Benutzer oder eine bestimmte ID sucht? Hat jemand das versucht?Multitenant-Setup mit Kibana und Elasticsearch

Thnx

+0

Suche Guard scheint Unterstützung dafür zu haben: https://github.com/floragunncom/search-guard-docs/blob/master/multenantia.md – salyh

Antwort

4

Sie könnten aber je nach Anwendungsfall ist es wahrscheinlich keine gute Idee. Es gibt einige Fehler, insbesondere in Bezug auf Sicherheit und Trennung der Benutzer. Erste Kibana ist nur Javascript im Browser ausgeführt. Was auch immer Kibana tun darf, ist Ihr Benutzer. Sie können jedoch für jeden "Benutzer" ein separates Indexmuster haben, aber die elastische Suche bietet Ihnen keine Möglichkeit, Benutzer zu authentifizieren oder einem Benutzer Zugriff auf einen bestimmten Index zu gewähren. Sie müssten dafür eine Art Proxy verwenden.

Ich empfehle http://www.found.no/foundation/elasticsearch-in-production/ und http://www.found.no/foundation/elasticsearch-security/ für eine eingehendere Erklärung.

+0

Dies ist nicht mehr gültig mit Elastic Shield https: // www. elastic.co/products/shield. Sie können jetzt Benutzer/Rollen definieren und ihnen verschiedene Zugriffsebenen für bestimmte Indizes zuweisen. Es ist jedoch nicht offen. –

2

Erstellen Sie einen Index für jeden Mandanten.

Auf diese Weise können Sie einen Proxy (wie die App kibana des Hosts) verwenden, um die Anfrage abzufangen und eine Einstellung zurückzugeben, die den zu verwendenden Index enthält.

Der Wert, der den zu verwendenden Index angibt, kann der angemeldete Benutzer sein, oder Sie können diesen Wert woanders abrufen.

Um die Daten noch weiter zu trennen, können Sie in jedem Indexnamen ein Präfix verwenden. Wenn Sie einen Index angeben, können Sie ein Muster verwenden, um den gesamten Index nur für bestimmte Daten/Entitäten zu verwenden.

Hoffe diese Hilfe.

+0

Ja, ich mache etwas in dieser Zeile. thnx. – nebi

1

Elasticsearch announced heute ein Plugin, an dem sie arbeiten, sollte ES-Produkt Sicherheitsfunktionen bieten. Wahrscheinlich enthält dies Möglichkeiten, den Zugriff basierend auf Rollen und Benutzern zu beschränken, die auf Cluster- und Indexebene eingerichtet werden. Wenn das passiert, sehe ich keine Möglichkeit, diese Sicherheitsschicht nicht auch auf Kibana zu erweitern. Außerdem scheint dieses Plugin nur eine kommerzielle Version zu haben.

+0

Entschuldigung für die späten Kommentare. Aber die aktuelle Sicherheit von elasticsearch erwartet, dass der Benutzer einen vorkonfigurierten Pfad bereitstellt, der hier nicht funktioniert – nebi