Инструкция по смене пароля пользователя
Обязательно проверьте все места, где могла использоваться учётная запись пользователя перед его сменой, например:
- Пайплайны 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
Обновление пароля пользователя
- Откройте файл конфигурации пользователей
${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"
-
Найдите пользователя по имени (например:
admin
) -
Вставьте новый хэш пароля в поле
hash
, который был сгенерирован ранее. Например:
admin:
hash: "$2y121212OLRmqL1CBHJDZkG0R4wxC.Ifb9bcqDMsZWO9780bW3lKw9nn95GjO"
reserved: true
backend_roles:
- "admin"
opendistro_security_roles:
- "all_access"
description: "Base admin user"
- Сохраните изменения
Применение обновленной конфигурации
Обновите пароль во всех конфигурациях и компонентах, где используется соответствующая учетная запись.
После редактирования конфигурации необходимо применить изменения с помощью следующей команды:
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 \