Elasticsearch Get-Rollen

Elasticsearch Get Rollen



„Elasticsearch ist eine unglaublich vielseitige und leistungsstarke Such- und Analysemaschine. Es kann große Mengen an Textdaten schnell aufnehmen, organisieren, sortieren, aggregieren und verwalten.

Trotz alledem ist eines der herausragendsten Merkmale von Elasticsearch und seinem gesamten Ökosystem die eisernen Sicherheitsfunktionen. Elasticsearch enthält Funktionen wie das Signieren von HTTP-Anforderungen und ermöglicht nur authentifizierten Benutzern, Operationen auf dem Cluster durchzuführen.







Ein weiteres Sicherheitsfeature 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 Benutzern eine Standardrolle zu. Die Standardrolle ermöglicht den Benutzern den Zugriff auf den Authentifizierungsendpunkt, der für das Ändern von Passwörtern, das Abrufen von Benutzerinformationen usw. verantwortlich ist.“



HINWEIS: Die Standardrolle wird auch anonymen Benutzern zugewiesen.





Der Kern dieses Tutorials besteht darin, Ihnen die Grundlagen der Elasticsearch-Rollen zu vermitteln. In diesem Tutorial erfahren Sie, wie Sie die Rollen im nativen Bereich von Elasticsearch abrufen und die Rollen anzeigen, die einem bestimmten Benutzernamen zugewiesen sind.

Tauchen wir ein.



Elasticsearch Get Roles-API

Wir verwenden die Get Roles-API, um Informationen zu Rollen im Elasticsearch-Cluster abzurufen. Die Anforderungssyntax sieht wie folgt aus:

ERHALTEN / _Sicherheit / Rolle


Die obige Abfrage sollte alle Rollen im System zurückgeben.

Um Informationen zu einer bestimmten Rolle abzurufen, können Sie die folgende Syntax verwenden:

ERHALTEN / _Sicherheit / Rolle /< Name >


HINWEIS: Diese API erfordert, dass der Benutzer über die Berechtigung manage_security auf dem Cluster verfügt.

Wenn die Anforderung erfolgreich ist, sollte die Abfrage ein Array von Rollen zurückgeben.

Beispiel 1 – Alle Rollen im Cluster abrufen

Die folgende Beispielanforderung ruft alle Rollen im Elasticsearch-Cluster ab:

kräuseln -XGET „http://localhost:9200/_security/role?pretty=true“ -H 'kbn-xsrf: Berichterstattung'


Eine Beispielausgabe ist unten dargestellt:

{
'apm_user' : {
'Cluster' : [ ] ,
'Indizes' : [
{
'Namen' : [
'apm-*'
] ,
'Privilegien' : [
'lesen' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : FALSCH
} ,
{
'Namen' : [
'Fenster-ca.*'
] ,
'Privilegien' : [
'lesen' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : FALSCH
} ,
{
'Namen' : [
'Fenster-ungefähr-*'
] ,
'Privilegien' : [
'lesen' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : FALSCH
} ,
{
'Namen' : [
'metrics-apm.*'
] ,
'Privilegien' : [
'lesen' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : FALSCH
} ,
{
'Namen' : [
'metrics-apm-*'
] ,
'Privilegien' : [
'lesen' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : FALSCH
} ,
{
'Namen' : [
'traces-apm.*'
] ,
'Privilegien' : [
'lesen' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : FALSCH
} ,


HINWEIS: Die obige Ausgabe wurde für den Umfang dieses Tutorials abgeschnitten.

Beispiel 2 – Informationen zu einer bestimmten Rolle abrufen

Das folgende Beispiel gibt Informationen über die Rolle kibana_admin zurück.

kräuseln -XGET „http://localhost:9200/_security/role/kibana_admin“ -H 'kbn-xsrf: Berichterstattung'


Die resultierenden Rolleninformationen sehen wie folgt aus:

{
'kibana_admin' : {
'Cluster' : [ ] ,
'Indizes' : [ ] ,
'Anwendungen' : [
{
'Anwendung' : 'kibana-.kibana' ,
'Privilegien' : [
'alle'
] ,
'Ressourcen' : [
'*'
]
}
] ,
'Rennen wie' : [ ] ,
'Metadaten' : {
'_reserviert' : Stimmt
} ,
'transient_metadata' : {
'aktiviert' : Stimmt
}
}
}

Abrufen von Rolleninformationen in YAML

Standardmäßig gibt die API zum Abrufen von Rollen das Ergebnis im JSON-Format zurück. Sie können jedoch mit dem Formatparameter ein anderes Format auswählen.

Die Syntax ist wie gezeigt:

ERHALTEN / _Sicherheit / Rolle? Format =json / Yaml


Um beispielsweise die Informationen über die Rolle kibana_admin im YAML-Format abzurufen, können wir Folgendes ausführen:

kräuseln -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: Berichterstattung'


Ergebnisausgabe:

---
kibana_admin:
Cluster: [ ]
Indizes: [ ]
Anwendungen:
- Anwendung: 'kibana-.kibana'
Privilegien:
- 'alle'
Ressourcen:
- '*'
Rennen wie: [ ]
Metadaten:
_reserviert: Stimmt
transiente_metadaten:
aktiviert: Stimmt

Anzeigen von Rollen für einen bestimmten Benutzer

Wenn Sie Informationen zu einem bestimmten Benutzernamen (einschließlich seiner Rollen) anzeigen möchten, können Sie die Anfrage wie gezeigt verwenden:

ERHALTEN / _Sicherheit / Benutzer


Nehmen wir zum Beispiel an, wir haben einen Benutzernamen „linuxhint“, wir können diese Benutzerinformationen wie gezeigt abrufen:

kräuseln -XGET „http://locahost:9200/_security/user/linuxhint?format=yaml“ -H 'kbn-xsrf: Berichterstattung'


Die obige Anforderung sollte wie gezeigt Informationen über den Benutzer im YAML-Format zurückgeben:

---
Linuxhint:
Nutzername: 'Linux'
Rollen:
- 'Zuschauer'
- 'watcher_user'
vollständiger Name: 'linuxhint.com'
Email: ' [E-Mail-geschützt] '
Metadaten: { }
aktiviert: Stimmt


Wir können sehen, dass der Benutzer die Rollen „viewer“ und „watcher_user“ hat.

Anzeigen von Rollen in Kibana

Wenn Sie die Cat-Rollen-API nicht verwenden möchten, können Sie die Elasticsearch-Rollen in Kibana anzeigen, indem Sie zu Management -> Stack Management navigieren.


Navigieren Sie als Nächstes zu Sicherheit -> Rollen


Anschließend können Sie die Rollen anzeigen und verwalten.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie die Elasticsearch Roles API verwenden, um Informationen zu bestimmten Rollen im Cluster anzuzeigen. Sie haben auch herausgefunden, wie Sie die Rollen eines bestimmten Benutzernamens mithilfe der Benutzer-API anzeigen können.

Danke fürs Lesen!