Учетные записи и секреты платформы#

Платформа 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

admin

администратор веб-интерфейса

Вход администратора в веб-интерфейс (основной вход в платформу — через Platform Gateway)

Да

Automation Controller

awx

роль PostgreSQL

Сервисное подключение Automation Controller к базе данных

Нет

Automation Hub

admin

администратор веб-интерфейса

Вход администратора в веб-интерфейс

Да

Automation Hub

automationhub

роль PostgreSQL

Сервисное подключение Automation Hub к базе данных

Нет

Automation Hub

s3_access_key / s3_secret_key

ключи S3

Доступ Automation Hub к объектному хранилищу артефактов

Platform Gateway

admin

администратор веб-интерфейса

Вход администратора в веб-интерфейс платформы

Да

Platform Gateway

automationgateway

роль PostgreSQL

Сервисное подключение Platform Gateway к базе данных

Нет

Event-Driven Automation

admin

администратор веб-интерфейса

Вход администратора в веб-интерфейс

Да

Event-Driven Automation

automationedacontroller

роль 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 и др.) создаются заново этой утилитой при каждом запуске, поэтому прямые изменения в этих файлах носят временный характер.

Порядок смены секрета:

  1. Измените соответствующий параметр в inventory.

  2. Запустите aa-setup (повторный запуск) на устанавливающем узле.

  3. Проверьте результат: вход в веб-интерфейс, состояние сервисов соответствующего компонента (systemctl status), подключение к базе данных.

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

Не редактируйте конфигурационные файлы компонентов напрямую — они перегенерируются при следующем запуске aa-setup, и ручные изменения будут потеряны. Кроме того, наличие параметра в inventory само по себе не гарантирует, что повторный запуск сменит уже установленный секрет: для ряда учетных записей действуют особые правила, см. Особые случаи.

Параметры inventory для смены секретов:

Секрет

Параметр inventory

Примечание

Администратор Automation Controller

admin_password

Применяется при каждом запуске; см. Особые случаи

Роль PostgreSQL Automation Controller (awx)

pg_password

Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи

Администратор Automation Hub

automationhub_admin_password

Для смены уже установленного пароля задайте automationhub_force_change_admin_password=true (см. Особые случаи)

Роль PostgreSQL Automation Hub (automationhub)

automationhub_pg_password

Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи

Ключи S3 Automation Hub

s3_access_key, s3_secret_key

Предварительно создайте новую пару ключей в объектном хранилище; прежнюю пару отзовите после успешной проверки

Администратор веб-интерфейса Platform Gateway (вход в платформу)

automationgateway_admin_password

Применяется при каждом запуске; см. Особые случаи

Роль PostgreSQL Platform Gateway (automationgateway)

automationgateway_pg_password

Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи

Администратор Event-Driven Automation

automationedacontroller_admin_password

Применяется при каждом запуске; см. Особые случаи

Роль PostgreSQL Event-Driven Automation (automationedacontroller)

automationedacontroller_pg_password

Для встроенной СУБД применяется автоматически; для внешней — см. Особые случаи

Особые случаи#

Пароль администратора 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 компонент использует прежний пароль в своей конфигурации и временно теряет доступ к базе данных.