Elasticsearch Uzyskaj role

Elasticsearch Uzyskaj role

„Elasticsearch to niezwykle wszechstronny i potężny silnik wyszukiwania i analizy. Może szybko spożywać, organizować, sortować, agregować i zarządzać dużymi ilościami danych tekstowych.

Mimo to jedna z najwybitniejszych funkcji ElasticSearch i całego ekosystemu są funkcje bezpieczeństwa Ironclad. ElasticSearch zawiera takie funkcje, jak podpisanie żądań HTTP i umożliwia tylko uwierzytelnieni użytkownikom wykonywanie operacji w klastrze.

Inną funkcją bezpieczeństwa w ElasticSearch jest użycie użytkowników i ról. ElasticSearch umożliwia przypisanie określonych ról użytkownikom w klastrze. Są one następnie wykorzystywane do ustalenia, jakie działania nazwa użytkownika może wykonywać w klastrze.

ElasticSearch przypisuje domyślną rolę wszystkim użytkownikom utworzonym w klastrze. Domyślna rola pozwala użytkownikom uzyskać dostęp do punktu końcowego Auth, który jest odpowiedzialny za zmianę haseł, pobieranie informacji o użytkownikach itp."

Uwaga: domyślna rola jest również przypisywana anonimowym użytkownikom.

Podstawą tego samouczka jest podanie podstaw ról ElasticSearch. Korzystając z tego samouczka, odkryjesz, jak pobrać role w dziedzinie natywnej Elasticsearch i wyświetlić role przypisane do określonej nazwy użytkownika.

Zanurzmy się.

Elasticsearch Uzyskaj role API

Używamy interfejsu API GET Roles do pobierania informacji o role w klastrze ElasticSearch. Składnia żądania jest jak pokazana:

Get /_Security /rola


Powyższe zapytanie powinno zwrócić wszystkie role w systemie.

Aby pobrać informacje o konkretnej roli, możesz użyć składni, jak pokazano:

Get/_Security/rola/


Uwaga: ten interfejs API wymaga od użytkownika uprawnienia do zabezpieczeń zarządzania.

Jeśli żądanie się powiedzie, zapytanie powinno zwrócić szereg ról.

Przykład 1 - Odzyskaj wszystkie role w klastrze

Poniższe żądanie przykładowe pobudzi wszystkie role w klastrze ElasticSearch:

curl -xget "http: // localhost: 9200/_Security/Rola?Pretten = true "-h" kbn -xsrf: raportowanie "


Przykładowe dane wyjściowe pokazano poniżej:


„apm_user”:
„klaster”: [],
„indeksy”: [

"nazwy": [
„APM-*”
],
"przywileje": [
"Czytać",
„View_index_metadata”
],
„Zezwalaj_restriste_indices”: False
,

"nazwy": [
„Logs-kwietnia.*”
],
"przywileje": [
"Czytać",
„View_index_metadata”
],
„Zezwalaj_restriste_indices”: False
,

"nazwy": [
„Logs-APM-*”
],
"przywileje": [
"Czytać",
„View_index_metadata”
],
„Zezwalaj_restriste_indices”: False
,

"nazwy": [
„Metryki-kwiecień.*”
],
"przywileje": [
"Czytać",
„View_index_metadata”
],
„Zezwalaj_restriste_indices”: False
,

"nazwy": [
„Metryki-APM-*”
],
"przywileje": [
"Czytać",
„View_index_metadata”
],
„Zezwalaj_restriste_indices”: False
,

"nazwy": [
„Ślady-kwiecień.*”
],
"przywileje": [
"Czytać",
„View_index_metadata”
],
„Zezwalaj_restriste_indices”: False
,


UWAGA: Powyższe wyjście zostało obcięte dla zakresu tego samouczka.

Przykład 2 - Uzyskaj informacje o konkretnej roli

Poniższy przykład zwraca informacje o roli kibana_admin.

curl -xget "http: // localhost: 9200/_security/role/kibana_admin" -h "kbn -xsrf: raportowanie"


Powstałe informacje o roli są takie jak pokazano:


„kibana_admin”:
„klaster”: [],
„Wskaźniki”: [],
"Aplikacje": [

„Aplikacja”: „Kibana-.kibana ",
"przywileje": [
"Wszystko"
],
"zasoby": [
„*”
]

],
"Uruchom jako": [],
„Metadata”:
„_ RESERVED”: True
,
„Transient_metadata”:
„Włączone”: prawda


Odzyskaj informacje o roli w YAML

Domyślnie interfejs API Get Roles zwróci wynik w formacie JSON. Możesz jednak wybrać inny format za pomocą parametru formatu.

Składnia jest jak pokazana:

Get /_Security /rola?format = JSON/YAML


Na przykład, aby uzyskać informacje o roli kibana_admin w formacie YAML, możemy uruchomić:

curl -xget "http: // localhost: 9200/_Security/ROLE/KIBANA_ADMIN?format = yaml "-h" kbn -xsrf: raportowanie "


Wynikowe wyjście:

---
kibana_admin:
klaster: []
wskaźniki: []
Aplikacje:
- Zastosowanie: „Kibana-.kibana "
przywileje:
- "Wszystko"
zasoby:
- „*”
Uruchom jako: []
metadane:
_ RESERVED: True
Transient_metadata:
Włączone: prawda

Wyświetl role dla określonego użytkownika

Jeśli chcesz wyświetlić informacje o konkretnej nazwie użytkownika (w tym ich role), możesz użyć żądania jak pokazano:

Get /_Security /User


Załóżmy na przykład, że mamy nazwę użytkownika „Linuxhint”, możemy odzyskać te informacje o użytkowniku, jak pokazano:

curl -xget "http: // locAhost: 9200/_Security/User/Linuxhint?format = yaml "-h" kbn -xsrf: raportowanie "


Powyższe żądanie powinno zwrócić informacje o użytkowniku w formacie YAML, jak pokazano:

---
Linuxhint:
Nazwa użytkownika: „Linuxhint”
Role:
- "widz"
- „Watcher_user”
Full_name: „Linuxhint.com "
e -mail: „[email protected] "
metadane:
Włączone: prawda


Widzimy, że użytkownik ma role przeglądarki i Watcher_user.

Zobacz role w kibanie

Jeśli nie chcesz korzystać z interfejsu API Role Cat, możesz wyświetlić role elasticsearch w kibanie, nawigując do zarządzania -> Zarządzanie stosami.


Następnie przejdź do bezpieczeństwa -> role


Następnie możesz przeglądać role i zarządzać role.

Wniosek

W tym artykule nauczyłeś się korzystać z interfejsu API Role ElasticSearch, aby przeglądać informacje o konkretnych rolach w klastrze. Odkryłeś także, jak wyświetlić role danej nazwy użytkownika za pomocą interfejsu API użytkownika.

Dziękuje za przeczytanie!