Elasticsearch Gaukite vaidmenis

Elasticsearch Gaukite Vaidmenis



„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:

garbanoti -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: ataskaitų teikimas'


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:

garbanoti -XGET „http://locahost:9200/_security/user/linuxhint?format=yaml“ -H 'kbn-xsrf: ataskaitų teikimas'


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!