“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:
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:
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!