'Elasticsearch on uskomattoman monipuolinen ja tehokas haku- ja analytiikkakone. Se voi nopeasti syöttää, järjestää, lajitella, koota ja hallita suuria määriä tekstidataa.
Kaikesta tästä huolimatta yksi Elasticsearchin ja sen koko ekosysteemin merkittävimmistä ominaisuuksista on rautaiset turvaominaisuudet. Elasticsearch sisältää ominaisuuksia, kuten HTTP-pyyntöjen allekirjoittamisen, ja sallii vain todettujen käyttäjien suorittaa toimintoja klusterissa.
Toinen Elasticsearchin suojausominaisuus on käyttäjien ja roolien käyttö. Elasticsearchin avulla voit määrittää tiettyjä rooleja klusterin käyttäjille. Näitä käytetään sitten määrittämään, mitä toimintoja käyttäjätunnus voi suorittaa klusterissa.
Elasticsearch määrittää oletusroolin kaikille klusteriin luoduille käyttäjille. Oletusroolin avulla käyttäjät voivat käyttää todennuspäätepistettä, joka vastaa salasanojen vaihtamisesta, käyttäjätietojen hakemisesta jne.
HUOMAUTUS: Oletusrooli on määritetty myös anonyymeille käyttäjille.
Tämän opetusohjelman ydin on antaa sinulle Elasticsearch-roolien perusteet. Tämän opetusohjelman avulla opit noutamaan roolit Elasticsearch-natiivialueella ja tarkastelemaan tietylle käyttäjänimelle määritettyjä rooleja.
Sukellaan sisään.
Elasticsearch Get Roles API
Käytämme Get Roles -sovellusliittymää tietojen hakemiseen Elasticsearch-klusterin rooleista. Pyynnön syntaksi on seuraavanlainen:
SAADA / _turvallisuus / rooli
Yllä olevan kyselyn pitäisi palauttaa kaikki järjestelmän roolit.
Voit hakea tietoja tietystä roolista käyttämällä kuvan mukaista syntaksia:
SAADA / _turvallisuus / rooli /< nimi >
HUOMAUTUS: Tämä API edellyttää, että käyttäjällä on klusterin management_security-oikeudet.
Jos pyyntö onnistuu, kyselyn tulee palauttaa joukko rooleja.
Esimerkki 1 – Hae kaikki klusterin roolit
Alla oleva esimerkkipyyntö hakee kaikki Elasticsearch-klusterin roolit:
kiemura -XGET 'http://localhost:9200/_security/role?pretty=true' -H 'kbn-xsrf: raportointi'
Alla on esimerkkituloste:
'apm_user' : {
'klusteri' : [ ] ,
'indeksit' : [
{
'nimet' : [
'apm-*'
] ,
'etuoikeudet' : [
'lukea' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : väärä
} ,
{
'nimet' : [
'ikkuna-noin*'
] ,
'etuoikeudet' : [
'lukea' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : väärä
} ,
{
'nimet' : [
'ikkuna-noin-*'
] ,
'etuoikeudet' : [
'lukea' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : väärä
} ,
{
'nimet' : [
'metrics-apm.*'
] ,
'etuoikeudet' : [
'lukea' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : väärä
} ,
{
'nimet' : [
'metrics-apm-*'
] ,
'etuoikeudet' : [
'lukea' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : väärä
} ,
{
'nimet' : [
'traces-apm.*'
] ,
'etuoikeudet' : [
'lukea' ,
'view_index_metadata'
] ,
'allow_restricted_indexes' : väärä
} ,
HUOMAUTUS: Yllä oleva tuloste on katkaistu tämän opetusohjelman puitteissa.
Esimerkki 2 – Hanki tietoa tietystä roolista
Alla oleva esimerkki palauttaa tietoja roolista kibana_admin.
kiemura -XGET 'http://localhost:9200/_security/role/kibana_admin' -H 'kbn-xsrf: raportointi'
Tuloksena olevat roolitiedot ovat seuraavanlaiset:
'kibana_admin' : {
'klusteri' : [ ] ,
'indeksit' : [ ] ,
'sovellukset' : [
{
'sovellus' : 'kibana-.kibana' ,
'etuoikeudet' : [
'kaikki'
] ,
'resurssit' : [
'*'
]
}
] ,
'run_as' : [ ] ,
'metadata' : {
'_reserved' : totta
} ,
'transient_metadata' : {
'käytössä' : totta
}
}
}
Hae roolitiedot YAML:sta
Oletuksena get roles -sovellusliittymä palauttaa tuloksen JSON-muodossa. Voit kuitenkin valita muun muodon käyttämällä muotoparametria.
Syntaksi on seuraavanlainen:
SAADA / _turvallisuus / rooli? muoto =json / yaml
Esimerkiksi kibana_admin-roolin tietojen hakemiseksi YAML-muodossa voimme suorittaa:
Tuloksena oleva tulos:
kibana_admin:
klusteri: [ ]
indeksit: [ ]
sovellukset:
- sovellus: 'kibana-.kibana'
etuoikeudet:
- 'kaikki'
resurssit:
- '*'
run_as: [ ]
metatiedot:
_reserved: totta
transient_metadata:
käytössä: totta
Näytä tietyn käyttäjän roolit
Jos haluat tarkastella tietyn käyttäjänimen tietoja (mukaan lukien heidän roolinsa), voit käyttää pyyntöä kuvan mukaisesti:
SAADA / _turvallisuus / käyttäjä
Oletetaan esimerkiksi, että meillä on käyttäjänimi 'linuxhint', voimme noutaa kyseiset käyttäjätiedot kuvan osoittamalla tavalla:
Yllä olevan pyynnön pitäisi palauttaa tietoja käyttäjästä YAML-muodossa kuvan mukaisesti:
linuxhint:
käyttäjätunnus: 'linux'
roolit:
- 'katsoja'
- 'watcher_user'
koko nimi: 'linuxhint.com'
sähköposti: ' [sähköposti suojattu] '
metatiedot: { }
käytössä: totta
Voimme nähdä, että käyttäjällä on katsoja- ja watcher_user -roolit.
Näytä roolit Kibanassa
Jos et halua käyttää kissaroolien APIa, voit tarkastella Elasticsearch-rooleja Kibanassa siirtymällä kohtaan Hallinta -> Pinonhallinta.
Siirry seuraavaksi kohtaan Suojaus -> Roolit
Tämän jälkeen voit tarkastella ja hallita rooleja.
Johtopäätös
Tässä artikkelissa opit käyttämään Elasticsearch Roles -sovellusliittymää tietojen tarkastelemiseen klusterin tietyistä rooleista. Huomasit myös, kuinka voit tarkastella tietyn käyttäjänimen rooleja käyttäjän API:n avulla.
Kiitos lukemisesta!