Elasticsearch Získajte roly

Elasticsearch Ziskajte Roly



„Elasticsearch je neuveriteľne všestranný a výkonný vyhľadávací a analytický nástroj. Dokáže rýchlo prijímať, organizovať, triediť, agregovať a spravovať veľké množstvo textových údajov.

Napriek tomu všetkému sú jednou z najvýraznejších funkcií Elasticsearch a celého jeho ekosystému pevné bezpečnostné prvky. Elasticsearch obsahuje funkcie, ako je napríklad podpisovanie HTTP požiadaviek, a umožňuje vykonávať operácie na klastri iba overeným používateľom.







Ďalšou bezpečnostnou funkciou v Elasticsearch je použitie používateľov a rolí. Elasticsearch vám umožňuje priradiť konkrétne roly používateľom v klastri. Tie sa potom použijú na určenie, aké akcie môže používateľské meno vykonávať v klastri.



Elasticsearch priradí predvolenú rolu všetkým používateľom vytvoreným v klastri. Predvolená rola umožňuje používateľom prístup ku koncovému bodu autentifikácie, ktorý je zodpovedný za zmenu hesiel, získavanie informácií o používateľoch atď.



POZNÁMKA: Predvolená rola je priradená aj anonymným používateľom.





Jadrom tohto návodu je poskytnúť vám základy úloh Elasticsearch. Pomocou tohto tutoriálu zistíte, ako získať roly v natívnej sfére Elasticsearch a zobraziť roly priradené konkrétnemu používateľskému menu.

Poďme sa ponoriť.



Elasticsearch Get Roles API

Na získanie informácií o rolách v klastri Elasticsearch používame API Get Roles. Syntax požiadavky je takáto:

GET / _zabezpečenie / úlohu


Vyššie uvedený dotaz by mal vrátiť všetky roly v systéme.

Ak chcete získať informácie o konkrétnej role, môžete použiť syntax, ako je znázornené:

GET / _zabezpečenie / úlohu /< názov >


POZNÁMKA: Toto rozhranie API vyžaduje, aby mal používateľ v klastri privilégium manage_security.

Ak je požiadavka úspešná, dotaz by mal vrátiť pole rolí.

Príklad 1 – Získanie všetkých rolí v klastri

Príklad žiadosti nižšie získa všetky roly v klastri Elasticsearch:

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


Príklad výstupu je uvedený nižšie:

{
'apm_user' : {
'zhluk' : [ ] ,
'indexy' : [
{
'mená' : [
'apm-*'
] ,
'privilégiá' : [
'čítať' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : falošný
} ,
{
'mená' : [
'okno-cca*'
] ,
'privilégiá' : [
'čítať' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : falošný
} ,
{
'mená' : [
'približne okno-*'
] ,
'privilégiá' : [
'čítať' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : falošný
} ,
{
'mená' : [
'metrics-apm.*'
] ,
'privilégiá' : [
'čítať' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : falošný
} ,
{
'mená' : [
'metrics-apm-*'
] ,
'privilégiá' : [
'čítať' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : falošný
} ,
{
'mená' : [
'traces-apm.*'
] ,
'privilégiá' : [
'čítať' ,
'view_index_metadata'
] ,
'allow_restricted_indexs' : falošný
} ,


POZNÁMKA: Výstup vyššie bol skrátený pre rozsah tohto návodu.

Príklad 2 – Získajte informácie o konkrétnej úlohe

Príklad nižšie vracia informácie o úlohe kibana_admin.

zvlniť -XGET “http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: reporting'


Výsledné informácie o úlohe vyzerajú takto:

{
'kibana_admin' : {
'zhluk' : [ ] ,
'indexy' : [ ] ,
'aplikácie' : [
{
'aplikácia' : 'kibana-.kibana' ,
'privilégiá' : [
'všetky'
] ,
'zdroje' : [
'*'
]
}
] ,
'run_as' : [ ] ,
'metaúdaje' : {
'_rezervovaný' : pravda
} ,
'transient_metadata' : {
'povolené' : pravda
}
}
}

Získajte informácie o úlohe v YAML

Rozhranie API na získanie rolí predvolene vráti výsledok vo formáte JSON. Pomocou parametra format si však môžete vybrať iný formát.

Syntax je uvedená:

GET / _zabezpečenie / úlohu? formát =json / yaml


Napríklad, ak chcete získať informácie o úlohe kibana_admin vo formáte YAML, môžeme spustiť:

zvlniť -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: reporting'


Výsledný výstup:

---
kibana_admin:
klaster: [ ]
indexy: [ ]
aplikácie:
- aplikácia: 'kibana-.kibana'
privilégiá:
- 'všetky'
zdroje:
- '*'
spustiť_ako: [ ]
metadáta:
_rezervované: pravda
prechodné_metaúdaje:
povolené: pravda

Zobraziť roly pre konkrétneho používateľa

Ak chcete zobraziť informácie o konkrétnom používateľskom mene (vrátane ich rolí), môžete žiadosť použiť takto:

GET / _zabezpečenie / užívateľ


Predpokladajme napríklad, že máme používateľské meno „linuxhint“, môžeme získať tieto informácie o používateľovi, ako je znázornené:

zvlniť -XGET „http://locahost:9200/_security/user/linuxhint?format=yaml“ -H 'kbn-xsrf: reporting'


Vyššie uvedená požiadavka by mala vrátiť informácie o používateľovi vo formáte YAML, ako je znázornené:

---
linuxhint:
užívateľské meno: 'linux'
role:
- 'divák'
- 'watcher_user'
celé meno: 'linuxhint.com'
email: ' [e-mail chránený] '
metadáta: { }
povolené: pravda


Vidíme, že používateľ má roly divák a watcher_user.

Pozrite si Roly v Kibane

Ak nechcete používať API roly mačiek, roly Elasticsearch v Kibana si môžete pozrieť tak, že prejdete na Management -> Stack Management.


Ďalej prejdite na Zabezpečenie -> Roly


Potom môžete zobraziť a spravovať roly.

Záver

V tomto článku ste sa naučili používať rozhranie Elasticsearch Roles API na zobrazenie informácií o konkrétnych rolách v klastri. Tiež ste zistili, ako zobraziť roly daného používateľského mena pomocou používateľského rozhrania API.

Vďaka za prečítanie!