Deckhouse Data Platform (DDP) позволяет безопасно сменить ключ шифрования (security.secretKey) без потери учётных данных и других зашифрованных значений. Операция выполняется из веб-интерфейса и перешифровывает все данные, которые хранятся с использованием текущего ключа.
Основания для ротации ключа
Выполните ротацию ключа шифрования, если необходимо заменить security.secretKey в конфигурации DDP Backend — например, по политике безопасности или после компрометации ключа.
Не меняйте security.secretKey в конфигурации и не перезапускайте бэкенд до завершения перешифрования в веб-интерфейсе, иначе сохранённые значения станут недоступны.
Права доступа
Для запуска ротации требуется глобальное разрешение rotate:encryption-key.
Перешифровываемые данные
Операция затрагивает следующие категории данных:
- «Учётные данные пользователей» — значения в PostgreSQL для типов с хранилищем «База данных».
- «Учётные данные AI-провайдеров» — персональные реквизиты для AI-интеграций.
- «Временные ответы действий» — зашифрованные временные ответы в записях выполнения действий.
- «Секреты Vault» — значения учётных данных, хранящихся в HashiCorp Vault или Deckhouse Stronghold.
- «Конфигурация Vault» — AppRole Role ID и AppRole Secret ID в настройках интеграции с Vault.
Порядок выполнения
- Перейдите в раздел «Администрирование» → «Учётные данные».
- Нажмите «Ротация ключа шифрования».
- В поле «Старый ключ шифрования» введите текущий ключ из конфигурации DDP (
security.secretKey). - В поле «Новый ключ шифрования» введите новый ключ. Требования к ключу те же, что при первоначальной настройке:
- длина — 16, 24 или 32 байта;
- только печатаемые ASCII-символы;
- ключ не должен состоять из одного повторяющегося символа.
- Нажмите «Перешифровать».
- Дождитесь завершения операции и проверьте таблицу результатов. Для каждой категории отображается количество успешно перешифрованных, пропущенных и неуспешных записей.
- Обновите
security.secretKeyв конфигурации DDP Backend на новый ключ. - Перезапустите DDP Backend.
После перешифрования учётные данные остаются недоступны для использования, пока в конфигурации бэкенда не указан новый ключ и сервис не перезапущен.
Результаты операции
В таблице результатов для каждой категории данных указываются три счётчика:
- «Успешно» — записи перешифрованы новым ключом.
- «Пропущено» — запись уже доступна с новым ключом (например, была перешифрована ранее).
- «Неуспешно» — запись не удалось перешифровать (чаще всего из-за неверного старого ключа или повреждённых данных).
Строка «Итого» содержит суммарные значения по всем категориям.
Если в столбце «Неуспешно» есть ненулевые значения, не обновляйте конфигурацию бэкенда до устранения причины ошибок. Проверьте корректность старого ключа и повторите операцию.