W tym krótkim przewodniku zbadamy, jak włączyć funkcje bezpieczeństwa Elasticsearch Xpack i jak używać API bezpieczeństwa do tworzenia użytkowników i ról.
Zacznijmy!
UWAGA: Zakładamy, że masz już zainstalowany i uruchomiony Elasticsearch w swoim systemie. Jeśli nie, zapoznaj się z poniższymi samouczkami, aby zainstalować Elasticsearch.
https://linuxhint.com/visualize_apache_logs_with_elk_stack/
https://linuxhint.com/install-elasticsearch-ubuntu/
Jak włączyć funkcje bezpieczeństwa Elasticsearch??
Domyślnie funkcje Elasticsearch, Xpack, są wyłączone i trzeba je włączyć. Najpierw zatrzymaj Elasticsearch i Kibanę, aby móc edytować konfigurację.
W pliku konfiguracyjnym Elasticsearch edytuj xpack.bezpieczeństwo.włączony wpis i ustaw go na true.
Domyślnie znajdziesz elasticsearch.yml znajduje się w /etc/elasticsearch.
xpack.bezpieczeństwo.włączone: prawdaZapisz plik i uruchom ponownie Elasticsearch i Kibana.
UWAGA: W zależności od posiadanej licencji, po aktywacji xpack, będziesz musiał uruchomić poniższe polecenie, aby skonfigurować hasła i uwierzytelnianie:
Elasticsearch-setup-passwordsJak tworzyć użytkowników za pomocą Kibana?
Jeśli masz sprzężone Elasticsearch i Kibana, możesz łatwo tworzyć użytkowników w zarządzaniu stosem Kibana.
Zacznij od uruchomienia Kibany, a następnie zaloguj się. Użyj haseł użytych podczas konfiguracji.
Po zalogowaniu wybierz Kibana Dock i przejdź do Stack Management i sekcji bezpieczeństwa.
Teraz przejdź do użytkowników i kliknij „utwórz użytkownika.” Podczas tworzenia użytkownika Kibana poprosi Cię o przypisanie roli. Możesz wyświetlić wszystkie dostępne role w Stack Management - Security - Roles.
Podaj nazwę użytkownika, hasło i imię i nazwisko.
Oprócz tego prostego sposobu tworzenia użytkowników Elasticsearch, możesz użyć bardziej zaawansowanej metody omówionej poniżej:
Jak tworzyć użytkowników za pomocą Elasticsearch API??
Innym sposobem tworzenia natywnych użytkowników w Elasticsearch jest użycie API, używając security jako punktu końcowego, możemy dodawać, aktualizować i usuwać użytkowników w Elasticsearch.
Przyjrzyjmy się, jak przeprowadzić te operacje.
Do interakcji z API bezpieczeństwa używamy żądań HTTP POST i PUT, upewniając się, że mamy informacje o użytkowniku w treści żądania.
Tworząc nowego użytkownika, musisz podać nazwę użytkownika i hasło; oba są wymaganymi parametrami. Nazwy użytkowników Elasticsearch nie mogą być dłuższe niż 1024 znaki i mogą być alfanumeryczne. Nazwy użytkowników nie pozwalają na spacje.
Informacje, które możesz podać w treści żądania, obejmują:
- Hasło: Jest to wymagany parametr typu string. Hasła w Elasticsearch muszą mieć co najmniej sześć znaków.
- Imię i nazwisko: Określa pełną nazwę użytkownika (String).
- E-mail: Ustawia adres e-mail określonego użytkownika.
- Role: To kolejny wymagany parametr listy typów. Określa role, jakie pełni określony użytkownik. Możesz utworzyć pustą listę [], jeśli użytkownik nie ma przypisanych ról.
- Włączone: Włączony parametr (Boolean) określa, czy użytkownik jest aktywny, czy nie.
Gdy już będziesz mieć treść żądania, która go zawiera, wyślij żądanie post do _security/user/
Rozważ poniższe żądanie, które pokazuje, jak utworzyć użytkownika za pomocą interfejsu API.
POST /_bezpieczeństwo/użytkownik/linuxhint"hasło" : "linuxhint",
"włączone": prawda,
"role" : [ "superużytkownik", "kibana_admin" ],
"full_name" : "Podpowiedź Linuksa",
"e-mail" : "[email chroniony]",
"metadane" :
„inteligencja” : 7
Jeśli używasz cURL, wpisz poniższe polecenie:
curl -XPOST "http://localhost:9200/_security/user/linuxhint" -H 'Content-Type: application/json' -d' "password" : "linuxhint", "enabled": prawda, "role" : [ "superuser", "kibana_admin" ], "full_name" : "Linux Hint", "email" : "[email chroniony]", "metadata" : "inteligencja" : 1 'To powinno zwrócić created: true jako obiekt JSON.
"stworzony" : prawda
Jak włączyć użytkownika Informacja?
Jeśli utworzysz użytkownika w Elasticsearch i ustawisz włączony parametr na false, będziesz musiał włączyć konto przed jego użyciem. W tym celu możemy użyć _enable API.
Powinieneś upewnić się, że przekazujesz nazwę użytkownika, którą chcesz włączyć w żądaniu PUT. Ogólna składnia jest następująca:
PUT /_zabezpieczenia/użytkownik/Na przykład poniższe żądanie umożliwia użytkownikowi linuxhint:
PUT /_security/user/linuxhint/_enablePolecenie cURL to:
curl -XPUT "http://localhost:9200 /_security/user/linuxhint/_enable"Odwrotność też jest prawdziwa; aby wyłączyć użytkownika, użyj punktu końcowego _disable:
PUT /_security/user/linuxhint/_disablePolecenie cURL to:
curl -XPUT „http://localhost:9200/_security/user/linuxhint/_disable”Jak oglądać Użytkownicy?
Aby wyświetlić informacje o użytkowniku, użyj żądania GET, a następnie nazwy użytkownika, którą chcesz wyświetlić. Na przykład:
POBIERZ /_security/user/linuxhintPolecenie cURL to:
curl -XGET „http://localhost:9200/_security/user/linuxhint”Powinno to wyświetlić informacje o określonej nazwie użytkownika, jak pokazano poniżej:
"linuxhint" :
"nazwa użytkownika" : "linuxhint",
"role" : [
„superużytkownik”,
„kibana_admin”
],
"full_name" : "Podpowiedź Linuksa",
"e-mail" : "[email chroniony]",
"metadane" :
„inteligencja” : 7
,
"włączone" : fałszywe
Aby wyświetlić informacje o wszystkich użytkownikach w klastrze Elasticsearch, pomiń nazwę użytkownika i wyślij żądanie GET jako:
POBIERZ /_zabezpieczenia/użytkownik/Jak usunąć użytkowników?
Jeśli możesz tworzyć użytkowników, możesz też ich usunąć. Aby użyć API do usunięcia użytkownika, po prostu wyślij żądanie DELETE do _security/user/
Przykład:
USUŃ /_security/user/linuxhintPolecenie cURL to:
curl -XDELETE „http://localhost:9200/_security/user/linuxhint”Powinno to zwrócić obiekt JSON z found:true jako:
"znaleziono" : prawda
Wniosek
Ten samouczek nauczył Cię, jak włączyć funkcje Elasticsearch Security. Omówiliśmy również, jak używać Kibana Stack Management do zarządzania użytkownikami. Na koniec omówiliśmy, jak tworzyć użytkowników, przeglądać informacje o użytkownikach i usuwać użytkowników.
Ta informacja powinna Cię zacząć, ale pamiętaj, że mistrzostwo pochodzi z praktyki.
Dziękuję za przeczytanie.