arculaДокументация

Хранилища

Ключи серверов

У каждого сервера в каждом хранилище — свой ключ S3, только на его папку arcula/<id сервера>/. Ключ знает только агент сервера, панель его не хранит и не видит. Взломанный сервер портит только свои бэкапы, а утечка базы панели не открывает ни одного. Ключ панели — другой: один на хранилище и только на чтение — Ключи.

Задать ключ

  1. Хранилище → вкладка «Подключение» → карточка «Ключи серверов»: там все серверы, в чьём плане есть это хранилище.
  2. У сервера нажмите «Задать ключ» и раскройте «Политика сервера для провайдера» — IAM-политика этого сервера, его папка уже подставлена.
  3. У провайдера создайте ключ и примените к нему политику — как политику ключа, пользователя или bucket, смотря что умеет провайдер.
  4. Введите ключ в ЛК или на сервере, ниже.

Политика запрещает удалять старые версии и менять версионирование, жизненный цикл, Object Lock и политику bucket: так взломанный сервер не снимет защиту от удаления.

В ЛК — access key, secret key и «Зашифровать и передать». Браузер шифрует ключ для агента этого сервера, панель передаёт только шифротекст.

На сервере — ключ не проходит ни через браузер, ни через панель:

sudo arcula storage key "Основной"

Команда спросит access key и secret key. В скриптах — --access-key-id и --secret-file (секрет — первой строкой файла).

Агент проверит ключ в своей папке. Не работает — ключ не сохраняется, прежний остаётся.

Что видно в строке сервера

В ЛКЧто значит
«ключа нет — бэкапы сюда не уходят»Задайте ключ
«передан, ждёт агента»Агент заберёт ключ, как только выйдет на связь
«агент отклонил ключ: 403 AccessDenied»Ключ не пускает в папку сервера. Прежний ключ остаётся
«не пускает в папку: 403 AccessDenied»Сохранённый ключ перестал работать: отозван или изменилась политика

Что проверяет агент

Агент проверяет свой ключ при вводе и раз в 6 часов:

ГдеЧто пробуетКак должно бытьИначе
В своей папкеСписок, запись, чтение, удалениеПроходит«не пускает в папку»
Вне своей папкиСписок, запись, удалениеОтказМетка «весь bucket»
В своей папкеУдалить старую версию, записать настройки версий и жизненного циклаОтказМетка «удаляет версии»

Обе метки — уведомления: статус хранилища остаётся «Норма». Настройки Object Lock агент не пробует: ошибка там необратима. Их запрещает политика.

Провайдер не умеет ключи на папку

Задайте один и тот же ключ всем серверам хранилища. Работать будет, но взломанный сервер сможет удалить бэкапы всех серверов здесь — у серверов метка «весь bucket». Так у большинства провайдеров, поэтому это уведомление, а не замечание. Панель не получает и этот ключ.

У некоторых провайдеров, например у Timeweb, ключ на папку задаётся только политикой bucket: примените политику сервера к bucket с условием на этот ключ.

«Агент старый»

У старого агента нет своего ключа шифрования — ключ из ЛК ему не передать. Обновите агент или задайте ключ на сервере командой выше.

Та же статья — в панели, в разделе «Справка».