kube-apiserver Audit Configuration (v1)

Типи ресурсів

Event

Зустрічається в:

Подія захоплює всю інформацію, яка може бути включена в лог аудиту API.

ПолеОпис
apiVersion
string
audit.k8s.io/v1
kind
string
Event
level [Обовʼязково]
Level

Рівень аудиту, на якому була згенерована подія.

auditID [Обовʼязково]
k8s.io/apimachinery/pkg/types.UID

Унікальний ідентифікатор аудиту, згенерований для кожного запиту.

stage [Обовʼязково]
Stage

Стадія обробки запиту, коли був згенерований цей екземпляр події.

requestURI [Обовʼязково]
string

RequestURI — це URI запиту, який був надісланий клієнтом на сервер.

verb [Обовʼязково]
string

Verb — це дієслово Kubernetes, повʼязане із запитом. Для запитів без ресурсів це нижчий регістр HTTP-методу.

user [Обовʼязково]
authentication/v1.UserInfo

Інформація про автентифікованого користувача.

impersonatedUser
authentication/v1.UserInfo

Інформація про користувача, який діє від імені іншого користувача.

sourceIPs
[]string

IP-адреси джерела, звідки надійшов запит і проміжні проксі-сервери. IP-адреси джерела вказані у наступному порядку:

  1. IP-адреси заголовку запиту X-Forwarded-For
  2. Заголовок X-Real-Ip, якщо він не присутній у списку X-Forwarded-For
  3. Віддалена адреса для зʼєднання, якщо вона не відповідає останній IP-адресі у списку до цього (X-Forwarded-For або X-Real-Ip). Примітка: Усі, крім останнього IP, можуть бути довільно встановлені клієнтом.
userAgent
string

UserAgent записує рядок агента користувача, наданий клієнтом. Зазначте, що UserAgent надається клієнтом і не може бути довіреним.

objectRef
ObjectReference

Обʼєктне посилання на цей запит. Не застосовується для запитів типу Список або запитів без ресурсів.

responseStatus
meta/v1.Status

Статус відповіді, заповнений навіть коли ObjectReference не є типом Status. Для успішних відповідей це міститиме лише Code і StatusSuccess. Для не-статусних типів помилок відповідей це буде автоматично заповнено повідомленням про помилку.

requestObject
k8s.io/apimachinery/pkg/runtime.Unknown

Обʼєкт API із запиту у форматі JSON. RequestObject записується в тому вигляді, в якому він був у запиті (можливо, повторно закодований як JSON), до конвертації версій, стандартно, допуску або злиття. Це зовнішній обʼєкт типу версії, і він може бути недійсним обʼєктом самостійно. Опускається для запитів без ресурсів. Записується тільки на рівні Request та вище.

responseObject
k8s.io/apimachinery/pkg/runtime.Unknown

Обʼєкт API, що повертається у відповіді, у форматі JSON. ResponseObject записується після перетворення на зовнішній тип і серіалізується як JSON. Опускається для запитів без ресурсів. Записується тільки на рівні Response.

requestReceivedTimestamp
meta/v1.MicroTime

Час, коли запит досяг сервера API.

stageTimestamp
meta/v1.MicroTime

Час, коли запит досяг поточної стадії аудиту.

annotations
map[string]string

Анотації — це неструктуровані ключові значення, які зберігаються разом з подією аудиту і можуть бути встановлені втулками, викликаними в ланцюжку обслуговування запитів, включаючи втулки автентифікації, авторизації та допуску. Зазначте, що ці анотації призначені для події аудиту і не відповідають метаданим анотацій надісланого обʼєкта. Ключі повинні унікально ідентифікувати інформуючий компонент.

EventList

EventList містить події аудиту API.

ПолеОпис
apiVersion
string
audit.k8s.io/v1
kind
string
EventList
metadata
meta/v1.ListMeta

Метадані списку, такі як інформація про пагінацію.

items [Обовʼязково]
[]Event

Перелік подій аудиту.

Policy

Зʼявляється у:

Політика визначає конфігурацію журналювання аудиту та правила для того, як різні категорії запитів мають бути зареєстровані.

ПолеОпис
apiVersion
string
audit.k8s.io/v1
kind
string
Policy
metadata
meta/v1.ObjectMeta

ObjectMeta включено для забезпечення сумісності з API-інфраструктурою.

Зверніться до документації Kubernetes API для полів поля metadata.

rules [Обовʼязково]
[]PolicyRule

Правила визначають рівень аудиту, на якому має бути записаний запит.

Запит може відповідати кільком правилам, у такому випадку буде використано ПЕРШЕ відповідне правило.

Типово рівень аудиту — None, але може бути переважений універсальним правилом в кінці списку.

PolicyRules мають строго визначений порядок.

omitStages
[]Stage

OmitStages — це список етапів, для яких не створюються події. Зверніть увагу, що це також може бути вказано для кожного правила окремо, у такому випадку обʼєднання обох буде пропущено.

omitManagedFields
bool

OmitManagedFields вказує, чи слід пропускати керовані поля запитів та відповідей у журналі аудиту API.

Це використовується як глобальний стандарт — значення 'true' призведе до пропуску керованих полів, в іншому випадку керовані поля будуть включені до логу аудиту API.

Зверніть увагу, що це також може бути вказано для кожного правила окремо, у такому випадку значення, зазначене в правилі, переважить глобальний стандарт.

PolicyList

PolicyList — це список політик аудиту.

ПолеОпис
apiVersion
string
audit.k8s.io/v1
kind
string
PolicyList
metadata
meta/v1.ListMeta
Опис не надано.
items [Обовʼязково]
[]Policy
Опис не надано.

GroupResources

Зустрічається в:

GroupResources представляють типи ресурсів в API групі.

ПолеОпис
group
string

Група — це назва API групи, яка містить ресурси. Порожній рядок представляє основну API групу.

resources
[]string

Ресурси — це список ресурсів, до яких застосовується це правило.

Наприклад:

  • pods відповідає Podʼам.
  • pods/log відповідає субресурсу log Podʼів.
  • * відповідає всім ресурсам та їх субресурсам.
  • pods/* відповідає всім субресурсам Podʼів.
  • */scale відповідає всім субресурсам масштабу.

Якщо присутній підстановочний знак, правило перевірки забезпечить, що ресурси не перекриваються між собою.

Порожній список означає, що застосовуються всі ресурси та субресурси в цій API групі.

resourceNames
[]string

resourceNames — це список імен екземплярів ресурсів, які відповідають політиці. Використання цього поля вимагає, щоб Ресурси були вказані. Порожній список означає, що кожен екземпляр ресурсу відповідає.

Level

(Аліас string)

Зустрічається в:

Level визначає кількість інформації, що реєструється під час аудиту

ObjectReference

Зустрічається в:

ObjectReference містить достатньо інформації, щоб дозволити вам перевірити або змінити обʼєкт, на який посилається.

ПолеОпис
resource
string
Опис відсутній.
namespace
string
Опис відсутній.
name
string
Опис відсутній.
uid
k8s.io/apimachinery/pkg/types.UID
Опис відсутній.
apiGroup
string

APIGroup — це назва API групи, яка містить обʼєкт, на який посилаються. Порожній рядок представляє основну API групу.

apiVersion
string

APIVersion — це версія API групи, яка містить обʼєкт, на який посилаються.

resourceVersion
string
Опис відсутній.
subresource
string
Опис відсутній.

PolicyRule

Зʼявляється в:

PolicyRule зіставляє запити на основі метаданих з рівнем аудиту. Запити повинні відповідати правилам кожного поля (перетин правил).

ПолеОпис
level [Обовʼязково]
Level

Рівень, на якому записуються запити, що відповідають цьому правилу.

users
[]string

Користувачі (за автентифікованим імʼям користувача), до яких застосовується це правило. Порожній список означає всіх користувачів.

userGroups
[]string

Групи користувачів, до яких застосовується це правило. Користувач вважається відповідним, якщо він є членом будь-якої з UserGroups. Порожній список означає всі групи користувачів.

verbs
[]string

Дії, що відповідають цьому правилу. Порожній список означає всі дії.

resources
[]GroupResources

Ресурси, що відповідають цьому правилу. Порожній список означає всі види у всіх групах API.

namespaces
[]string

Простори імен, що відповідають цьому правилу. Порожній рядок "" відповідає ресурсам без простору імен. Порожній список означає всі простори імен.

nonResourceURLs
[]string

NonResourceURLs — це набір шляхів URL, які повинні бути аудійовані. * дозволені, але тільки як повний, кінцевий крок у шляху. Приклади:

  • /metrics — Записувати запити для метрик apiserver
  • /healthz* — Записувати всі перевірки стану
omitStages
[]Stage

OmitStages — це список стадій, для яких не створюються події. Зверніть увагу, що це також може бути зазначено для всієї політики, в такому випадку обʼєднання обох буде виключено. Порожній список означає, що обмеження не застосовуються.

omitManagedFields
bool

OmitManagedFields вказує, чи слід виключати керовані поля з тіла запиту та відповіді з логу аудиту API.

  • значення 'true' виключає керовані поля з логу аудиту API
  • значення 'false' вказує, що керовані поля повинні бути включені в логу аудиту API. Зверніть увагу, що значення, якщо зазначене, у цьому правилі буде переважати над глобальним стандартним значенням. Якщо значення не зазначено, то діє глобальне стандартне значення, вказане в Policy.OmitManagedFields.

Stage

(Аліас string)

Зʼявляється в:

Stage визначає стадії обробки запитів, на яких можуть створюватися події аудиту.

Змінено August 22, 2024 at 6:59 PM PST: upstream sync (b7f2b32b60)