IOSOR База знаний

Sandbox-учётные данные, которые не жгут Live debit

Выпускайте sandbox API-ключи без hold и debit предоплатного кошелька. Держите Live-ключи вне CI и доказывайте cutover в Developers.

Sandbox-учётные данные нужны, чтобы инженерия слала тестовый трафик без касания предоплатного ledger. Live debit с sandbox-ключа должен быть невозможен — не мягкое предупреждение в README, которое никто не читает во время инцидента.

IOSOR держит sandbox на отдельной credit posture: тестовые OTP и алерты могут проходить в sandbox-полосе, пока кошелёк остаётся плоским. Если hold или debit появился от ключа с меткой sandbox, учётка скоуплена неверно и её отзывают до следующего прогона CI.

Отделите sandbox-ключи от Live hold

Создайте в Developers sandbox-ключ, который не открывает prepaid hold. Докажите: тестовый OTP в sandbox-полосе успешен при нулевом debit и нулевом MRC в ту же минуту. Выгрузите ledger за окно и положите доказательство рядом с id ключа.

Если появилась строка hold — немедленно отзовите ключ как дефект учётных данных, а не «флаки-тест». Выпустите правильно скоупленный sandbox-ключ и повторите доказательство, пока ledger не останется плоским.

Привяжите CI и staging только к sandbox

Переменные CI и staging указывают только на sandbox-учётки. Никогда не вставляйте Live-ключ в секрет GitHub, docker-compose, .env ноутбука для демо или общую папку password manager с ярлыком «test».

Ротируйте любой Live-ключ, который светился в тестовом стенде. Зафиксируйте время ротации, чтобы финансы могли сверить случайный debit с окном утечки. Staging-хост, который после ротации всё ещё держит Live-секрет, валит следующий deploy-гейт.

Докажите изоляцию debit до первого пилота

Выгрузите ledger за окно sandbox-отправки до приглашения пилотного хоста. Подтвердите: нет hold, нет debit, нет Live-пути тихих часов с sandbox-ключа. Положите доказательство рядом с id ключа для аудита финансов.

Повторите выгрузку после первой недели CI, чтобы дрейф не вернул Live-ключ через забытую переменную workflow.

Cutover остаётся в Developers

При выводе сборки следуйте чеклисту Live-cutover в Developers — новый Live-ключ, отзыв sandbox с прод-хостов, smoke свежести vault до зелёного runway. Не используйте sandbox-секрет как временный Live-ключ «только для пилота».

Cutover — смена учётных данных плюс проверка ledger, а не flip флага в конфиге. Держите webhook target и id ключей в одном окружении с тем, что написано на runway board.

Связанные пути

Держите cutover и честность coverage рядом, чтобы команды не выдумали третью историю ключей:

Начните с IOSOR

В Developers выпустите sandbox-ключ, отправьте один OTP на тестовый согласованный E.164 и выгрузите ledger за эту минуту. Подтвердите ноль hold и ноль debit. Закрепите CI на этот id ключа. Только потом запрашивайте Live-ключ для пилотного хоста и отзывайте sandbox с любого хоста, который понесёт Live-трафик.

Итог IOSOR

Sandbox-учётки — это credit posture, а не «мягкий» Live-ключ. Докажите один OTP при нулевом hold и debit, закрепите CI на этот id ключа и только потом выпускайте Live для пилотного хоста — отзовите sandbox с каждого хоста, который понесёт Live-трафик.

Был ли материал полезен?

Связанные гайды