В этом кратком руководстве мы рассмотрим, как включить функции безопасности Elasticsearch Xpack и как использовать API безопасности для создания пользователей и ролей.
Давай начнем!
ПРИМЕЧАНИЕ: Мы предполагаем, что в вашей системе уже установлен и запущен Elasticsearch. В противном случае рассмотрите следующие руководства по установке Elasticsearch.
https: // linuxhint.ru / visualize_apache_logs_with_elk_stack /
https: // linuxhint.com / install-elasticsearch-ubuntu /
Как включить функции безопасности Elasticsearch?
По умолчанию функции Elasticsearch, Xpack отключены, и вам нужно будет их включить. Сначала остановите Elasticsearch и Kibana, чтобы вы могли редактировать конфигурацию.
В файле конфигурации Elasticsearch отредактируйте xpack.безопасность.включенная запись и установите для нее значение true.
По умолчанию вы найдете elasticsearch.yml находится в / etc / elasticsearch.
xpack.безопасность.включен: правдаСохраните файл и перезапустите Elasticsearch и Kibana.
ПРИМЕЧАНИЕ: В зависимости от имеющейся у вас лицензии после активации xpack вам нужно будет выполнить приведенную ниже команду, чтобы настроить пароли и аутентификацию:
эластичный поиск-настройка-паролиКак создавать пользователей с помощью Kibana?
Если у вас связаны Elasticsearch и Kibana, вы можете легко создавать пользователей в управлении стеком Kibana.
Начните с запуска Kibana, затем войдите в систему. Используйте пароли, которые вы использовали при настройке.
После входа в систему выберите Kibana Dock и перейдите к Stack Management и в раздел безопасности.
Теперь перейдите к пользователям и нажмите «Создать пользователя."При создании пользователя Kibana попросит вас назначить роль. Вы можете просмотреть все доступные роли в Stack Management - Security -Roles.
Укажите имя пользователя, пароль и полное имя.
Помимо этого простого способа создания пользователей Elasticsearch, вы можете использовать более мощный метод, описанный ниже:
Как создавать пользователей с помощью Elasticsearch API?
Другой способ создать собственных пользователей в Elasticsearch - использовать API, используя security в качестве конечной точки, мы можем добавлять, обновлять и удалять пользователей в Elasticsearch.
Давайте посмотрим, как проводить эти операции.
Для взаимодействия с API безопасности мы используем HTTP-запросы POST и PUT, чтобы убедиться, что у нас есть информация о пользователе в теле запроса.
При создании нового пользователя необходимо передать имя пользователя и пароль; оба являются обязательными параметрами. Имена пользователей Elasticsearch не должны содержать более 1024 символов и могут быть буквенно-цифровыми. Имена пользователей не допускают пробелов.
Информация, которую вы можете предоставить в теле запроса, включает:
- Пароль: Это обязательный параметр типа строка. Пароли в Elasticsearch должны состоять не менее чем из шести символов.
- ФИО: Указывает полное имя пользователя (строка).
- Электронное письмо: Устанавливает адрес электронной почты указанного пользователя.
- Роли: Это еще один обязательный параметр списка типов. Он определяет роли, которые выполняет указанный пользователь. Вы можете создать пустой список [], если пользователю не назначены роли.
- Включено: Параметр enabled (Boolean) указывает, активен пользователь или нет.
Когда у вас есть тело запроса, содержащего его, отправьте почтовый запрос в _security / user /
Рассмотрим запрос ниже, который показывает, как создать пользователя с помощью API.
POST / _security / пользователь / linuxhint"пароль": "linuxhint",
"включен": истина,
"роли": ["суперпользователь", "kibana_admin"],
"full_name": "Подсказка для Linux",
"email": "[электронная почта защищена]",
"метаданные":
«интеллект»: 7
Если вы используете cURL, введите следующую команду:
curl -XPOST "http: // localhost: 9200 / _security / user / linuxhint" -H 'Content-Type: application / json' -d '"password": "linuxhint", "enabled": true, "roles" : ["superuser", "kibana_admin"], "full_name": "Linux Hint", "email": "[email protected]", "metadata": "Intelligence": 1 'Это должно вернуть created: true как объект JSON.
"created": true
Как включить пользователя Информация?
Если вы создаете пользователя в Elasticsearch и устанавливаете для параметра enabled значение false, вам нужно будет включить учетную запись перед ее использованием. Для этого мы можем использовать _enable API.
Вы должны убедиться, что передали имя пользователя, которое хотите включить, в запросе PUT. Общий синтаксис выглядит так:
PUT / _security / пользователь /Например, запрос ниже разрешает пользователю linuxhint:
PUT / _security / пользователь / linuxhint / _enableКоманда cURL:
curl -XPUT "http: // localhost: 9200 / _security / user / linuxhint / _enable"Обратное также верно; чтобы отключить пользователя, используйте конечную точку _disable:
PUT / _security / пользователь / linuxhint / _disableКоманда cURL:
curl -XPUT «http: // localhost: 9200 / _security / user / linuxhint / _disable»Как посмотреть Пользователи?
Чтобы просмотреть информацию о пользователе, используйте запрос GET, за которым следует имя пользователя, которое вы хотите просмотреть. Например:
ПОЛУЧИТЬ / _security / пользователь / linuxhintКоманда cURL:
curl -XGET «http: // localhost: 9200 / _security / user / linuxhint»Это должно отобразить информацию об указанном имени пользователя, как показано ниже:
"linuxhint":
"имя пользователя": "linuxhint",
"роли": [
«Суперпользователь»,
«Kibana_admin»
],
"full_name": "Подсказка для Linux",
"email": "[электронная почта защищена]",
"метаданные":
«интеллект»: 7
,
"включен": ложь
Чтобы просмотреть информацию обо всех пользователях в кластере Elasticsearch, опустите имя пользователя и отправьте запрос GET как:
GET / _security / пользователь /Как удалить пользователей?
Если вы можете создавать пользователей, вы также можете их удалять. Чтобы использовать API для удаления пользователя, просто отправьте запрос DELETE в _security / user /
Пример:
УДАЛИТЬ / _security / пользователь / linuxhintКоманда cURL:
curl -XDELETE «http: // localhost: 9200 / _security / user / linuxhint»Это должно вернуть объект JSON с found: true как:
"найдено": правда
Заключение
В этом руководстве вы узнали, как включить функции Elasticsearch Security. Мы также обсудили, как использовать Kibana Stack Management для управления пользователями. Наконец, мы обсудили, как создавать пользователей, просматривать информацию о пользователях и удалять пользователей.
Эта информация должна помочь вам начать работу, но помните, что мастерство приходит с практикой.
Спасибо за чтение.