Elasticsearch Uzyskaj role

Elasticsearch Uzyskaj Role



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

Mimo wszystko jedną z najbardziej wyróżniających się funkcji Elasticsearch i całego jego ekosystemu są żelazne funkcje bezpieczeństwa. Elasticsearch zawiera funkcje, takie jak podpisywanie żądań HTTP i umożliwia tylko uwierzytelnionym użytkownikom wykonywanie operacji w klastrze.







Inną funkcją bezpieczeństwa w Elasticsearch jest wykorzystanie użytkowników i ról. Elasticsearch umożliwia przypisanie określonych ról użytkownikom w klastrze. Są one następnie używane do określenia, jakie działania użytkownik może wykonać w klastrze.



Elasticsearch przypisze domyślną rolę wszystkim użytkownikom utworzonym w klastrze. Domyślna rola umożliwia użytkownikom dostęp do punktu końcowego uwierzytelniania, który jest odpowiedzialny za zmianę haseł, pobieranie informacji o użytkowniku itp.”



UWAGA: Rola domyślna jest również przypisywana użytkownikom anonimowym.





Rdzeniem tego samouczka jest przedstawienie podstaw ról Elasticsearch. Korzystając z tego samouczka, dowiesz się, jak pobrać role w natywnej dziedzinie Elasticsearch i wyświetlić role przypisane do określonej nazwy użytkownika.

Zanurzmy się.



Elasticsearch Pobierz role API

Używamy interfejsu API Get Roles do pobierania informacji o rolach w klastrze Elasticsearch. Składnia żądania jest następująca:

DOSTAWAĆ / _bezpieczeństwo / rola


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

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

DOSTAWAĆ / _bezpieczeństwo / rola /< Nazwa >


UWAGA: Ten interfejs API wymaga, aby użytkownik miał uprawnienie manage_security w klastrze.

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

Przykład 1 – Odzyskaj wszystkie role w klastrze

Poniższe przykładowe żądanie pobierze wszystkie role w klastrze Elasticsearch:

kędzior -XGET “http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: raportowanie'


Przykładowe wyjście pokazano poniżej:

{
„użytkownik_apm” : {
'grupa' : [ ] ,
„indeksy” : [
{
'nazwy' : [
„apm-*”
] ,
'przywileje' : [
'czytać' ,
„view_index_metadata”
] ,
'allow_restricted_indices' : fałszywy
} ,
{
'nazwy' : [
'okno ok.*'
] ,
'przywileje' : [
'czytać' ,
„view_index_metadata”
] ,
'allow_restricted_indices' : fałszywy
} ,
{
'nazwy' : [
'okno-ok-*'
] ,
'przywileje' : [
'czytać' ,
„view_index_metadata”
] ,
'allow_restricted_indices' : fałszywy
} ,
{
'nazwy' : [
„metryki-apm.*”
] ,
'przywileje' : [
'czytać' ,
„view_index_metadata”
] ,
'allow_restricted_indices' : fałszywy
} ,
{
'nazwy' : [
'metryki-apm-*'
] ,
'przywileje' : [
'czytać' ,
„view_index_metadata”
] ,
'allow_restricted_indices' : fałszywy
} ,
{
'nazwy' : [
„ślady-apm.*”
] ,
'przywileje' : [
'czytać' ,
„view_index_metadata”
] ,
'allow_restricted_indices' : fałszywy
} ,


UWAGA: Powyższe dane wyjściowe zostały obcięte na potrzeby tego samouczka.

Przykład 2 – Uzyskaj informacje o określonej roli

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

kędzior -XGET „http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: raportowanie'


Wynikowe informacje o roli są następujące:

{
„kibana_admin” : {
'grupa' : [ ] ,
„indeksy” : [ ] ,
'Aplikacje' : [
{
'aplikacja' : 'kibana-.kibana' ,
'przywileje' : [
'wszystko'
] ,
'Surowce' : [
„*”
]
}
] ,
'Uruchom jako' : [ ] ,
„metadane” : {
'_skryty' : PRAWDA
} ,
'przejściowe_metadane' : {
'włączony' : PRAWDA
}
}
}

Pobierz informacje o roli w YAML

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

Składnia jest następująca:

DOSTAWAĆ / _bezpieczeństwo / rola? format =json / jamla


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

kędzior -XGET „http://localhost:9200/_security/role/kibana_admin?format=yaml” -H 'kbn-xsrf: raportowanie'


Wynikowy wynik:

---
kibana_admin:
grupa: [ ]
indeksy: [ ]
Aplikacje:
- aplikacja: 'kibana-.kibana'
przywileje:
- 'wszystko'
Surowce:
- „*”
Uruchom jako: [ ]
metadane:
_skryty: PRAWDA
przejściowe_metadane:
włączony: PRAWDA

Wyświetl role dla określonego użytkownika

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

DOSTAWAĆ / _bezpieczeństwo / użytkownik


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

kędzior -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:

---
podpowiedź:
Nazwa Użytkownika: 'linux'
role:
- 'widz'
- 'obserwujący_użytkownik'
pełna_nazwa: 'linuxhint.pl'
e-mail: ' [e-maile chronione] '
metadane: { }
włączony: PRAWDA


Widzimy, że użytkownik ma role viewer i watcher_user.

Wyświetl role w Kibana

Jeśli nie chcesz korzystać z interfejsu API ról kota, możesz wyświetlić role Elasticsearch w Kibana, przechodząc do Zarządzanie -> Zarządzanie stosem.


Następnie przejdź do Bezpieczeństwo -> Role


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

Wniosek

W tym artykule dowiedziałeś się, jak używać interfejsu API ról Elasticsearch do wyświetlania informacji o określonych rolach w klastrze. Odkryłeś również, jak wyświetlić role danej nazwy użytkownika za pomocą interfejsu API użytkownika.

Dziękuje za przeczytanie!