Elasticsearch Získejte role

Elasticsearch Ziskejte Role



„Elasticsearch je neuvěřitelně všestranný a výkonný vyhledávací a analytický nástroj. Dokáže rychle přijímat, organizovat, třídit, agregovat a spravovat velké množství textových dat.

Navzdory tomu všemu jsou jednou z nejvýraznějších funkcí Elasticsearch a celého jeho ekosystému pevné bezpečnostní prvky. Elasticsearch zahrnuje funkce, jako je podepisování požadavků HTTP, a umožňuje provádět operace na clusteru pouze ověřeným uživatelům.







Další bezpečnostní funkcí v Elasticsearch je použití uživatelů a rolí. Elasticsearch umožňuje přiřadit konkrétní role uživatelům v clusteru. Ty se pak použijí k určení, jaké akce může uživatelské jméno v clusteru provádět.



Elasticsearch přiřadí výchozí roli všem uživatelům vytvořeným v clusteru. Výchozí role umožňuje uživatelům přístup ke koncovému bodu ověřování, který je zodpovědný za změnu hesel, získávání informací o uživatelích atd.



POZNÁMKA: Výchozí role je přiřazena také anonymním uživatelům.





Jádrem tohoto tutoriálu je poskytnout vám základy rolí Elasticsearch. Pomocí tohoto tutoriálu zjistíte, jak načíst role v nativní sféře Elasticsearch a zobrazit role přiřazené ke konkrétnímu uživatelskému jménu.

Pojďme se ponořit.



Elasticsearch Get Roles API

K získávání informací o rolích v clusteru Elasticsearch používáme rozhraní Get Roles API. Syntaxe požadavku je následující:

DOSTAT / _bezpečnostní / role


Výše uvedený dotaz by měl vrátit všechny role v systému.

Chcete-li získat informace o konkrétní roli, můžete použít syntaxi, jak je znázorněno:

DOSTAT / _bezpečnostní / role /< název >


POZNÁMKA: Toto rozhraní API vyžaduje, aby měl uživatel v clusteru oprávnění manage_security.

Pokud je požadavek úspěšný, měl by dotaz vrátit pole rolí.

Příklad 1 – Načtení všech rolí v clusteru

Níže uvedený příklad požadavku načte všechny role v clusteru Elasticsearch:

kučera -XGET „http://localhost:9200/_security/role?pretty=true“ -H 'kbn-xsrf: reporting'


Příklad výstupu je uveden níže:

{
'apm_user' : {
'shluk' : [ ] ,
'indexy' : [
{
'jména' : [
'apm-*'
] ,
'privilegia' : [
'číst' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : Nepravdivé
} ,
{
'jména' : [
'okno-cca*'
] ,
'privilegia' : [
'číst' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : Nepravdivé
} ,
{
'jména' : [
'okno-cca-*'
] ,
'privilegia' : [
'číst' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : Nepravdivé
} ,
{
'jména' : [
'metrics-apm.*'
] ,
'privilegia' : [
'číst' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : Nepravdivé
} ,
{
'jména' : [
'metrics-apm-*'
] ,
'privilegia' : [
'číst' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : Nepravdivé
} ,
{
'jména' : [
'traces-apm.*'
] ,
'privilegia' : [
'číst' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : Nepravdivé
} ,


POZNÁMKA: Výše ​​uvedený výstup byl pro rozsah tohoto kurzu zkrácen.

Příklad 2 – Získejte informace o konkrétní roli

Níže uvedený příklad vrací informace o roli kibana_admin.

kučera -XGET 'http://localhost:9200/_security/role/kibana_admin' -H 'kbn-xsrf: reporting'


Výsledné informace o roli vypadají takto:

{
'kibana_admin' : {
'shluk' : [ ] ,
'indexy' : [ ] ,
'aplikace' : [
{
'aplikace' : 'kibana-.kibana' ,
'privilegia' : [
'Všechno'
] ,
'zdroje' : [
'*'
]
}
] ,
'utíkat jako' : [ ] ,
'metadata' : {
'_Rezervováno' : skutečný
} ,
'transient_metadata' : {
'povoleno' : skutečný
}
}
}

Získejte informace o roli v YAML

Ve výchozím nastavení vrátí rozhraní API pro získání rolí výsledek ve formátu JSON. Pomocí parametru format však můžete zvolit jiný formát.

Syntaxe je následující:

DOSTAT / _bezpečnostní / role? formát =json / yaml


Chcete-li například získat informace o roli kibana_admin ve formátu YAML, můžeme spustit:

kučera -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: reporting'


Výsledný výstup:

---
kibana_admin:
shluk: [ ]
indexy: [ ]
aplikace:
- aplikace: 'kibana-.kibana'
privilegia:
- 'Všechno'
zdroje:
- '*'
utíkat jako: [ ]
metadata:
_Rezervováno: skutečný
přechodná_metadata:
povoleno: skutečný

Zobrazit role pro konkrétního uživatele

Pokud si přejete zobrazit informace o konkrétním uživatelském jménu (včetně jejich rolí), můžete žádost použít takto:

DOSTAT / _bezpečnostní / uživatel


Předpokládejme například, že máme uživatelské jméno „linuxhint“, můžeme tyto informace o uživateli získat, jak je uvedeno:

kučera -XGET 'http://locahost:9200/_security/user/linuxhint?format=yaml' -H 'kbn-xsrf: reporting'


Výše uvedený požadavek by měl vrátit informace o uživateli ve formátu YAML, jak je znázorněno:

---
linuxhint:
uživatelské jméno: 'linux'
role:
- 'divák'
- 'watcher_user'
celé jméno: 'linuxhint.com'
e-mailem: ' [e-mail chráněný] '
metadata: { }
povoleno: skutečný


Vidíme, že uživatel má role diváka a watcher_user.

Zobrazit role v Kibaně

Pokud nechcete používat API rolí kočky, můžete zobrazit role Elasticsearch v Kibaně tak, že přejdete na Správa -> Správa zásobníku.


Dále přejděte na Zabezpečení -> Role


Poté můžete role prohlížet a spravovat.

Závěr

V tomto článku jste se naučili používat rozhraní Elasticsearch Roles API k zobrazení informací o konkrétních rolích v clusteru. Také jste zjistili, jak zobrazit role daného uživatelského jména pomocí uživatelského rozhraní API.

Děkuji za přečtení!