„Elasticsearch on uskumatult mitmekülgne ja võimas otsingu- ja analüüsimootor. See suudab kiiresti neelata, korraldada, sortida, koondada ja hallata suuri tekstiandmeid.
Kõigest sellest hoolimata on Elasticsearchi ja kogu selle ökosüsteemi üks silmapaistvamaid omadusi raudkindlad turvaelemendid. Elasticsearch sisaldab selliseid funktsioone nagu HTTP-päringute allkirjastamine ja võimaldab ainult autentitud kasutajatel klastris toiminguid teha.
Teine Elasticsearchi turvafunktsioon on kasutajate ja rollide kasutamine. Elasticsearch võimaldab määrata klastri kasutajatele kindlaid rolle. Neid kasutatakse seejärel selleks, et määrata, milliseid toiminguid kasutajanimi klastris teha saab.
Elasticsearch määrab kõigile klastris loodud kasutajatele vaikerolli. Vaikimisi roll võimaldab kasutajatel pääseda juurde autentimise lõpp-punktile, mis vastutab paroolide muutmise, kasutajateabe hankimise jms eest.
MÄRKUS. Vaikimisi roll määratakse ka anonüümsetele kasutajatele.
Selle õpetuse tuum on anda teile Elasticsearchi rollide põhitõed. Selle õpetuse abil saate teada, kuidas hankida Elasticsearchi algvaldkonnas rolle ja vaadata konkreetsele kasutajanimele määratud rolle.
Sukeldume sisse.
Elasticsearch Get Roles API
Kasutame rollide hankimise API-t, et hankida teavet Elasticsearchi klastri rollide kohta. Taotluse süntaks on järgmine:
SAADA / _turvalisus / rolli
Ülaltoodud päring peaks tagastama kõik süsteemis olevad rollid.
Teabe hankimiseks konkreetse rolli kohta saate kasutada süntaksit, nagu näidatud:
SAADA / _turvalisus / rolli /< nimi >
MÄRKUS. See API nõuab, et kasutajal oleks klastris management_security privileeg.
Kui päring on edukas, peaks päring tagastama hulga rolle.
Näide 1 – hankige kõik klastri rollid
Allolev näidistaotlus toob kõik Elasticsearchi klastris olevad rollid:
lokk -XGET 'http://localhost:9200/_security/role?pretty=true' -H 'kbn-xsrf: aruandlus'
Näidisväljund on näidatud allpool:
'apm_user' : {
'klaster' : [ ] ,
'indeksid' : [
{
'nimed' : [
'apm-*'
] ,
'privileegid' : [
'loe' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : vale
} ,
{
'nimed' : [
'aken-umbes*'
] ,
'privileegid' : [
'loe' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : vale
} ,
{
'nimed' : [
'aken-umbes-*'
] ,
'privileegid' : [
'loe' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : vale
} ,
{
'nimed' : [
'metrics-apm.*'
] ,
'privileegid' : [
'loe' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : vale
} ,
{
'nimed' : [
'metrics-apm-*'
] ,
'privileegid' : [
'loe' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : vale
} ,
{
'nimed' : [
'traces-apm.*'
] ,
'privileegid' : [
'loe' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : vale
} ,
MÄRKUS. Ülaltoodud väljund on selle õpetuse ulatuses kärbitud.
Näide 2 – hankige teavet konkreetse rolli kohta
Allolev näide tagastab teabe rolli kibana_admin kohta.
lokk -XGET 'http://localhost:9200/_security/role/kibana_admin' -H 'kbn-xsrf: aruandlus'
Saadud rolliteave on järgmine:
'kibana_admin' : {
'klaster' : [ ] ,
'indeksid' : [ ] ,
'rakendused' : [
{
'rakendus' : 'kibana-.kibana' ,
'privileegid' : [
'kõik'
] ,
'ressursid' : [
'*'
]
}
] ,
'run_as' : [ ] ,
'metaandmed' : {
'_reserveeritud' : tõsi
} ,
'transient_metadata' : {
'lubatud' : tõsi
}
}
}
Rolliteabe hankimine YAML-is
Vaikimisi tagastab rollide hankimise API tulemuse JSON-vormingus. Siiski saate vormingu parameetri abil valida mõne muu vormingu.
Süntaks on järgmine:
SAADA / _turvalisus / rolli? vormingus =json / yaml
Näiteks YAML-vormingus rolli kibana_admin teabe hankimiseks saame käivitada:
Tulemuseks olev väljund:
kibana_admin:
klaster: [ ]
indeksid: [ ]
rakendused:
- rakendus: 'kibana-.kibana'
privileegid:
- 'kõik'
ressursid:
- '*'
run_as: [ ]
metaandmed:
_reserveeritud: tõsi
transient_metadata:
lubatud: tõsi
Vaadake konkreetse kasutaja rolle
Kui soovite vaadata teavet konkreetse kasutajanime (sh nende rollide) kohta, saate päringut kasutada järgmiselt:
SAADA / _turvalisus / kasutaja
Oletame näiteks, et meil on kasutajanimi 'linuxhint', saame selle kasutajateabe alla laadida, nagu näidatud:
Ülaltoodud päring peaks tagastama teavet kasutaja kohta YAML-vormingus, nagu näidatud:
linuxhint:
kasutajanimi: 'linux'
rollid:
- 'vaataja'
- 'vaatleja_kasutaja'
täisnimi: 'linuxhint.com'
email: ' [meil kaitstud] '
metaandmed: { }
lubatud: tõsi
Näeme, et kasutajal on vaataja ja jälgija_kasutaja rollid.
Vaadake rolle Kibanas
Kui te ei soovi kassirollide API-d kasutada, saate vaadata Elasticsearchi rolle Kibanas, navigeerides jaotisesse Haldus -> Stack Management.
Järgmisena liikuge jaotisse Turvalisus -> Rollid
Seejärel saate rolle vaadata ja hallata.
Järeldus
Sellest artiklist õppisite, kuidas kasutada Elasticsearch Roles API-t, et vaadata teavet klastri konkreetsete rollide kohta. Samuti avastasite, kuidas kasutaja API abil vaadata antud kasutajanime rolle.
Täname lugemise eest!