Elasticsearch Kumuha ng Mga Tungkulin

Elasticsearch Kumuha Ng Mga Tungkulin



'Ang Elasticsearch ay isang hindi kapani-paniwalang maraming nalalaman at makapangyarihang search at analytics engine. Maaari itong mabilis na mag-ingest, mag-ayos, mag-uri-uriin, magsama-sama, at mamahala ng malaking halaga ng data ng text.

Sa kabila ng lahat ng iyon, ang isa sa mga pinaka-namumukod-tanging feature sa Elasticsearch at sa buong ecosystem nito ay ang mga tampok na seguridad. Kasama sa Elasticsearch ang mga feature gaya ng paglagda sa mga kahilingan sa HTTP at pinapayagan lamang ang mga na-authenticate na user na magsagawa ng mga operasyon sa cluster.







Ang isa pang tampok ng seguridad sa Elasticsearch ay ang paggamit ng mga user at tungkulin. Binibigyang-daan ka ng Elasticsearch na magtalaga ng mga partikular na tungkulin sa mga user sa cluster. Pagkatapos ay gagamitin ang mga ito upang matukoy kung anong mga aksyon ang maaaring gawin ng username sa cluster.



Magtatalaga ang Elasticsearch ng default na tungkulin sa lahat ng user na ginawa sa cluster. Ang default na tungkulin ay nagbibigay-daan sa mga user na ma-access ang auth endpoint, na responsable para sa pagbabago ng mga password, pagkuha ng impormasyon ng user, atbp.



TANDAAN: Ang default na tungkulin ay itinalaga rin sa mga hindi kilalang user.





Ang pangunahing bahagi ng tutorial na ito ay upang bigyan ka ng mga batayan ng mga tungkulin ng Elasticsearch. Gamit ang tutorial na ito, matutuklasan mo kung paano kunin ang mga tungkulin sa Elasticsearch native realm at tingnan ang mga tungkuling itinalaga sa isang partikular na username.

Sumisid tayo.



Elasticsearch Get Role API

Ginagamit namin ang Get Roles API para kunin ang impormasyon tungkol sa mga tungkulin sa cluster ng Elasticsearch. Ang syntax ng kahilingan ay tulad ng ipinapakita:

GET / _seguridad / papel


Dapat ibalik ng query sa itaas ang lahat ng mga tungkulin sa system.

Upang makuha ang impormasyon tungkol sa isang partikular na tungkulin, maaari mong gamitin ang syntax tulad ng ipinapakita:

GET / _seguridad / papel /< pangalan >


TANDAAN: Ang API na ito ay nangangailangan ng user na magkaroon ng pribilehiyong manage_security sa cluster.

Kung matagumpay ang kahilingan, dapat magbalik ang query ng hanay ng mga tungkulin.

Halimbawa 1 – Kunin ang Lahat ng Tungkulin sa Cluster

Ang halimbawang kahilingan sa ibaba ay kukunin ang lahat ng mga tungkulin sa Elasticsearch cluster:

kulot -XGET “http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: pag-uulat'


Ang isang halimbawang output ay ipinapakita sa ibaba:

{
'apm_user' : {
'kumpol' : [ ] ,
'mga indeks' : [
{
'mga pangalan' : [
'apm-*'
] ,
'mga pribilehiyo' : [
'basahin' ,
'view_index_metadata'
] ,
'allow_restricted_indics' : mali
} ,
{
'mga pangalan' : [
'window-approx.*'
] ,
'mga pribilehiyo' : [
'basahin' ,
'view_index_metadata'
] ,
'allow_restricted_indics' : mali
} ,
{
'mga pangalan' : [
'window-approx-*'
] ,
'mga pribilehiyo' : [
'basahin' ,
'view_index_metadata'
] ,
'allow_restricted_indics' : mali
} ,
{
'mga pangalan' : [
'metrics-apm.*'
] ,
'mga pribilehiyo' : [
'basahin' ,
'view_index_metadata'
] ,
'allow_restricted_indics' : mali
} ,
{
'mga pangalan' : [
'metrics-apm-*'
] ,
'mga pribilehiyo' : [
'basahin' ,
'view_index_metadata'
] ,
'allow_restricted_indics' : mali
} ,
{
'mga pangalan' : [
'traces-apm.*'
] ,
'mga pribilehiyo' : [
'basahin' ,
'view_index_metadata'
] ,
'allow_restricted_indics' : mali
} ,


TANDAAN: Ang output sa itaas ay pinutol para sa saklaw ng tutorial na ito.

Halimbawa 2 – Kumuha ng Impormasyon Tungkol sa isang Tiyak na Tungkulin

Ang halimbawa sa ibaba ay nagbabalik ng impormasyon tungkol sa kibana_admin na tungkulin.

kulot -XGET “http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: pag-uulat'


Ang resultang impormasyon sa tungkulin ay tulad ng ipinapakita:

{
'kibana_admin' : {
'kumpol' : [ ] ,
'mga indeks' : [ ] ,
'mga aplikasyon' : [
{
'application' : 'kibana-.kibana' ,
'mga pribilehiyo' : [
'lahat'
] ,
'mga mapagkukunan' : [
'*'
]
}
] ,
'run_as' : [ ] ,
'metadata' : {
'_reserved' : totoo
} ,
'transient_metadata' : {
'pinagana' : totoo
}
}
}

Kunin ang Impormasyon sa Tungkulin sa YAML

Bilang default, ibabalik ng get roles API ang resulta sa JSON format. Gayunpaman, maaari kang pumili ng ibang format gamit ang parameter ng format.

Ang syntax ay tulad ng ipinapakita:

GET / _seguridad / papel? pormat =json / yaml


Halimbawa, upang makuha ang impormasyon tungkol sa kibana_admin na tungkulin sa YAML format, maaari naming patakbuhin ang:

kulot -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: pag-uulat'


Nagreresultang output:

---
kibana_admin:
kumpol: [ ]
mga indeks: [ ]
mga aplikasyon:
- aplikasyon: 'kibana-.kibana'
mga pribilehiyo:
- 'lahat'
mapagkukunan:
- '*'
run_as: [ ]
metadata:
_reserved: totoo
transient_metadata:
pinagana: totoo

Tingnan ang Mga Tungkulin para sa isang Partikular na User

Kung nais mong tingnan ang impormasyon tungkol sa isang partikular na username (kabilang ang kanilang mga tungkulin), maaari mong gamitin ang kahilingan tulad ng ipinapakita:

GET / _seguridad / gumagamit


Halimbawa, ipagpalagay na mayroon kaming isang username na 'linuxhint' maaari naming makuha ang impormasyon ng user na iyon tulad ng ipinapakita:

kulot -XGET “http://locahost:9200/_security/user/linuxhint?format=yaml” -H 'kbn-xsrf: pag-uulat'


Ang kahilingan sa itaas ay dapat magbalik ng impormasyon tungkol sa user sa YAML format gaya ng ipinapakita:

---
linuxhint:
username: 'linux'
mga tungkulin:
- 'manonood'
- 'watcher_user'
buong pangalan: 'linuxhint.com'
email: ' [email protektado] '
metadata: { }
pinagana: totoo


Makikita natin na ang user ay may mga tungkulin sa viewer at watcher_user.

Tingnan ang Mga Tungkulin sa Kibana

Kung ayaw mong gamitin ang cat roles API, maaari mong tingnan ang mga tungkulin ng Elasticsearch sa Kibana sa pamamagitan ng pag-navigate sa Management -> Stack Management.


Susunod, mag-navigate sa Seguridad -> Mga Tungkulin


Maaari mong tingnan at pamahalaan ang mga tungkulin.

Konklusyon

Sa artikulong ito, natutunan mo kung paano gamitin ang Elasticsearch Roles API upang tingnan ang impormasyon tungkol sa mga partikular na tungkulin sa cluster. Natuklasan mo rin kung paano tingnan ang mga tungkulin ng isang ibinigay na username gamit ang user API.

Salamat sa pagbabasa!