Прямой ответ
Распространение нельзя доказать одним сообщением «Операция выполнена». Для каждой целевой системы запишите запрос изменения, квитанцию получения, результат применения, обратное считывание итогового состояния, отрицательный тест прежнего пути доступа и устранение расхождений.
Простыми словами
Отправка десяти людям нового адреса не доказывает, что все десять обновили свои адресные книги. Нужно проверить, что каждое сообщение получено, изменение применено, а старый адрес больше не используется.
Почему это важно
Центральная система может быть актуальной, пока связанное приложение, кеш, токен или сторонняя учётная запись признаёт прежние полномочия. Такое скрытое расхождение — одна из самых опасных форм остаточного доступа.
Не путать
- Отправлено: изменение передано цели.
- Получено: цель приняла запрос.
- Применено: цель изменила своё состояние.
- Проверено: новое состояние считано, а старый путь доступа испытан.
Что делать
- Присвойте каждому изменению уникальный идентификатор события.
- Составьте реестр целевых систем и определите ожидаемое итоговое состояние.
- Отдельно фиксируйте доставку, применение и обратное считывание.
- Проведите контролируемый отрицательный тест старого пути доступа.
- Повторите попытку для неудачных целей и передайте нерешённые случаи человеку.
- Не закрывайте событие, пока нет доказательства по каждой цели.
Как проверить
- Полон ли список целей?
- Совпадают ли ожидаемое и наблюдаемое состояния в каждой цели?
- Не основан ли успех только на журнале отправителя?
- Отказано ли в доступе по старому токену или сеансу?
- Связаны ли все доказательства с одним идентификатором события и одной временной шкалой?
Ограничение
В распределённых системах абсолютная мгновенная синхронизация не всегда возможна. Допустимую задержку, политику повторов и правило закрытия нужно определить заранее.
Запомните одной фразой
Отправить изменение недостаточно: нужно увидеть новое состояние и доказать, что старый путь закрыт.
Источники этой записи
- S27IETF, RFC 7644, *System for Cross-domain Identity Management: Protocol*Стандарты
- S28IETF, RFC 9967, *SCIM Roles and Entitlements Extension*Стандарты
- S35W3C, *PROV-O: The PROV Ontology*Стандарты
- S36W3C, *Trace Context*Стандарты
- S37OpenTelemetry, *General Trace Semantic Conventions*Стандартная и проектная документация

