OpenSearch имеет встроенную функцию, которая позволяет проводить базовую аутентификацию пользователей для обеспечения контроля доступа к кластеру OpenSearch и безопасности данных.
В этом руководстве мы расскажем вам о том, как настроить базовую аутентификацию пользователей в кластере OpenSearch.
Механизм аутентификации в OpenSearch обеспечивается плагином OpenSearch Security.
Плагин безопасности OpenSearch поддерживает множество бэкэндов аутентификации, таких как Windows Active Directory, Linux/Unix LDAP, или базовую аутентификацию, которая используется в этой статье.
При базовой аутентификации информация о пользователе хранится во внутренней базе данных пользователей.
Целью аутентификации пользователей является обеспечение того, чтобы только авторизованные пользователи или системы получали доступ к просмотру и изменению данных, хранящихся в кластере.
Изменение файла конфигурации OpenSearch
Прежде чем изменять файл конфигурации OpenSearch, сначала создайте резервную копию.
Если при предыдущей установке вы отключили плагин Security в файле opensearch.yml, снова включите его, отредактировав этот файл.
Если вы работаете с новой установкой и одним хостом OpenSearch, установите discovery.type в single-node, иначе при попытке запустить службу проверки bootstrap будут неудачными.
discovery.type: single-node
Вы также можете установить адрес привязки для всех интерфейсов, если требуется внешнее подключение за пределами localhost.
network.host: 0.0.0.0
Изменение пароля пользователя admin
Измените текущий рабочий каталог на каталог плагинов.
Сгенерируйте новый пароль для пользователя 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
Найдите раздел пользователя admin и обновите хэш-значение.
admin:
hash: "$2y$12$WBY/iwGveKxMAh0k6ZfXQ.gGBd78Ip3vnrr.HkidTwkG2JZ8WtjnK"
reserved: true
backend_roles:
- "admin"
description: "Admin User"
Перезапустите службу OpenSearch, чтобы изменения были применены.
Проверьте, работает ли он, заменив значение NewPasswordSet на пароль, который вы хэшировали и установили ранее.
Это подтверждает, что новый пароль был обновлен.
Создание нового пользователя
Убедитесь, что служба OpenSearch запущена.
Новые пользователи в OpenSearch могут быть созданы из дашборда, путем прямого редактирования файла internal_users.yml или с помощью REST API.
При создании нового пользователя может быть выполнено сопоставление пользователя с ролями.
Но только из CLI или REST API, так как в настоящее время эта функция недоступна в OpenSearch дашборде.
Полный список доступных ролей пользователей вы можете посмотреть в плагине Security.
Сгенерируйте пароль для нового добавляемого пользователя.
Введите пароль для хеширования.
[Password:] <INPUT-PASSWORD>
$2y$12$8twkFagjlnBArrnBWWxOEujNqe9d5nLRjbb.kORjuO95BW2qc6.Ja
Откройте файл internal_users.yml, содержащий начальных пользователей, которые должны быть добавлены во внутреннюю базу данных пользователей плагина Security.
В нашем примере мы создаем пользователя со следующими данными.
Имя пользователя: 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.
см. также:
🐧 Обзор самых популырных средств защиты, устанавливаемых на Linux