Elasticsearch bekommen Rollen

Elasticsearch bekommen Rollen

„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!