32.1. Параметры инициализации кластера по настройке управления доступом #
Параметры кластера Postgres Pro Shardman, связанные с безопасностью, берутся из файла инициализации. Можно изменить их позднее, но это следует делать с осторожностью, помня, что в большинстве случаев любое изменение потребует перезапуска СУБД.
В кластере Postgres Pro Shardman есть два специальных пользователя: администратор и пользователь репликации. Shardman управляет экземплярами СУБД через администраторов. Репликация между контролируемыми экземплярами СУБД осуществляется BiHA через пользователей репликации.
Параметры безопасности в файле инициализации задают:
Методы аутентификации для администраторов и пользователей репликации —
PgSuAuthMethod,PgReplAuthMethod.Имена для администраторов и пользователей репликации —
PgSuUsername,PgReplUsernameПароли для администраторов и пользователей репликации —
PgSuPassword,PgReplPasswordПравила в файле
pg_hba.conf, используемые экземплярами СУБД —ShardSpec.pgHBA
Более подробно эти параметры рассматриваются в описании Подраздел 18.20.2.
Чтобы задать параметры безопасности, выполните следующие действия:
Измените пароль пользователя
postgresв кластереcluster0:$shardmanctl --cluster-name cluster0 config update credentials --user postgres --password newpassword --yesОбновите сертификаты SSL:
$shardmanctl --cluster-name cluster0 config update credentials --user postgres --ssl-cert /path/to/cert.pem --ssl-key /path/to/key.pem --yes
Изменение этих параметров приведёт к перезапуску СУБД.
В отличие от вышеуказанных параметров, параметр ShardSpec.pgHBA может быть изменён без перезапуска СУБД. Чтобы изменить его, выполните следующие действия:
Извлеките определение
ShardSpec, сохраните в какой-нибудь файл и измените при необходимости:$shardmanctl --cluster-name cluster0 store get -a shardspec -f shardspec.jsonОтредактируйте в файле
shardspec.jsonопределениеShardSpec.pgHBAсоответствующим образом, например:"pgHBA": [ "host all postgres 0.0.0.0/0 scram-sha-256", "host replication postgres 0.0.0.0/0 scram-sha-256", "host replication postgres ::0/0 scram-sha-256", "host all someuser 0.0.0.0/0 scram-sha-256" ],Примените изменения, внесённые в файл
shardspec.json:$shardmanctl --cluster-name cluster0 config update -f shardspec.json