IBCOURSES / СПРАВОЧНИК ИБ

Kubernetes: какие данные попадут в аудит

К ответу ↓

Политика аудита выбирает запросы и уровень детализации записей. Перед трактовкой отсутствующих полей нужно установить фактическую политику и способ сохранения данных.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Обзор источника

Kubernetes: какие данные попадут в аудит

Политика аудита выбирает запросы и уровень детализации записей. Перед трактовкой отсутствующих полей нужно установить фактическую политику и способ сохранения данных.

Паспорт источника

Паспорт включает кластер, 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 или периоду. Без фактического события и паспорта доставки нельзя заявлять полное покрытие; перечислите конкретные ресурсы и этапы, для которых наблюдаемость неизвестна.

Поля и область применения

Исходное полеСмысл и ограничения
rules[].levelNone/Metadata/Request/RequestResponse
rules[].resourcesРесурсы и подресурсы
rules[].verbsОперации
rules[].usersФильтр identity
omitStagesПропускаемые этапы

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Пример фрагмента policy

Фрагмент конфигурации. Сокращённый пример по документированной структуре. Остальные поля опущены. Это конфигурация, а не событие аудита.

{
  "apiVersion": "audit.k8s.io/v1",
  "kind": "Policy",
  "rules": [
    {
      "level": "Metadata",
      "resources": [
        {
          "group": "",
          "resources": [
            "pods/exec"
          ]
        }
      ]
    }
  ]
}

Пример Event, соответствующий Metadata для pods/exec

Фрагмент журнала. Сокращённый пример по документированной структуре. Остальные поля опущены. Для запроса jq используется именно этот Event, а не объект Policy.

{
  "apiVersion": "audit.k8s.io/v1",
  "kind": "Event",
  "level": "Metadata",
  "auditID": "9d281109-1111-4444-8888-000000000001",
  "stage": "ResponseStarted",
  "verb": "create",
  "user": {
    "username": "demo.operator"
  },
  "objectRef": {
    "resource": "pods",
    "subresource": "exec",
    "namespace": "demo",
    "name": "worker-1"
  },
  "responseStatus": {
    "code": 101
  }
}

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

Проверка полученного события, jq

jq -r '[.auditID,.level,.stage,.objectRef.resource] | @tsv' audit.jsonl

Первоисточники

Наличие audit файла не гарантирует регистрацию всех запросов; тело запроса/ответа может отсутствовать по проекту.

Связанные материалы

Как пользоваться техническим справочником

Найдите порт, код ошибки, событие или источник журнала. Уточните протокол и систему, затем сверяйте значение, поля, примеры и первоисточники. Назначение порта не определяет фактическую службу, а одна запись не доказывает инцидент.

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

Назначения портов и коды приведены по официальным реестрам. Версии, условия регистрации и ссылки на документацию указаны в карточках.

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.