„Elasticsearch yra neįtikėtinai universalus ir galingas paieškos ir analizės variklis. Jis gali greitai gauti, tvarkyti, rūšiuoti, kaupti ir valdyti didelius teksto duomenų kiekius.
Nepaisant viso to, viena ryškiausių Elasticsearch ir visos jos ekosistemos savybių yra geležinės apsaugos priemonės. „Elasticsearch“ apima tokias funkcijas kaip HTTP užklausų pasirašymas ir leidžia tik autentifikuotiems vartotojams atlikti operacijas klasteryje.
Kita Elasticsearch saugos funkcija yra vartotojų ir vaidmenų naudojimas. Elasticsearch leidžia priskirti konkrečius vaidmenis grupės vartotojams. Tada jie naudojami norint nustatyti, kokius veiksmus naudotojo vardas gali atlikti klasteryje.
„Elasticsearch“ priskirs numatytąjį vaidmenį visiems klasteryje sukurtiems vartotojams. Numatytasis vaidmuo leidžia vartotojams pasiekti autentifikavimo galutinį tašką, kuris yra atsakingas už slaptažodžių keitimą, vartotojo informacijos gavimą ir kt.
PASTABA: numatytasis vaidmuo taip pat priskiriamas anoniminiams vartotojams.
Šios pamokos esmė yra suteikti jums Elasticsearch vaidmenų pagrindus. Naudodami šią mokymo programą sužinosite, kaip gauti vaidmenis vietinėje Elasticsearch srityje ir peržiūrėti vaidmenis, priskirtus konkrečiam vartotojo vardui.
Pasinerkime.
Elasticsearch Get Roles API
Naudojame „Get Roles“ API, kad gautume informaciją apie vaidmenis Elasticsearch klasteryje. Užklausos sintaksė yra tokia:
GAUTI / _saugumas / vaidmenį
Aukščiau pateikta užklausa turėtų grąžinti visus sistemos vaidmenis.
Norėdami gauti informaciją apie konkretų vaidmenį, galite naudoti sintaksę, kaip parodyta:
GAUTI / _saugumas / vaidmenį /< vardas >
PASTABA: ši API reikalauja, kad vartotojas klasteryje turėtų „manage_security“ privilegiją.
Jei užklausa yra sėkminga, užklausa turėtų grąžinti vaidmenų masyvą.
1 pavyzdys – gauti visus vaidmenis klasteryje
Toliau pateikta pavyzdinė užklausa nuskaitys visus „Elasticsearch“ klasterio vaidmenis:
garbanoti -XGET „http://localhost:9200/_security/role?pretty=true“ -H 'kbn-xsrf: ataskaitų teikimas'
Išvesties pavyzdys parodytas žemiau:
'apm_user' : {
'klasteris' : [ ] ,
'indeksai' : [
{
'vardai' : [
'apm-*'
] ,
'privilegijos' : [
'skaityti' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : klaidinga
} ,
{
'vardai' : [
'langas-apytiksliai*'
] ,
'privilegijos' : [
'skaityti' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : klaidinga
} ,
{
'vardai' : [
'langas-apytiksliai-*'
] ,
'privilegijos' : [
'skaityti' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : klaidinga
} ,
{
'vardai' : [
'metrics-apm.*'
] ,
'privilegijos' : [
'skaityti' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : klaidinga
} ,
{
'vardai' : [
'metrics-apm-*'
] ,
'privilegijos' : [
'skaityti' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : klaidinga
} ,
{
'vardai' : [
'traces-apm.*'
] ,
'privilegijos' : [
'skaityti' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : klaidinga
} ,
PASTABA: Aukščiau pateikta išvestis buvo sutrumpinta pagal šios mokymo programos apimtį.
2 pavyzdys – Gaukite informacijos apie konkretų vaidmenį
Toliau pateiktame pavyzdyje pateikiama informacija apie kibana_admin vaidmenį.
garbanoti -XGET „http://localhost:9200/_security/role/kibana_admin“ -H 'kbn-xsrf: ataskaitų teikimas'
Gauta vaidmens informacija yra tokia:
'kibana_admin' : {
'klasteris' : [ ] ,
'indeksai' : [ ] ,
'programos' : [
{
'aplikacija' : 'kibana-.kibana' ,
'privilegijos' : [
'visi'
] ,
'ištekliai' : [
'*'
]
}
] ,
'bėk kaip' : [ ] ,
'metaduomenys' : {
'_rezervuotas' : tiesa
} ,
'trumpalaikiai_metaduomenys' : {
'įjungtas' : tiesa
}
}
}
Gaukite vaidmens informaciją YAML
Pagal numatytuosius nustatymus „get roles“ API pateiks rezultatą JSON formatu. Tačiau naudodami formato parametrą galite pasirinkti kitą formatą.
Sintaksė yra tokia, kaip parodyta:
GAUTI / _saugumas / vaidmenį? formatu =json / yaml
Pavyzdžiui, norėdami gauti informaciją apie kibana_admin vaidmenį YAML formatu, galime paleisti:
Rezultatas:
kibana_admin:
klasteris: [ ]
indeksai: [ ]
programos:
- taikymas: 'kibana-.kibana'
privilegijos:
- 'visi'
ištekliai:
- '*'
bėk kaip: [ ]
metaduomenys:
_rezervuota: tiesa
transient_metadata:
įjungtas: tiesa
Peržiūrėkite konkretaus vartotojo vaidmenis
Jei norite peržiūrėti informaciją apie konkretų vartotojo vardą (įskaitant jų vaidmenis), galite naudoti užklausą, kaip parodyta:
GAUTI / _saugumas / Vartotojas
Pavyzdžiui, tarkime, kad turime vartotojo vardą „linuxhint“, galime gauti tą vartotojo informaciją, kaip parodyta:
Aukščiau pateikta užklausa turėtų pateikti informaciją apie vartotoją YAML formatu, kaip parodyta:
linuxhint:
Vartotojo vardas: 'Linux'
vaidmenys:
- 'žiūrovas'
- 'žiūrintojas_vartotojas'
pilnas vardas: 'linuxhint.com'
paštas: “ [apsaugotas el. paštas] “
metaduomenys: { }
įjungtas: tiesa
Matome, kad vartotojas turi žiūrovo ir stebėtojo_vartotojo vaidmenis.
Peržiūrėkite vaidmenis Kibanoje
Jei nenorite naudoti kačių vaidmenų API, galite peržiūrėti „Elasticsearch“ vaidmenis „Kibana“ eidami į „Valdymas“ -> „Stack Management“.
Tada eikite į Sauga -> Vaidmenys
Tada galite peržiūrėti ir valdyti vaidmenis.
Išvada
Šiame straipsnyje sužinojote, kaip naudoti Elasticsearch Roles API, kad peržiūrėtumėte informaciją apie konkrečius klasterio vaidmenis. Taip pat sužinojote, kaip peržiūrėti nurodyto vartotojo vardo vaidmenis naudojant vartotojo API.
Ačiū, kad skaitėte!