👥 Создание нового пользователя или обновление пароля пользователя в OpenSearch |

👥 Создание нового пользователя или обновление пароля пользователя в OpenSearch

Мануал

OpenSearch имеет встроенную функцию, которая позволяет проводить базовую аутентификацию пользователей для обеспечения контроля доступа к кластеру OpenSearch и безопасности данных.

В этом руководстве мы расскажем вам о том, как настроить базовую аутентификацию пользователей в кластере OpenSearch.

Механизм аутентификации в OpenSearch обеспечивается плагином OpenSearch Security.

Плагин безопасности OpenSearch поддерживает множество бэкэндов аутентификации, таких как Windows Active Directory, Linux/Unix LDAP, или базовую аутентификацию, которая используется в этой статье.

При базовой аутентификации информация о пользователе хранится во внутренней базе данных пользователей.

Целью аутентификации пользователей является обеспечение того, чтобы только авторизованные пользователи или системы получали доступ к просмотру и изменению данных, хранящихся в кластере.

Изменение файла конфигурации OpenSearch

Прежде чем изменять файл конфигурации OpenSearch, сначала создайте резервную копию.

sudo cp /etc/opensearch/opensearch.yml{,.bak}

Если при предыдущей установке вы отключили плагин Security в файле opensearch.yml, снова включите его, отредактировав этот файл.

sudo vim /etc/opensearch/opensearch.yml
plugins.security.disabled: false

Если вы работаете с новой установкой и одним хостом OpenSearch, установите discovery.type в single-node, иначе при попытке запустить службу проверки bootstrap будут неудачными.

discovery.type: single-node

Вы также можете установить адрес привязки для всех интерфейсов, если требуется внешнее подключение за пределами localhost.

network.host: 0.0.0.0

Изменение пароля пользователя admin

Измените текущий рабочий каталог на каталог плагинов.

cd /usr/share/opensearch/plugins/opensearch-security/tools

Сгенерируйте новый пароль для пользователя admin

# OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh
**************************************************************************
** This tool will be deprecated in the next major release of OpenSearch **
** https://github.com/opensearch-project/security/issues/1755           **
**************************************************************************
[Password:] <TYPE-PASSWORD-TO-USE>
$2y$12$WBY/iwGveKxMAh0k6ZfXQ.gGBd78Ip3vnrr.HkidTwkG2JZ8WtjnK

Запишите сгенерированный хэшированный пароль.

Затем отредактируйте файл internal_users.yml и укажите сгенерированный пароль для пользователя admin

sudo vim /etc/opensearch/opensearch-security/internal_users.yml

Найдите раздел пользователя admin и обновите хэш-значение.

admin:
  hash: "$2y$12$WBY/iwGveKxMAh0k6ZfXQ.gGBd78Ip3vnrr.HkidTwkG2JZ8WtjnK"
  reserved: true
  backend_roles:
  - "admin"
  description: "Admin User"

Перезапустите службу OpenSearch, чтобы изменения были применены.

sudo systemctl restart opensearch

Проверьте, работает ли он, заменив значение NewPasswordSet на пароль, который вы хэшировали и установили ранее.

curl -kX GET https://localhost:9200 -u 'admin:NewPasswordSet'
{
"name" : "jammy",
"cluster_name" : "opensearch",
"cluster_uuid" : "0UrvTjvaQZauv5guclhdpw",
"version" : {
"distribution" : "opensearch",
"number" : "2.11.0",
"build_type" : "deb",
"build_hash" : "4dcad6dd1fd45b6bd91f041a041829c8687278fa",
"build_date" : "2023-10-13T02:57:02.526977318Z",
"build_snapshot" : false,
"lucene_version" : "9.7.0",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

Это подтверждает, что новый пароль был обновлен.

Создание нового пользователя

Убедитесь, что служба OpenSearch запущена.

systemctl status opensearch
● opensearch.service - OpenSearch
Loaded: loaded (/lib/systemd/system/opensearch.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2023-11-30 18:00:00 UTC; 6min ago
Docs: https://opensearch.org/
Main PID: 10890 (java)
Tasks: 71 (limit: 4524)
Memory: 1.3G
CPU: 57.386s
CGroup: /system.slice/opensearch.service
└─10890 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt>
Nov 30 17:59:43 jammy systemd[1]: Starting OpenSearch...
Nov 30 18:00:00 jammy systemd[1]: Started OpenSearch.

Новые пользователи в OpenSearch могут быть созданы из дашборда, путем прямого редактирования файла internal_users.yml или с помощью REST API.

При создании нового пользователя может быть выполнено сопоставление пользователя с ролями.

Но только из CLI или REST API, так как в настоящее время эта функция недоступна в OpenSearch дашборде.

Полный список доступных ролей пользователей вы можете посмотреть в плагине Security.

Сгенерируйте пароль для нового добавляемого пользователя.

cd /usr/share/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

Введите пароль для хеширования.

[Password:] <INPUT-PASSWORD>
$2y$12$8twkFagjlnBArrnBWWxOEujNqe9d5nLRjbb.kORjuO95BW2qc6.Ja

Откройте файл internal_users.yml, содержащий начальных пользователей, которые должны быть добавлены во внутреннюю базу данных пользователей плагина Security.

sudo vim /etc/opensearch/opensearch-security/internal_users.yml

В нашем примере мы создаем пользователя со следующими данными.

Имя пользователя: itsecforu
Хешированное значение пароля: $2y$12$8twkFagjlnBArrnBWWWxOEujNqe9d5nLRjbb.kORjuO95BW2qc6.Ja
Роль пользователя: all_access, вы можете добавить больше, если вам нужно

itsecforu:
  hash: "$2y$12$8twkFagjlnBArrnBWWxOEujNqe9d5nLRjbb.kORjuO95BW2qc6.Ja"
  reserved: false
  backend_roles:
  - "all_access"
  description: "itsecforu User"

Роль “all_access” предоставляет полный доступ к кластеру, включая все операции в масштабах кластера, разрешение на запись во все индексы кластера и разрешение на запись ко всем тенанты.

Сопоставление ролей настраивается в файле /etc/opensearch/opensearch-security/roles_mapping.yml

После внесения изменений перезапустите службу OpenSearch.

sudo systemctl restart opensearch

см. также:

🐧 Обзор самых популырных средств защиты, устанавливаемых на Linux

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий