Паспорт источника
Паспорт включает кластер, API server release, способ управления control plane, policy, backend и ответственного за хранение. audit.k8s.io/v1 обозначает схему. Для managed-кластера получите документированный экспорт настроек у провайдера вместо предположений о доступности файлов master-узла. Наличие политики в репозитории ещё не подтверждает её фактическое применение на выбранном сервере.
Сбор и доступ
Установите, какая policy применяется и куда выводятся записи: файл, webhook или предоставляемый провайдером канал. Зафиксируйте область источника и читающие права. Правила проверяются по порядку; важен первый подходящий уровень. Не меняйте policy ради получения нужного примера: задача этого паспорта — описать уже существующую наблюдаемость и необходимые согласования для будущей проверки.
Форма и пример
Пример Metadata для pods/exec — только фрагмент policy, а не Event. Уровни None, Metadata, Request и RequestResponse задают различную детализацию. Сначала сопоставьте ресурс, подресурс, verb и identity со своим правилом, затем проверьте доступные поля реального события. Наличие requestObject нельзя требовать от Metadata; вывод команды exec также не появляется автоматически при повышении уровня API-аудита.
Хранение и сопоставление
Отдельно опишите ротацию/retention, задержку пересылки, буферы и место исходной копии. Для сопоставления сохраняйте источник, auditID, level и stage. Несколько стадий одного запроса не следует считать несколькими независимыми действиями. Политика определяет отбор, backend — сохранение; полный разбор требует обоих слоёв, а не только просмотра массива rules.
Проверка наблюдаемости
На уже доступном событии проверьте соответствие policy и сохранённого level/stage. Сравните исходный backend с приёмником и установите, какие поля/стадии теряются по пути. Работайте с копией журнала и сохранённой конфигурацией за нужный период. Результат проверки записывайте по слоям: правило найдено, формат подтверждён, доставка подтверждена либо отсутствуют данные.
Ограничения и отсутствие данных
При пустоте проверьте более раннее правило, None, omitStages, совпадение подресурса, backend и срок хранения. Обычные Kubernetes Events не заменяют API audit. Пустой файл также может относиться к другому API server или периоду. Без фактического события и паспорта доставки нельзя заявлять полное покрытие; перечислите конкретные ресурсы и этапы, для которых наблюдаемость неизвестна.