“Elasticsearch er et utrolig allsidig og kraftig søk- og analysemotor. Det kan raskt innta, organisere, sortere, aggregere og administrere store mengder tekstdata.
Til tross for alt dette, er en av de mest fremragende funksjonene i Elasticsearch og hele økosystemet Ironclad Security -funksjonene. Elasticsearch inkluderer funksjoner som signering av HTTP -forespørsler og lar bare autentiserte brukere utføre operasjoner på klyngen.
En annen sikkerhetsfunksjon i Elasticsearch er bruken av brukere og roller. Elasticsearch lar deg tilordne spesifikke roller til brukere i klyngen. Disse brukes deretter til å bestemme hvilke handlinger brukernavnet kan utføre på klyngen.
Elasticsearch vil tildele en standardrolle til alle brukere som er opprettet i klyngen. Standardrollen lar brukerne få tilgang.”
Merk: Standardrollen er også tilordnet anonyme brukere.
Kjernen i denne opplæringen er å gi deg grunnleggende om Elasticsearch -roller. Ved hjelp av denne opplæringen vil du oppdage hvordan du henter rollene i Elasticsearch Native Realm og ser på rollene som er tilordnet et spesifikt brukernavn.
La oss dykke inn.
Elasticsearch Få roller API
Vi bruker Get Roles API for å hente informasjon om roller i Elasticsearch Cluster. Forespørselssyntaks er som vist:
Få /_security /rollen
Spørringen ovenfor skal returnere alle rollene i systemet.
For å hente informasjon om en spesifikk rolle, kan du bruke syntaks som vist:
Få/_security/roll/rolle/
Merk: Denne API -en krever at brukeren har administrasjonsberettigelse på klyngen.
Hvis forespørselen er vellykket, bør spørringen returnere en rekke roller.
Eksempel 1 - Hent alle roller i klyngen
Eksempelforespørselen nedenfor vil hente alle rollene i Elasticsearch -klyngen:
Curl -xget "http: // localhost: 9200/_security/roll?pen = sant "-h" kbn -xsrf: rapportering "
Et eksempelutgang vises nedenfor:
"apm_user":
"Cluster": [],
"Indekser": [
"Navn": [
"Apm-*"
],
"privilegier": [
"lese",
"view_index_metadata"
],
"tillatt_restrikerte_indices": FALSE
,
"Navn": [
"Logs-apm.*"
],
"privilegier": [
"lese",
"view_index_metadata"
],
"tillatt_restrikerte_indices": FALSE
,
"Navn": [
"Logs-apm-*"
],
"privilegier": [
"lese",
"view_index_metadata"
],
"tillatt_restrikerte_indices": FALSE
,
"Navn": [
"Metrics-APM.*"
],
"privilegier": [
"lese",
"view_index_metadata"
],
"tillatt_restrikerte_indices": FALSE
,
"Navn": [
"Metrics-apm-*"
],
"privilegier": [
"lese",
"view_index_metadata"
],
"tillatt_restrikerte_indices": FALSE
,
"Navn": [
"Spor-apm.*"
],
"privilegier": [
"lese",
"view_index_metadata"
],
"tillatt_restrikerte_indices": FALSE
,
Merk: Utgangen ovenfor er avkortet for omfanget av denne opplæringen.
Eksempel 2 - Få informasjon om en spesifikk rolle
Eksemplet nedenfor returnerer informasjon om kibana_admin -rollen.
Curl -xget "http: // localhost: 9200/_security/roll/kibana_admin" -h "kbn -xsrf: rapportering"
Den resulterende rolleinformasjonen er som vist:
"kibana_admin":
"Cluster": [],
"Indekser": [],
"applikasjoner": [
"Application": "Kibana-.Kibana ",
"privilegier": [
"alle"
],
"Ressurser": [
"*"
]
],
"løp så": [],
"Metadata":
"_reservert": True
,
"transient_metadata":
"Aktivert": True
Hent rolleinformasjon i Yaml
Som standard vil Get Roles API returnere resultatet i JSON -format. Du kan imidlertid velge et annet format ved hjelp av formatparameteren.
Syntaksen er som vist:
Få /_security /rollen?format = json/yaml
For å hente informasjonen om Kibana_admin -rollen i YAML -format, kan vi for eksempel kjøre:
Curl -xget "http: // localhost: 9200/_security/roll/kibana_admin?format = yaml "-h" kbn -xsrf: rapportering "
Resulterende utgang:
---
kibana_admin:
Cluster: []
Indekser: []
applikasjoner:
- Søknad: "Kibana-.Kibana "
privilegier:
- "alle"
ressurser:
- "*"
løp så: []
metadata:
_Reservert: True
transient_metadata:
Aktivert: True
Se roller for en bestemt bruker
Hvis du ønsker å se informasjon om et spesifikt brukernavn (inkludert deres roller), kan du bruke forespørselen som vist:
Få /_security /bruker
Anta for eksempel at vi har et brukernavn “Linuxhint”, vi kan hente den brukerinformasjonen som vist:
Curl -xget "http: // locahost: 9200/_security/user/Linuxhint?format = yaml "-h" kbn -xsrf: rapportering "
Forespørselen ovenfor skal returnere informasjon om brukeren i YAML -format som vist:
---
Linuxhint:
Brukernavn: "Linuxhint"
roller:
- "Seer"
- "Watcher_user"
full_name: "Linuxhint.com "
E -post: "[email protected] "
metadata:
Aktivert: True
Vi kan se at brukeren har seer- og watcher_user -rollene.
Se roller i Kibana
Hvis du ikke vil bruke CAT -rollene API, kan du se Elasticsearch -rollene i Kibana ved å navigere til ledelse -> Stack Management.
Naviger deretter til sikkerhet -> roller
Du kan deretter se og administrere rollene.
Konklusjon
I denne artikkelen lærte du hvordan du bruker Elasticsearch Roles API for å se informasjon om spesifikke roller i klyngen. Du oppdaget også hvordan du kan se rollene som et gitt brukernavn ved hjelp av bruker API.
Takk for at du leste!