При первом старте с пустой базой данных Galleon создаёт первого администратора и стартовый набор репозиториев.
Bootstrap-администратор
Первая учётная запись администратора описывается блоком auth.bootstrap_admin конфигурации:
имя пользователя и пароль — через переменную окружения (password_env)
либо сразу bcrypt-хешем (password_hash, имеет приоритет).
Учётная запись создаётся, только если роль admin не назначена ни одному пользователю.
После того как администратор создан, блок bootstrap_admin игнорируется: смена значения переменной с паролем не меняет пароль существующей учётной записи (в логе сервера появится предупреждение «bootstrap_admin is configured but an admin already exists»). Пароль меняется только через веб-интерфейс.
Средств восстановления утерянного пароля администратора в Galleon нет: сбросить его может только другой пользователь с административными правами. Поэтому сразу создайте вторую административную учётную запись — иначе единственным способом вернуть доступ останется развёртывание инстанса заново.
Опция force_password_change: true делает bootstrap-пароль одноразовым:
до смены пароля пользователь заблокирован и в веб-интерфейсе, и в клиентах форматов.
Стартовое состояние
На свежей базе создаются:
- встроенная роль
adminс полным доступом и рольanonymousдля анонимного чтения; - каталог привилегий (Управление доступом);
- репозитории стартового набора (таблица в разделе Репозитории): proxy-зеркала Maven Central, proxy.golang.org, базы контрольных сумм Go и Docker Hub — с включённой автоблокировкой при недоступности внешнего реестра — и hosted-репозитории для Maven (релизы и snapshot-версии), Go и образов контейнеров.
Роль anonymous заранее получает привилегии чтения четырёх публичных proxy-зеркал,
однако анонимный доступ не действует,
пока не включён глобальный переключатель («Настройки» → «Анонимный доступ»).
Hosted-репозитории стартового набора анонимно недоступны в любом случае.
Стартовый набор создаётся, только когда список репозиториев пуст: удалённые по одному репозитории при перезапуске не возвращаются. Если же удалить все репозитории до единого, при следующем старте набор будет создан заново вместе с их привилегиями и анонимными правами чтения.
Первые шаги
После первого входа bootstrap-администратором выполните следующие действия:
- Создайте персональные учётные записи для всех, кто администрирует инстанс, и назначьте им роль
admin(«Настройки» → «Пользователи»). Не работайте под bootstrap-учётной записью постоянно. - Создайте роли для команд разработки из привилегий нужных репозиториев («Настройки» → «Роли», Управление доступом).
- Решите, нужна ли пользователям самостоятельная смена пароля: привилегия
nx-userschangepwне входит ни в одну роль по умолчанию — выдайте её ролям пользователей, иначе пароли меняет только администратор. - Настройте TLS, при необходимости обратный прокси и резервное копирование.