Учетные записи и секреты платформы#
Платформа Astra Automation использует ряд учетных записей и секретов, которые задаются при ее развертывании и применяются ее компонентами:
администраторы веб-интерфейса (учетная запись
admin; основной вход в платформу — через Platform Gateway);сервисные роли PostgreSQL для подключения компонентов к базе данных;
ключи доступа к объектному хранилищу S3.
Речь идет о секретах самой платформы (операционных). Учетные данные, которые платформа хранит для ваших сценариев автоматизации, — это отдельная тема и управляются в веб-интерфейсе.
Секреты этих учетных записей задаются через описание инвентаря (inventory) утилиты aa-setup и применяются при развертывании и обновлении платформы.
Рекомендуемый способ смены секрета — через inventory (см. Смена секретов через inventory), а не правкой конфигурационных файлов.
Общие требования к хранению секретов описаны в разделе Управление учетными данными и секретами; в частности, защищайте чувствительные переменные inventory средствами ansible-vault (например, ansible-vault encrypt_string).
Примечание
Эта страница описывает развертывание из Deb-пакетов на виртуальных или физических серверах (управление секретами через inventory и aa-setup).
Для развертывания в кластере Kubernetes (Operator) порядок другой — секреты задаются объектами Kubernetes Secret и Custom Resource; см. Учетные записи и секреты платформы в Kubernetes.
Перечень учетных записей и секретов#
Компонент |
Учетная запись / секрет |
Тип |
Назначение |
Доменные УЗ |
|---|---|---|---|---|
Automation Controller |
|
администратор веб-интерфейса |
Вход администратора в веб-интерфейс (основной вход в платформу — через Platform Gateway) |
Да |
Automation Controller |
|
роль PostgreSQL |
Сервисное подключение Automation Controller к базе данных |
Нет |
Automation Hub |
|
администратор веб-интерфейса |
Вход администратора в веб-интерфейс |
Да |
Automation Hub |
|
роль PostgreSQL |
Сервисное подключение Automation Hub к базе данных |
Нет |
Automation Hub |
|
ключи S3 |
Доступ Automation Hub к объектному хранилищу артефактов |
— |
Platform Gateway |
|
администратор веб-интерфейса |
Вход администратора в веб-интерфейс платформы |
Да |
Platform Gateway |
|
роль PostgreSQL |
Сервисное подключение Platform Gateway к базе данных |
Нет |
Event-Driven Automation |
|
администратор веб-интерфейса |
Вход администратора в веб-интерфейс |
Да |
Event-Driven Automation |
|
роль PostgreSQL |
Сервисное подключение Event-Driven Automation к базе данных |
Нет |
Для входа администраторов в веб-интерфейс Astra Automation поддерживает внешнюю аутентификацию через провайдеров идентификации (LDAP, SAML, OIDC и др.) — доменные учетные записи можно использовать наравне со встроенной admin, которую рекомендуется держать для аварийного доступа (см. Методы аутентификации).
Сервисные роли PostgreSQL и ключи S3 — внутренние и внешнюю аутентификацию не используют.
Смена секретов через inventory#
Рекомендуемый и поддерживаемый способ смены секретов учетных записей платформы — через inventory утилиты aa-setup.
Конфигурационные файлы компонентов (/etc/tower/conf.d/postgres.py, /etc/pulp/settings.py, /etc/astra-automation/gateway/settings.py, /etc/astra-automation/eda/settings.yaml и др.) создаются заново этой утилитой при каждом запуске, поэтому прямые изменения в этих файлах носят временный характер.
Порядок смены секрета:
Измените соответствующий параметр в inventory.
Запустите
aa-setup(повторный запуск) на устанавливающем узле.Проверьте результат: вход в веб-интерфейс, состояние сервисов соответствующего компонента (
systemctl status), подключение к базе данных.
Предупреждение
Не редактируйте конфигурационные файлы компонентов напрямую — они перегенерируются при следующем запуске aa-setup, и ручные изменения будут потеряны.
Кроме того, наличие параметра в inventory само по себе не гарантирует, что повторный запуск сменит уже установленный секрет: для ряда учетных записей действуют особые правила, см. Особые случаи.
Параметры inventory для смены секретов:
Секрет |
Параметр inventory |
Примечание |
|---|---|---|
Администратор Automation Controller |
|
Применяется при каждом запуске; см. Особые случаи |
Роль PostgreSQL Automation Controller ( |
|
Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи |
Администратор Automation Hub |
|
Для смены уже установленного пароля задайте |
Роль PostgreSQL Automation Hub ( |
|
Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи |
Ключи S3 Automation Hub |
|
Предварительно создайте новую пару ключей в объектном хранилище; прежнюю пару отзовите после успешной проверки |
Администратор веб-интерфейса Platform Gateway (вход в платформу) |
|
Применяется при каждом запуске; см. Особые случаи |
Роль PostgreSQL Platform Gateway ( |
|
Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи |
Администратор Event-Driven Automation |
|
Применяется при каждом запуске; см. Особые случаи |
Роль PostgreSQL Event-Driven Automation ( |
|
Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи |
Особые случаи#
Пароль администратора Automation Hub.
По умолчанию пароль администратора Automation Hub задается только при первичной установке.
Чтобы повторный запуск aa-setup сменил уже установленный пароль, дополнительно задайте параметр automationhub_force_change_admin_password=true.
Пароли администраторов перезаписываются при каждом запуске.
Для Automation Controller, Platform Gateway и Event-Driven Automation повторный запуск aa-setup принудительно устанавливает пароль администратора из inventory.
Поэтому смену пароля администратора через веб-интерфейс необходимо отражать в inventory — иначе изменение будет потеряно при следующем запуске.
Задавайте сложные пароли администраторов в inventory.
Роли PostgreSQL на внешней СУБД.
Если используется внешняя СУБД (config_dynamic_database=external), утилита развертывания не управляет ролями на сервере базы данных.
Смените пароль роли на сервере, затем актуализируйте параметр *_pg_password в inventory и запустите aa-setup для обновления параметров подключения компонентов:
ALTER ROLE <role> WITH PASSWORD '<new_password>';
Соответствие роль — компонент — параметр inventory:
awx— Automation Controller —pg_password;automationhub— Automation Hub —automationhub_pg_password;automationgateway— Platform Gateway —automationgateway_pg_password;automationedacontroller— Event-Driven Automation —automationedacontroller_pg_password.
В интервале между сменой пароля роли на сервере БД и завершением aa-setup компонент использует прежний пароль в своей конфигурации и временно теряет доступ к базе данных.