Elasticsearch Вземете роли

Elasticsearch Vzemete Roli



„Elasticsearch е невероятно гъвкава и мощна машина за търсене и анализ. Той може бързо да приема, организира, сортира, обобщава и управлява големи количества текстови данни.

Въпреки всичко това, една от най-забележителните функции в Elasticsearch и цялата му екосистема са железните функции за сигурност. Elasticsearch включва функции като подписване на HTTP заявки и позволява само на удостоверени потребители да извършват операции в клъстера.







Друга функция за сигурност в Elasticsearch е използването на потребители и роли. Elasticsearch ви позволява да присвоите конкретни роли на потребителите в клъстера. След това те се използват, за да се определи какви действия може да извършва потребителското име в клъстера.



Elasticsearch ще присвои роля по подразбиране на всички потребители, създадени в клъстера. Ролята по подразбиране позволява на потребителите достъп до крайната точка за удостоверяване, която е отговорна за промяна на пароли, извличане на потребителска информация и т.н.



ЗАБЕЛЕЖКА: Ролята по подразбиране се присвоява и на анонимни потребители.





Ядрото на този урок е да ви даде основите на ролите на Elasticsearch. С помощта на този урок ще откриете как да извличате ролите в собствената област на Elasticsearch и да преглеждате ролите, присвоени на конкретно потребителско име.

Нека се потопим.



Elasticsearch Get Roles API

Използваме API за получаване на роли, за да извлечем информация за ролите в клъстера Elasticsearch. Синтаксисът на заявката е както е показано:

ВЗЕМЕТЕ / _сигурност / роля


Горната заявка трябва да върне всички роли в системата.

За да извлечете информация за конкретна роля, можете да използвате показания синтаксис:

ВЗЕМЕТЕ / _сигурност / роля /< име >


ЗАБЕЛЕЖКА: Този API изисква потребителят да има привилегия за управление на сигурността в клъстера.

Ако заявката е успешна, заявката трябва да върне масив от роли.

Пример 1 – Извличане на всички роли в клъстера

Примерната заявка по-долу ще извлече всички роли в клъстера Elasticsearch:

къдрица -XGET „http://localhost:9200/_security/role?pretty=true“ 'kbn-xsrf: докладване'


Примерен изход е показан по-долу:

{
'apm_user' : {
'клъстер' : [ ] ,
'индекси' : [
{
'имена' : [
'apm-*'
] ,
'привилегии' : [
'Прочети' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : невярно
} ,
{
'имена' : [
'прозорец-прибл.*'
] ,
'привилегии' : [
'Прочети' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : невярно
} ,
{
'имена' : [
'прозорец-приблизително-*'
] ,
'привилегии' : [
'Прочети' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : невярно
} ,
{
'имена' : [
'metrics-apm.*'
] ,
'привилегии' : [
'Прочети' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : невярно
} ,
{
'имена' : [
'metrics-apm-*'
] ,
'привилегии' : [
'Прочети' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : невярно
} ,
{
'имена' : [
'traces-apm.*'
] ,
'привилегии' : [
'Прочети' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : невярно
} ,


ЗАБЕЛЕЖКА: Резултатът по-горе е съкратен за обхвата на този урок.

Пример 2 – Получаване на информация за конкретна роля

Примерът по-долу връща информация за ролята на kibana_admin.

къдрица -XGET „http://localhost:9200/_security/role/kibana_admin“ 'kbn-xsrf: докладване'


Получената информация за ролята е както е показано:

{
'kibana_admin' : {
'клъстер' : [ ] ,
'индекси' : [ ] ,
'приложения' : [
{
'приложение' : 'кибана-.кибана' ,
'привилегии' : [
'всичко'
] ,
'ресурси' : [
'*'
]
}
] ,
'run_as' : [ ] ,
'метаданни' : {
'_резервирано' : вярно
} ,
'преходни_метаданни' : {
'активиран' : вярно
}
}
}

Извличане на информация за ролята в YAML

По подразбиране API за получаване на роли ще върне резултата във формат JSON. Можете обаче да изберете различен формат, като използвате параметъра format.

Синтаксисът е както е показано:

ВЗЕМЕТЕ / _сигурност / роля? формат =json / ямл


Например, за да извлечем информацията за ролята на kibana_admin във формат YAML, можем да изпълним:

къдрица -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' 'kbn-xsrf: докладване'


Резултатен резултат:

---
kibana_admin:
клъстер: [ ]
индекси: [ ]
приложения:
- приложение: 'кибана-.кибана'
привилегии:
- 'всичко'
ресурси:
- '*'
run_as: [ ]
метаданни:
_резервирано: вярно
преходни_метаданни:
активирано: вярно

Вижте ролите за конкретен потребител

Ако искате да видите информация за конкретно потребителско име (включително техните роли), можете да използвате заявката, както е показано:

ВЗЕМЕТЕ / _сигурност / потребител


Да предположим например, че имаме потребителско име „linuxhint“, можем да извлечем тази потребителска информация, както е показано:

къдрица -XGET „http://locahost:9200/_security/user/linuxhint?format=yaml“ 'kbn-xsrf: докладване'


Заявката по-горе трябва да върне информация за потребителя във формат YAML, както е показано:

---
linuxhint:
потребителско име: 'линукс'
роли:
- 'зрител'
- 'watcher_user'
пълно име: 'linuxhint.com'
електронна поща: ' [имейл защитен] '
метаданни: { }
активирано: вярно


Можем да видим, че потребителят има ролите viewer и watcher_user.

Вижте ролите в Kibana

Ако не искате да използвате API за котки, можете да видите ролите на Elasticsearch в Kibana, като отидете на Управление -> Управление на стекове.


След това отворете Сигурност -> Роли


След това можете да преглеждате и управлявате ролите.

Заключение

В тази статия научихте как да използвате API за роли на Elasticsearch, за да видите информация за конкретни роли в клъстера. Вие също така открихте как да видите ролите на дадено потребителско име с помощта на потребителския API.

Благодаря за четенето!