„Az Elasticsearch egy hihetetlenül sokoldalú és hatékony kereső- és elemzőmotor. Gyorsan képes feldolgozni, rendszerezni, rendezni, összesíteni és kezelni nagy mennyiségű szöveges adatot.
Mindezek ellenére az Elasticsearch és egész ökoszisztémája egyik legkiemelkedőbb tulajdonsága a vaskalapos biztonsági elemek. Az Elasticsearch olyan funkciókat tartalmaz, mint például a HTTP-kérelmek aláírása, és csak hitelesített felhasználók hajthatnak végre műveleteket a fürtön.
Az Elasticsearch másik biztonsági funkciója a felhasználók és szerepkörök használata. Az Elasticsearch lehetővé teszi, hogy meghatározott szerepköröket rendeljen a fürt felhasználóihoz. Ezek segítségével meghatározható, hogy a felhasználónév milyen műveleteket hajthat végre a fürtön.
Az Elasticsearch alapértelmezett szerepet rendel a fürtben létrehozott összes felhasználóhoz. Az alapértelmezett szerepkör lehetővé teszi a felhasználók számára, hogy hozzáférjenek a hitelesítési végponthoz, amely a jelszavak megváltoztatásáért, a felhasználói adatok lekéréséért stb.
MEGJEGYZÉS: Az alapértelmezett szerepkör a névtelen felhasználókhoz is hozzá van rendelve.
Ennek az oktatóanyagnak a lényege, hogy megismerje az Elasticsearch szerepek alapjait. Ezzel az oktatóanyaggal megtudhatja, hogyan kérheti le a szerepeket az Elasticsearch natív tartományában, és hogyan tekintheti meg az adott felhasználónévhez rendelt szerepköröket.
merüljünk bele.
Elasticsearch Get Roles API
A Szerepkörök beolvasása API-t használjuk az Elasticsearch-fürt szerepköreivel kapcsolatos információk lekérésére. A kérés szintaxisa a következő:
KAP / _Biztonság / szerep
A fenti lekérdezésnek vissza kell adnia a rendszer összes szerepkörét.
Egy adott szerepkörrel kapcsolatos információk lekéréséhez használhatja az alábbi szintaxist:
KAP / _Biztonság / szerep /< név >
MEGJEGYZÉS: Ez az API megköveteli, hogy a felhasználó a fürtön management_security jogosultsággal rendelkezzen.
Ha a kérés sikeres, a lekérdezésnek szerepkörök tömbjét kell visszaadnia.
1. példa – A fürt összes szerepkörének lekérése
Az alábbi példakérelem lekéri az Elasticsearch fürt összes szerepkörét:
becsavar -XGET „http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: jelentés'
Az alábbiakban egy példa kimenet látható:
'apm_user' : {
'fürt' : [ ] ,
'indexek' : [
{
'nevek' : [
'apm-*'
] ,
'kiváltságok' : [
'olvas' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : hamis
} ,
{
'nevek' : [
'ablak kb.*'
] ,
'kiváltságok' : [
'olvas' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : hamis
} ,
{
'nevek' : [
'ablak kb.*'
] ,
'kiváltságok' : [
'olvas' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : hamis
} ,
{
'nevek' : [
'metrics-apm.*'
] ,
'kiváltságok' : [
'olvas' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : hamis
} ,
{
'nevek' : [
'metrics-apm-*'
] ,
'kiváltságok' : [
'olvas' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : hamis
} ,
{
'nevek' : [
'traces-apm.*'
] ,
'kiváltságok' : [
'olvas' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : hamis
} ,
MEGJEGYZÉS: A fenti kimenetet az oktatóanyag hatóköréhez képest csonkoltuk.
2. példa – Információk beszerzése egy adott szerepkörről
Az alábbi példa információkat ad vissza a kibana_admin szerepkörről.
becsavar -XGET „http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: jelentés'
Az eredményül kapott szerepinformáció a következő:
'kibana_admin' : {
'fürt' : [ ] ,
'indexek' : [ ] ,
'alkalmazások' : [
{
'Alkalmazás' : 'kibana-.kibana' ,
'kiváltságok' : [
'összes'
] ,
'erőforrások' : [
'*'
]
}
] ,
'run_as' : [ ] ,
'metaadatok' : {
'_fenntartott' : igaz
} ,
'átmeneti_metaadatok' : {
'engedélyezve' : igaz
}
}
}
Szerepadatok lekérése YAML-ben
Alapértelmezés szerint a get roles API JSON formátumban adja vissza az eredményt. A format paraméter segítségével azonban választhat más formátumot is.
A szintaxis a következő:
KAP / _Biztonság / szerep? formátum =json / yaml
Például a kibana_admin szerepkör információinak lekéréséhez YAML formátumban a következőt futtathatjuk:
Az eredmény:
kibana_admin:
fürt: [ ]
indexek: [ ]
alkalmazások:
- Alkalmazás: 'kibana-.kibana'
kiváltságok:
- 'összes'
erőforrások:
- '*'
run_as: [ ]
metaadatok:
_fenntartott: igaz
tranziens_metadata:
engedélyezve: igaz
Egy adott felhasználó szerepköreinek megtekintése
Ha egy adott felhasználónévvel kapcsolatos információkat szeretne megtekinteni (beleértve a szerepkörüket is), akkor az alábbi módon használhatja a kérést:
KAP / _Biztonság / felhasználó
Például tegyük fel, hogy van egy „linuxhint” felhasználónevünk, az alábbi módon lekérhetjük a felhasználói információkat:
A fenti kérésnek YAML formátumban kell visszaadnia a felhasználóval kapcsolatos információkat, az alábbi módon:
linuxhint:
felhasználónév: 'linux'
szerepek:
- 'néző'
- 'figyelő_felhasználó'
teljes név: 'linuxhint.com'
email: ' [e-mail védett] '
metaadatok: { }
engedélyezve: igaz
Láthatjuk, hogy a felhasználó rendelkezik a néző és a watcher_user szerepkörrel.
Szerepek megtekintése Kibanában
Ha nem szeretné használni a cat roles API-t, megtekintheti az Elasticsearch szerepköröket a Kibanában a Kezelés -> Stack Management menüpontban.
Ezután lépjen a Biztonság -> Szerepek menüpontra
Ezután megtekintheti és kezelheti a szerepeket.
Következtetés
Ebből a cikkből megtudta, hogyan használhatja az Elasticsearch Roles API-t a fürt egyes szerepköreivel kapcsolatos információk megtekintéséhez. Azt is felfedezte, hogyan tekintheti meg egy adott felhasználónév szerepeit a felhasználói API segítségével.
Köszönöm, hogy elolvasta!