I den här snabbguiden kommer vi att undersöka hur man aktiverar Elasticsearch Xpack säkerhetsfunktioner och hur man använder säkerhets-API för att skapa användare och roller.
Låt oss komma igång!
NOTERA: Vi antar att du redan har Elasticsearch installerat och körs på ditt system. Om inte, överväg följande tutorials för att installera Elasticsearch.
https: // linuxhint.com / visualize_apache_logs_with_elk_stack /
https: // linuxhint.com / install-elasticsearch-ubuntu /
Så här aktiverar du Elasticsearch-säkerhetsfunktioner?
Som standard är Elasticsearch-funktioner, Xpack, inaktiverade och du måste aktivera dem. Stoppa först Elasticsearch och Kibana så att du kan redigera konfigurationen.
Redigera xpack i konfigurationsfilen för Elasticsearch.säkerhet.aktiverad post och ställ in den till true.
Som standard hittar du elasticsearch.yml finns i / etc / elasticsearch.
xpack.säkerhet.aktiverat: santSpara filen och starta om Elasticsearch och Kibana.
NOTERA: Beroende på vilken licens du har, när du har aktiverat xpack, måste du köra kommandot nedan för att ställa in lösenord och autentisering:
elasticsearch-setup-lösenordHur man skapar användare med Kibana?
Om du har kopplat Elasticsearch och Kibana kan du enkelt skapa användare i Kibana stackhantering.
Börja med att starta Kibana och logga sedan in. Använd lösenorden som du använde när du konfigurerade.
När du är inloggad väljer du Kibana Dock och navigerar till Stack Management och säkerhetsavsnittet.
Navigera nu till användare och klicka på “skapa användare.”När du skapar en användare kommer Kibana att be dig att tilldela en roll. Du kan visa alla tillgängliga roller i Stack Management - Säkerhetsroller.
Ange användarnamn, lösenord och fullständigt namn.
Förutom detta enkla sätt att skapa Elasticsearch-användare kan du använda den mer kraftfulla metoden som diskuteras nedan:
Hur man skapar användare med Elasticsearch API?
Ett annat sätt att skapa inbyggda användare i Elasticsearch är att använda API: et, med säkerhet som slutpunkt, vi kan lägga till, uppdatera och ta bort användare i Elasticsearch.
Låt oss titta på hur dessa operationer ska genomföras.
För att interagera med säkerhets-API: et använder vi POST- och PUT-HTTP-förfrågningar och ser till att vi har användarinformationen i begärans kropp.
När du skapar en ny användare måste du skicka användarens användarnamn och lösenord. båda är nödvändiga parametrar. Elasticsearch-användarnamn får inte innehålla mer än 1024 tecken och kan vara alfanumeriska. Användarnamn tillåter inte mellanslag.
Informationen du kan tillhandahålla i begäran organet inkluderar:
- Lösenord: Detta är en nödvändig parameter av typsträngen. Lösenord i Elasticsearch måste innehålla minst sex tecken.
- Fullständiga namn: Detta anger användarens fullständiga namn (String).
- E-post: Detta ställer in den angivna användarens e-post.
- Roller: Detta är en annan nödvändig parameter i typlistan. Den specificerar de roller som den angivna användaren innehar. Du kan skapa en tom lista [] om användaren inte har några tilldelade roller.
- Aktiverad: Den aktiverade parametern (Boolean) anger om användaren är aktiv eller inte.
När du har innehållet i begäran som innehåller den, skicka postförfrågan till _security / user /
Tänk på begäran nedan som visar hur du skapar en användare med API.
POST / _security / user / linuxhint"password": "linuxhint",
"enabled": true,
"roller": ["superanvändare", "kibana_admin"],
"full_name": "Linux Tips",
"email": "[email protected]",
"metadata":
"intelligens": 7
Om du använder cURL anger du kommandot nedan:
curl -XPOST "http: // localhost: 9200 / _security / user / linuxhint" -H 'Content-Type: application / json' -d '"password": "linuxhint", "enabled": true, "roller " : ["superanvändare", "kibana_admin"], "full_name": "Linux-ledtråd", "e-post": "[e-postskyddad" "," metadata ": " intelligens ": 1 'Detta ska returneras skapat: sant som ett JSON-objekt.
"skapad": sant
Så här aktiverar du användare Information?
Om du skapar en användare i Elasticsearch och anger den aktiverade parametern som falsk, måste du aktivera kontot innan du använder det. För att göra detta kan vi använda _enable API.
Du bör se till att skicka det användarnamn du vill aktivera i PUT-begäran. Den allmänna syntaxen är som:
PUT / _security / user /Till exempel möjliggör begäran nedan användarens linuxhint:
PUT / _security / user / linuxhint / _enableKommandot cURL är:
curl -XPUT "http: // localhost: 9200 / _security / user / linuxhint / _enable"Det omvända är också sant; för att inaktivera en användare, använd _disable endpoint:
PUT / _security / user / linuxhint / _disableKommandot cURL är:
curl -XPUT “http: // localhost: 9200 / _security / user / linuxhint / _disable”Hur man ser Användare?
För att visa användarinformation, använd GET-begäran följt av användarnamnet du vill visa. Till exempel:
GET / _security / user / linuxhintKommandot cURL är:
curl -XGET “http: // localhost: 9200 / _security / user / linuxhint”Det ska visa information om det angivna användarnamnet, som visas nedan:
"linuxhint":
"användarnamn": "linuxhint",
"roller": [
“Superanvändare”,
“Kibana_admin”
],
"full_name": "Linux Tips",
"email": "[email protected]",
"metadata":
"intelligens": 7
,
"aktiverat": falskt
Om du vill visa information om alla användare i Elasticsearch-klustret, utelämnar du användarnamnet och skickar GET-begäran som:
GET / _security / user /Hur man tar bort användare?
Om du kan skapa användare kan du också ta bort dem. För att använda API: et för att ta bort en användare, skicka helt enkelt DELETE-begäran till _security / user /
Exempel:
RADERA / _säkerhet / användare / linuxhintKommandot cURL är:
curl -XDELETE “http: // localhost: 9200 / _security / user / linuxhint”Det ska returnera ett JSON-objekt med hittat: sant som:
"hittat": sant
Slutsats
Denna handledning lärde dig hur du aktiverar Elasticsearch-säkerhetsfunktioner. Vi diskuterade också hur man använder Kibana Stack Management för att hantera användare. Slutligen diskuterade vi hur man skapar användare, visar användarinformation och tar bort användare.
Denna information ska komma igång men kom ihåg att behärskning kommer från träning.
Tack för att du läste.