4 Используемые учетные записи
4.1 Учетные записи ОС
4.1.1 Учетные записи на узле "Спектра"
На узле "Спектра" для запуска служб "Спектра" используется учетная запись spectrum, которая создается при установке "Спектра". Пользователь spectrum включается в группы:
-
spectrum,
-
wheel.
Данный пользователь используется только для запуска служб "Спектра" (systemd-сервисов), вход в систему с использованием этой учетной записи невозможен.
Для корректной работы всех функций "Спектра" настраиваются следующие правила повышения привилегий в файле /etc/sudoers.d/80-spectrum:
[root@spectrum]# cat /etc/sudoers.d/80-spectrum
spectrum ALL=(root) NOPASSWD: /usr/bin/docker ps, /usr/bin/docker exec *(python-modules)
Пользователь spectrum имеет права на чтение и запись к следующим каталогам ОС:
-
/opt/skala-r/spectrum, -
/opt/skala-r/etc/spectrum, -
/opt/skala-r/var/log/spectrum.
Для смены пароля пользователя необходимо использовать команду passwd:
passwd spectrum
Команда запросит ввод нового пароля и подтверждение ввода пароля.
|
Пользователь spectrum создается только для запуска служб "Спектра", по умолчанию пользователь spectrum создается без пароля и без возможности войти в систему. |
4.1.2 Учетные записи на узлах МБД.П
На узлах МБД.П для запуска Агента "Спектра" используется учетная запись postgres. Пользователь postgres создается при установке ПО СУБД и дополнительно настраивается при установке Агента "Спектра". Пользователь включается в группы:
-
postgres,
-
wheel,
-
haclient.
Для корректной работы всех функций "Спектра" настраиваются следующие правила повышения привилегий в файле /etc/sudoers.d/spectrum:
[root@mbd-node-01]# cat /etc/sudoers.d/spectrum
Cmnd_Alias CLUSTERCTL = /usr/bin/pg_controldata *, /usr/sbin/corosync-quorumtool *, /usr/sbin/pcs *, /usr/sbin/crm_report *, /bin/chown */reports/cluster_reports/*, /usr/bin/systemctl * patroni.service, /usr/bin/cp /opt/skala-r/spectrum/patroni.yml.tmp /etc/patroni.yml
postgres ALL=(root) NOPASSWD: CLUSTERCTL
Пользователь postgres имеет права на чтение и запись к следующим каталогам ОС:
-
/opt/skala-r/spectrum, -
/opt/skala-r/etc/spectrum, -
/opt/skala-r/var/log/spectrum.
а также каталогам, необходимым для корректной работы СУБД PostgreSQL.
Для смены пароля пользователя необходимо использовать команду passwd:
passwd postgres
Команда запросит ввод нового пароля и подтверждение ввода пароля.
4.2 Учетные записи СУБД
-
На хосте "Спектра" для работы служб "Спектра" используется служебная БД spectrum под управлением СУБД PosgreSQL.
БД создается при установке "Спектра", также для доступа служб "Спектра" в СУБД создается пользователь admin со случайным паролем. Пароль для доступа к СУБД PosgreSQL хранится в зашифрованном виде в файле /opt/skala-r/spectrum/.vault_store.
Возможно только локальное подключение к служебной БД "Спектра".
Для доступа к СУБД Кластера МБД.П используется техническая учетная запись genome, которая создается по умолчанию при создании сервисов СУБД при помощи ПО "Геном.БР".
Пароль от учетной записи genome хранится в зашифрованном виде в файле /opt/skala-r/spectrum/.vault_store.
-
На узлах МБД.П Агент "Спектра" также использует учетную запись
genomeдля доступа к СУБД Кластера МБД.П.
Пароль от учетной записи genome хранится в хэшированном виде в файле /opt/skala-r/etc/spectrum/spectrum-agent/config.conf.
4.3 Смена паролей учетных записей
4.3.1 Смена пароля от БД в конфигурации Агента "Спектра" на узле кластера
В случае изменения пароля от БД на узлах кластера необходимо изменить пароль в конфигурации Агента "Спектра".
Для этого нужно перейти в каталог распакованного дистрибутива "Спектра" и выполнить следующие команды:
source /opt/skala-r/spectrum/python-modules/bin/activate
python3 spectrum-tools/update_agent_db_password.py -i путь_к_файлу_inventory
Файл inventory — файл в формате .yml, содержащий данные об узлах кластера, на которых настраивается аутентификация с Агентом "Спектра".
Пример файла можно найти в распакованном дистрибутиве Спектра по пути inventory_samples/cluster.yml.
После выполнения последней команды пользователю будет предложено ввести пароль от БД, используемый на указанных узлах.
Далее пользователю будет предложено ввести пароль, используемый для подключения к узлам кластера по SSH.
|
В результате выполнения этой команды Агенты "Спектра" на указанных узлах будут перезагружены. |
Также нужно изменить пароль от БД на узлах кластера в файле с зашифрованными секретами, расположенном на хосте "Спектра" по пути /opt/skala-r/spectrum/.vault_store. Для этого нужно выполнить следующие команды:
source /opt/skala-r/spectrum/python-modules/bin/activate
ansible-vault edit /opt/skala-r/spectrum/.vault_store
Далее необходимо ввести пароль хранилища, после чего будет открыт текстовый редактор.
Нужно изменить значение в строке:
password_db: ПАРОЛЬ_ОТ_БД_НА_УЗЛАХ
После сохранения файла нужно перезапустить сервис spectrum-api с помощью команды:
systemctl restart spectrum-api.service
4.3.2 Смена пароля от БД на хосте "Спектра"
В случае изменения пароля от БД на хосте "Спектра" необходимо изменить пароль в файле с зашифрованными секретами, расположенный на хосте "Спектра" по пути /opt/skala-r/spectrum/.vault_store.
Для этого выполнить следующие команды:
source /opt/skala-r/spectrum/python-modules/bin/activate
ansible-vault edit /opt/skala-r/spectrum/.vault_store
Далее необходимо ввести пароль хранилища, после чего будет открыт текстовый редактор.
Нужно изменить значение в строке:
spectrum_db_pass: ПАРОЛЬ_ОТ_БД_НА_ХОСТЕ_СПЕКТРА
После сохранения файла перезапустить сервис spectrum-api с помощью команды:
systemctl restart spectrum-api.service