Registros de auditoría de Kubernetes

Los componentes operativos registran y recogen registros de eventos de Kubernetes que contienen información sobre los cambios de estado de los recursos en los clústeres.

Representación JSON

{
  "kind": string,
  "apiVersion": string,
  "level": string,
  "auditID": string,
  "stage": string,
  "requestURI": string,
  "verb": string,
  "user": {
    object
  },
  "sourceIPs": [
    string array
  ],
  "userAgent": string,
  "objectRef": {
    object
  },
  "requestReceivedTimestamp": string,
  "stageTimestamp": string,
  "hostname": string
}
Campos
kind

string

El tipo de objeto de Kubernetes que se genera automáticamente en respuesta a los cambios en otros recursos. Por ejemplo, "Event"

apiVersion

string

Versión del grupo de APIs que contiene el objeto al que se hace referencia. Por ejemplo, "audit.k8s.io/v1"

level

string

Nivel de auditoría en el que se ha producido el evento. Por ejemplo, "Metadata"

auditID

string

Valor de identificación de auditoría único, generado para cada solicitud. Por ejemplo, "c5f48f91-d4da-4659-97eb-56bdbcd0817c"

stage

string

La fase de la gestión de solicitudes en la que se generó la instancia del evento. Por ejemplo, "RequestReceived"

requestURI

string

El URI de la solicitud que el cliente envía a un servidor. Por ejemplo, "/apis/fleet.gpc.gke.io/v1alpha1/namespaces/gpc-system/fleets/root?fieldManager=kubectl-edit"

verb

string

Verbo de Kubernetes asociado a la solicitud. En el caso de las solicitudes que no son de recursos, este valor es el método HTTP en minúsculas. Por ejemplo, "patch"

user

object

Información sobre el nombre de usuario y los grupos del usuario autenticado. Por ejemplo,

{
  "username": "kubernetes-admin",
  "groups": [
    "system:masters",
    "system:authenticated"
  ]
}

sourceIPs

string array

Matriz de IPs desde donde se originó la solicitud y todos los proxies intermedios. Las IPs de origen se presentan en la siguiente lista ordenada:

  1. IPs del encabezado de solicitud X-Forwarded-For
  2. Encabezado X-Real-IP, si no está presente en la lista X-Forwarded-For.
  3. La dirección remota de la conexión, si no coincide con la última IP de la lista hasta este punto.

El cliente puede definir todas las IPs menos la última de forma arbitraria. Por ejemplo, ["10.200.0.3"]

userAgent

string

La cadena user-agent que informa el cliente. Por ejemplo, "kubectl/v1.19.4 (linux/amd64) kubernetes/d360454"

objectRef

object

Información sobre la referencia del objeto al que se dirige la solicitud. Por ejemplo,

{
  "resource": "fleets",
  "namespace": "gpc-system",
  "name": "root",
  "apiGroup": "fleet.gpc.gke.io",
  "apiVersion": "v1alpha1"
}

requestReceivedTimestamp

string

Hora en la que la solicitud llegó al servidor de la API de Kubernetes. Por ejemplo, "2022-05-05T05:38:57.155218Z"

stageTimestamp

string

Hora en la que la solicitud llegó a la fase de auditoría actual. Por ejemplo, "2022-05-05T05:38:57.155218Z"

hostname

string

Nombre del host del registro de auditoría. Por ejemplo, "anthos-audit-logs-forwarder-2k4d9"