Elasticsearch Iegūstiet lomas

Elasticsearch Iegustiet Lomas



“Elasticsearch ir neticami daudzpusīga un jaudīga meklēšanas un analīzes dzinējs. Tas var ātri uzņemt, kārtot, kārtot, apkopot un pārvaldīt lielus teksta datu apjomus.

Neskatoties uz visu to, viena no izcilākajām Elasticsearch un visas tās ekosistēmas iezīmēm ir dzelžaini drošības elementi. Elasticsearch ietver tādas funkcijas kā HTTP pieprasījumu parakstīšana un ļauj tikai autentificētiem lietotājiem veikt darbības klasterī.







Vēl viens Elasticsearch drošības līdzeklis ir lietotāju un lomu izmantošana. Elasticsearch ļauj lietotājiem klasterī piešķirt noteiktas lomas. Pēc tam tos izmanto, lai noteiktu, kādas darbības lietotājvārds var veikt klasterī.



Elasticsearch piešķirs noklusējuma lomu visiem lietotājiem, kas izveidoti klasterī. Noklusējuma loma ļauj lietotājiem piekļūt autentifikācijas galapunktam, kas ir atbildīgs par paroļu maiņu, lietotāja informācijas izgūšanu utt.



PIEZĪME. Noklusējuma loma tiek piešķirta arī anonīmiem lietotājiem.





Šīs apmācības galvenais mērķis ir sniegt jums Elasticsearch lomu pamatus. Izmantojot šo pamācību, jūs uzzināsit, kā iegūt lomas Elasticsearch vietējā sfērā un skatīt lomas, kas piešķirtas konkrētam lietotājvārdam.

Iegremdējamies.



Elasticsearch Get Roles API

Mēs izmantojam Get Roles API, lai izgūtu informāciju par lomām Elasticsearch klasterī. Pieprasījuma sintakse ir šāda:

GŪT / _drošība / lomu


Iepriekš minētajam vaicājumam ir jāatgriež visas sistēmas lomas.

Lai izgūtu informāciju par konkrētu lomu, varat izmantot sintaksi, kā parādīts attēlā:

GŪT / _drošība / lomu /< nosaukums >


PIEZĪME. Lai izmantotu šo API, lietotājam klasterī ir jābūt management_security privilēģijai.

Ja pieprasījums ir veiksmīgs, vaicājumam ir jāatgriež lomu masīvs.

1. piemērs — izgūt visas klastera lomas

Tālāk sniegtais pieprasījuma piemērs izgūs visas Elasticsearch klastera lomas:

čokurošanās -XGET “http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: ziņošana'


Izvades piemērs ir parādīts zemāk:

{
'apm_user' : {
'klasteris' : [ ] ,
'indeksi' : [
{
'vārdi' : [
'apm-*'
] ,
'privilēģijas' : [
'lasīt' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : viltus
} ,
{
'vārdi' : [
'logs-apm.*'
] ,
'privilēģijas' : [
'lasīt' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : viltus
} ,
{
'vārdi' : [
'logs-apm-*'
] ,
'privilēģijas' : [
'lasīt' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : viltus
} ,
{
'vārdi' : [
'metrics-apm.*'
] ,
'privilēģijas' : [
'lasīt' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : viltus
} ,
{
'vārdi' : [
'metrics-apm-*'
] ,
'privilēģijas' : [
'lasīt' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : viltus
} ,
{
'vārdi' : [
'traces-apm.*'
] ,
'privilēģijas' : [
'lasīt' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : viltus
} ,


PIEZĪME. Iepriekš minētā izvade ir saīsināta šīs apmācības ietvaros.

2. piemērs — iegūstiet informāciju par konkrētu lomu

Tālāk esošajā piemērā ir parādīta informācija par lomu kibana_admin.

čokurošanās -XGET “http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: ziņošana'


Rezultātā iegūtā loma informācija ir šāda:

{
'kibana_admin' : {
'klasteris' : [ ] ,
'indeksi' : [ ] ,
'pieteikumi' : [
{
'pieteikums' : 'kibana-.kibana' ,
'privilēģijas' : [
'visi'
] ,
'resursi' : [
'*'
]
}
] ,
'palaist kā' : [ ] ,
'metadati' : {
'_rezervēts' : taisnība
} ,
'pārejoši_metadati' : {
'iespējots' : taisnība
}
}
}

Izgūt informāciju par lomu YAML

Pēc noklusējuma lomu iegūšanas API atgriezīs rezultātu JSON formātā. Tomēr, izmantojot formāta parametru, varat izvēlēties citu formātu.

Sintakse ir šāda:

GŪT / _drošība / lomu? formātā =json / jamls


Piemēram, lai izgūtu informāciju par lomu kibana_admin YAML formātā, mēs varam palaist:

čokurošanās -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: ziņošana'


Iegūtā izvade:

---
kibana_admin:
klasteris: [ ]
indeksi: [ ]
lietojumprogrammas:
- pieteikums: 'kibana-.kibana'
privilēģijas:
- 'visi'
resursi:
- '*'
run_as: [ ]
metadati:
_reserved: taisnība
transient_metadata:
iespējots: taisnība

Skatiet noteikta lietotāja lomas

Ja vēlaties skatīt informāciju par konkrētu lietotājvārdu (tostarp viņu lomām), varat izmantot pieprasījumu, kā parādīts:

GŪT / _drošība / lietotājs


Piemēram, pieņemsim, ka mums ir lietotājvārds “linuxhint”, mēs varam izgūt šo lietotāja informāciju, kā parādīts:

čokurošanās -XGET “http://locahost:9200/_security/user/linuxhint?format=yaml” -H 'kbn-xsrf: ziņošana'


Iepriekš minētajā pieprasījumā ir jāatgriež informācija par lietotāju YAML formātā, kā parādīts:

---
linuxhint:
lietotājvārds: 'linux'
lomas:
- 'skatītājs'
- 'watcher_user'
pilnais vārds: 'linuxhint.com'
e-pasts: ' [e-pasts aizsargāts] '
metadati: { }
iespējots: taisnība


Mēs redzam, ka lietotājam ir skatītāja un watcher_user lomas.

Skatīt lomas Kibanā

Ja nevēlaties izmantot kaķu lomu API, varat skatīt Elasticsearch lomas pakalpojumā Kibana, pārejot uz Management -> Stack Management.


Pēc tam dodieties uz Drošība -> Lomas


Pēc tam varat skatīt un pārvaldīt lomas.

Secinājums

Šajā rakstā jūs uzzinājāt, kā izmantot Elasticsearch lomu API, lai skatītu informāciju par konkrētām lomām klasterī. Jūs arī atklājāt, kā skatīt dotā lietotājvārda lomas, izmantojot lietotāja API.

Paldies, ka izlasījāt!