Тип: ОРД-артефакт под утверждение (D? / §8 ЧМУ — «регламент ротации соли»). Формализует уже реализованный инструмент в эксплуатационную процедуру с окном обслуживания и проверкой. Назначение: безопасно сменить мастер-ключ псевдонимизации ANON_SALT без разрыва связки портал ↔ Сейф (все user_id пересчитываются согласованно). Связано: 23 — техника ротации (механизм), 01 — крипто, 34 — бэкап, vault-service/app/rotate_salt.py (инструмент).
Техническая основа уже в продукте:rotate_salt.pyстроит картуold→newпо табельным под новой солью и применяет один UPDATE к порталу и Сейфу (dry-run по умолчанию). Этот документ — регламент: КОГДА, КТО и в каком порядке его запускает.
- Плановая ротация — раз в ‹12 месяцев›;
- внеплановая — при компрометации/подозрении на утечку
ANON_SALT(инцидент, 32); - при смене подрядчика/администратора, имевшего доступ к секрету.
- Свежий бэкап обеих БД (портал + Сейф) — 34, 27;
- сгенерирован новый секрет
NEW_ANON_SALT(стойкий, вне БД/логов/git); - окно обслуживания ‹длительность›; на время ротации сбор телеметрии приостановлен (иначе новые
факты придут под старой солью).
- Dry-run (без записи) — оценить охват:
NEW_ANON_SALT=‹новый› python -m app.rotate_salt (в контуре Сейфа). Сверить число строк.
- Применить:
NEW_ANON_SALT=‹новый› python -m app.rotate_salt --apply(илиROTATE_CONFIRM=1).
Инструмент в одной логике пересчитывает user_id во ВСЕХ таблицах портала и Сейфа.
- Обновить секрет окружения: заменить
ANON_SALTна новое значение в конфигурации Сейфа/
коллектора (там, где идёт токенизация); портал соль не хранит (F3b).
- Перезапустить коллектор/Сейф с новым
ANON_SALT; возобновить сбор.
- Связка цела: раскрытие
user_id ↔ человек(DPO) возвращает корректное ФИО; - инвариант метрик не изменился (число фактов/связок стабильно — пересчитан только идентификатор);
- новые прогоны коллектора пишут
user_idпод новой солью (совпадают с пересчитанными в Сейфе).
При расхождении — восстановить обе БД из бэкапа п. 2 (27) и вернуть прежний ANON_SALT. Нельзя оставлять портал и Сейф под разными солями — связка порвётся.
Ответственный: ‹DPO/администратор ИБ›. Утверждение: ‹приказ № / дата›.