„Elasticsearch ist eine unglaublich vielseitige und leistungsstarke Such- und Analyse -Engine. Es kann schnell viele Textdaten aufnehmen, organisieren, sortieren, aggregieren und verwalten.
Trotz all dessen ist eines der herausragendsten Merkmale in Elasticsearch und seinem gesamten Ökosystem die Ironclad -Sicherheitsfunktionen. Elasticsearch enthält Funktionen wie die Unterzeichnung von HTTP -Anforderungen und ermöglicht es nur authentifizierte Benutzer, Vorgänge auf dem Cluster auszuführen.
Eine weitere Sicherheitsfunktion in Elasticsearch ist die Verwendung von Benutzern und Rollen. Mit Elasticsearch können Sie Benutzern im Cluster bestimmte Rollen zuweisen. Diese werden dann verwendet, um zu bestimmen, welche Aktionen der Benutzername auf dem Cluster ausführen kann.
Elasticsearch weist allen im Cluster erstellten Benutzer eine Standardrolle zu. Mit der Standardrolle können die Benutzer auf den Auth -Endpunkt zugreifen, der für das Ändern von Kennwörtern, das Abrufen von Benutzerinformationen usw. verantwortlich ist, usw.”
Hinweis: Die Standardrolle wird auch anonymen Benutzern zugewiesen.
Der Kern dieses Tutorials besteht darin, Ihnen die Grundlagen der Elasticsearch -Rollen zu geben. Mit diesem Tutorial werden Sie feststellen.
Lassen Sie uns eintauchen.
Elasticsearch erhalten Rollen API
Wir verwenden die GET -Rollen -API, um Informationen über Rollen im Elasticsearch -Cluster abzurufen. Die Anforderungssyntax ist wie gezeigt:
Get /_Security /Rolle
Die obige Abfrage sollte alle Rollen im System zurückgeben.
Um Informationen über eine bestimmte Rolle abzurufen, können Sie die Syntax wie gezeigt verwenden:
Get/_Security/Rolle/
HINWEIS: Diese API erfordert, dass der Benutzer die Berechtigung von Managing_security auf dem Cluster hat.
Wenn die Anfrage erfolgreich ist, sollte die Abfrage eine Reihe von Rollen zurückgeben.
Beispiel 1 - Abrufen Sie alle Rollen im Cluster ab
In der folgenden Beispielanforderung werden alle Rollen im Elasticsearch -Cluster abgerufen:
curl -xget "http: // localhost: 9200/_Security/Rolle?Pretty = True "-H" KBN -XSRF: Berichterstattung "
Eine Beispielausgabe ist unten dargestellt:
"apm_user":
"Cluster": [],
"Indizes": [
"Namen": [
"apm-*"
],
"Privilegien": [
"lesen",
"View_index_metadata"
],
"degoRectricted_indices": Falsch
,
"Namen": [
"Protokolle-APM.*"
],
"Privilegien": [
"lesen",
"View_index_metadata"
],
"degoRectricted_indices": Falsch
,
"Namen": [
"logs-apm-*"
],
"Privilegien": [
"lesen",
"View_index_metadata"
],
"degoRectricted_indices": Falsch
,
"Namen": [
"Metriken-APM.*"
],
"Privilegien": [
"lesen",
"View_index_metadata"
],
"degoRectricted_indices": Falsch
,
"Namen": [
"Metriken-apm-*"
],
"Privilegien": [
"lesen",
"View_index_metadata"
],
"degoRectricted_indices": Falsch
,
"Namen": [
"Spuren-APM.*"
],
"Privilegien": [
"lesen",
"View_index_metadata"
],
"degoRectricted_indices": Falsch
,
Hinweis: Die obige Ausgabe wurde für den Umfang dieses Tutorials abgeschnitten.
Beispiel 2 - Informationen zu einer bestimmten Rolle erhalten
Das folgende Beispiel gibt Informationen über die Rolle kibana_admin zurück.
curl -xget "http: // localhost: 9200/_Security/rollen/kibana_admin" -h "kbn -xsrf: melden"
Die resultierenden Rolleninformationen lautet wie gezeigt:
"kibana_admin":
"Cluster": [],
"Indizes": [],
"Anwendungen": [
"Anwendung": "Kibana-.Kibana ",
"Privilegien": [
"alle"
],
"Ressourcen": [
"*"
]
],
"Rennen wie": [],
"Metadaten":
"_reserviert": wahr
,
"transient_metadata":
"aktiviert": wahr
Rolleninformationen in Yaml abrufen
Standardmäßig wird die API von GET Rollen das Ergebnis im JSON -Format zurückgeben. Sie können jedoch ein anderes Format mit dem Formatparameter auswählen.
Die Syntax ist wie gezeigt:
Get /_Security /Rolle?format = json/yaml
Zum Beispiel können wir ausführen:
curl -xget "http: // localhost: 9200/_Security/rollen/kibana_admin?format = yaml "-h" KBN -XSRF: Berichterstattung "
Resultierende Ausgabe:
---
kibana_admin:
Cluster: []
Indizes: []
Anwendungen:
- Anwendung: "Kibana-.Kibana "
Privilegien:
- "alle"
Ressourcen:
- "*"
Rennen wie: []
Metadaten:
_Reserved: true
transient_metadata:
aktiviert: wahr
Rollen für einen bestimmten Benutzer anzeigen
Wenn Sie Informationen zu einem bestimmten Benutzernamen (einschließlich ihrer Rollen) anzeigen möchten, können Sie die Anfrage wie gezeigt verwenden:
Get /_Security /Benutzer
Angenommen, wir haben einen Benutzernamen „LinuxHint“, wir können diese Benutzerinformationen wie gezeigt abrufen:
curl -xget "http: // locahost: 9200/_security/user/linuxHint?format = yaml "-h" KBN -XSRF: Berichterstattung "
Die obige Anfrage sollte Informationen über den Benutzer im YAML -Format wie gezeigt zurückgeben:
---
LinuxHint:
Benutzername: "LinuxHint"
Rollen:
- "Zuschauer"
- "WATCHER_USER"
full_name: "LinuxHint.com "
E -Mail: "[email protected] "
Metadaten:
aktiviert: wahr
Wir können sehen, dass der Benutzer die Rollen zu Viewer und Watcher_user hat.
Rollen in Kibana anzeigen
Wenn Sie die Cat -Rollen -API nicht verwenden möchten, können Sie die Elasticsearch -Rollen in Kibana durch Navigieren zum Management -> Stack Management anzeigen.
Als nächstes navigieren Sie zu Sicherheit -> Rollen
Sie können dann die Rollen anzeigen und verwalten.
Abschluss
In diesem Artikel haben Sie gelernt, wie man die Elasticsearch -Rollen -API verwendet, um Informationen zu bestimmten Rollen im Cluster anzuzeigen. Sie haben auch festgestellt.
Danke fürs Lesen!