Перейти к основному содержимому
Версия: 4.3

Инструкция по смене пароля пользователя

предупреждение

Обязательно проверьте все места, где могла использоваться учётная запись пользователя перед его сменой, например:

  • Пайплайны Smart Monitor Data Collector (SM Data Collector)
  • Smart Monitor Web (SM Web)
  • Inventory
  • Smart Monitor Engine Remote Execution (SME-RE)
  • Smart Beat Manager (SBM)
  • Внешние скрипты

Рекомендуется использовать отдельную сервисную учетную запись для каждого сервиса.

Генерация нового хэша пароля

Условные обозначения:

  • OS_HOME - домашняя директория OpenSearch, обычно это /app/opensearch/

  • OS_IP - IP-адрес одного из серверов кластера OpenSearch

к сведению

Пароли предустановленных пользователей (admin, kibanaserver, logstash, sbm) меняются только этим способом. Для остальных доступно изменение через веб-интерфейс (Навигационное меню - Настройка безопасности - Внутренние пользователи).

Для начала необходимо сгенерировать новый хэш пароля, используя следующую команду:

JAVA_HOME=$OS_HOME/jdk/ $OS_HOME/plugins/opensearch-security/tools/hash.sh

Если появляется ошибка file permission, сделайте файл исполняемым командой:

chmod +x $OS_HOME/plugins/opensearch-security/tools/hash.sh

Создание резервной копии конфигурации security

предупреждение

Перед внесением изменений обязательно создайте резервную копию конфигурации плагина security. Мы рекомендуем сделать 2 копии:

  • одну в директорию с бэкапами, например, /app/backup/opensearch-security-$(date +%Y%m%d)/

  • вторую, в которую планируется вносить изменения - ${OS_HOME}/config/opensearch-security/

Используйте следующую команду для создания резервной копии в директорию ${OS_HOME}/config/opensearch-security/. Перед этим убедитесь, что у вас есть сертификаты администратора (обычно они находятся на первом узле кластера SM Data Storage):

JAVA_HOME=${OS_HOME}/jdk/ ${OS_HOME}/plugins/opensearch-security/tools/securityadmin.sh -h ${OS_IP} \
-cacert ${OS_HOME}/config/ca-cert.pem \
-cert ${OS_HOME}/config/admin-cert.pem \
-key ${OS_HOME}/config/admin-key.pem \
--accept-red-cluster -nhnv -icl \
-backup ${OS_HOME}/config/opensearch-security/

Если появляется ошибка file permission, сделайте файл исполняемым командой:

chmod +x $OS_HOME/plugins/opensearch-security/tools/securityadmin.sh

Обновление пароля пользователя

  1. Откройте файл конфигурации пользователей ${OS_HOME}/config/opensearch-security/internal_users.yml

Обратите внимание на дополнительные поля в internal_users.yml

ПолеНазначение
reservedПомечает пользователя, роль, сопоставление ролей или группу действий как зарезервированные. Такие ресурсы нельзя изменять через REST API или SM Web
hiddenТак же можно скрыть пользователей, роли, сопоставления ролей и группы действий. Ресурсы с этим флагом, не будут отображаться в SM Web и не возвращаются через REST API
hashХэш пароля пользователя
opendistro_security_roleСписок внутренних ролей Smart Monitor
backend_rolesРоли, назначаемые на основе имени пользователя
attributesДополнительные атрибуты пользователя (опционально)
staticОпределяет пользователя как системный (его нельзя удалить)
descriptionОписание пользователя (опционально)
new-user:
hash: "$2y$12$88IFVl6IfIwCFh5aQYfOmuXVL9j2hz/GusQb35o.4sdTDAEMTOD.K"
reserved: false
hidden: false
opendistro_security_roles:
- "specify-some-security-role-here"
backend_roles:
- "specify-some-backend-role-here"
attributes:
attribute1: "value1"
static: false
description: "Demo admin user"
  1. Найдите пользователя по имени (например: admin)

  2. Вставьте новый хэш пароля в поле hash, который был сгенерирован ранее. Например:

admin:
hash: "$2y121212OLRmqL1CBHJDZkG0R4wxC.Ifb9bcqDMsZWO9780bW3lKw9nn95GjO"
reserved: true
backend_roles:
- "admin"
opendistro_security_roles:
- "all_access"
description: "Base admin user"
  1. Сохраните изменения

Применение обновленной конфигурации

предупреждение

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

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

JAVA_HOME=${OS_HOME}/jdk/ ${OS_HOME}/plugins/opensearch-security/tools/securityadmin.sh -h ${OS_IP} \
-cacert ${OS_HOME}/config/ca-cert.pem \
-cert ${OS_HOME}/config/admin-cert.pem \
-key ${OS_HOME}/config/admin-key.pem \
-icl -nhnv \
-t internalusers \
-f ${OS_HOME}/config/opensearch-security/internal_users.yml \