Перейти к основному содержимому

Коды ошибок секретов при хранении (mpbx-secrets)

Возвращает хранилище ключей, которое шифрует сохранённые секреты сторонних сервисов, и команда mpbx init --rotate master-key (W1-PBX-09). Сообщения никогда не содержат секрет, ключ или шифротекст; в них указываются не более чем идентификаторы ключей данных и мастер-ключей (отпечатки MPBX_MASTER_KEY_ID). Руководство: секреты при хранении.

КодВидЗначениеЧто делать
MPBX-SECRETS-WRONG-MASTER-KEYconfigМастер-ключ, переданный процессу (или хранящийся в приёмнике во время ротации), не является ключом, которым зашифрованы секреты этой базы данных. Проверяется при запуске в Keyring::open, поэтому пересозданный ключ не может сделать существующие секреты недоступными.Восстановите исходные MPBX_MASTER_KEY и MPBX_MASTER_KEY_ID из резервной копии секретов или ключа восстановления. Никогда не заменяйте ключ новым вручную; выполняйте ротацию командой mpbx init --rotate master-key.
MPBX-SECRETS-MASTER-KEY-ROTATEDconfigПосле завершения ротации процесс всё ещё работает с прежним мастер-ключом и требует ключ данных, которого у него нет в кэше; либо ключ данных передан на хранение, обёрнутый ключом, который не является текущим.Перезапустите процесс с текущими секретами установки.
MPBX-SECRETS-ROTATION-PENDINGconflictРотация мастер-ключа находится между двумя шагами работы с базой данных: сохранение первого секрета компании (нового ключа данных) отклоняется до её завершения. Также возвращается, если ротация запущена, когда другая ротация ещё не завершена. Можно повторить.Дождитесь завершения ротации или запустите mpbx init --rotate master-key снова с теми же приёмниками, чтобы завершить её.
MPBX-SECRETS-KEYRING-UNINITIALISEDconfigКлюч данных записан до того, как хранилище ключей зафиксировало мастер-ключ (secret_master_key пуст), либо ротация завершена в базе, где она не начиналась.Откройте хранилище ключей (Keyring::open) при запуске, до сохранения секретов.
MPBX-SECRETS-DECRYPT-FAILEDinternalАутентифицированная расшифровка не удалась: значение перенесено в другую строку, колонку или компанию, изменено, либо ключ данных не открывается мастер-ключом. Ничего не возвращается.Считайте это подменой или повреждением данных: восстановите строку из резервной копии. Если не расшифровывается ни один секрет, неверен мастер-ключ (см. выше).
MPBX-SECRETS-KEY-NOT-FOUNDinternalШифротекст ссылается на ключ данных, которого нет в запрошенной области: секрет другой компании предъявлен для этой, либо секрет всей установки предъявлен для компании (или наоборот).Проверьте компанию строки и то, является ли секрет общим для установки (Scope::System); восстановите из резервной копии, если строка ключа данных была удалена.
MPBX-SECRETS-SCOPE-MISMATCHpermission_deniedКлюч данных существует в запрошенной области, но принадлежит другому семейству ключей (назначению), чем то, которое открывает область. Например, ключ media предъявлен как секрет конфигурации. Отклоняется до расшифровки.Ошибка в вызывающем коде: используйте область и назначение, с которыми был зашифрован секрет.
MPBX-SECRETS-CIPHERTEXT-INVALIDinternalСохранённое значение обрезано, имеет неизвестную версию формата (включая 0x01, формат W1-PBX-09 без привязки к владельцу и назначению) либо обёрнутый ключ данных имеет неверную длину.Восстановите строку из резервной копии.
MPBX-SECRETS-CONTEXT-INVALIDinvalid_argumentИмя поля не имеет вида <table>.<column> в нижнем регистре (ошибка программирования).Используйте имя из mpbx_secrets::context::fields.
MPBX-SECRETS-SCHEMA-OUTDATEDconfigmpbx init --rotate master-key нашёл непримённые миграции базы данных.Запустите этот релиз один раз (он применит миграции), затем выполните ротацию.
MPBX-SECRETS-INVALIDconfigMPBX_MASTER_KEY не является base64url от 32 байт или не соответствует MPBX_MASTER_KEY_ID (тот же код, что и в mpbx init). Также возвращается, если ротация повторно использовала бы текущий ключ.Восстановите исходную пару из резервной копии.
MPBX-SECRETS-RNGinternalГенератор случайных чисел операционной системы не сработал (тот же код, что и в mpbx init).Проверьте хост и повторите попытку.

Коды, общие с mpbx init, которые также возвращает --rotate master-key: MPBX-SECRETS-MISSING (приёмник не существует или в нём нет мастер-ключа), MPBX-SECRETS-CONFLICT (в приёмнике неожиданное значение, приёмники расходятся, при обновлении в Kubernetes вернулся 409 или существует файл --recovery-key-file), MPBX-SECRETS-SINK (ошибка ввода-вывода или API; для Kubernetes 403 указывает на право update, необходимое для ротации) и MPBX-RECOVERY-NOT-CONFIRMED. См. ошибки установщика.