Registos de auditoria do Kubernetes

Os componentes operacionais registam e recolhem registos de eventos do Kubernetes que contêm informações sobre alterações ao estado dos recursos nos clusters.

Representação 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

O tipo de objeto do Kubernetes que é gerado automaticamente em resposta a alterações com outros recursos. Por exemplo, "Event"

apiVersion

string

A versão do grupo de APIs que contém o objeto referenciado. Por exemplo, "audit.k8s.io/v1"

level

string

O nível de auditoria no qual o evento ocorreu. Por exemplo, "Metadata"

auditID

string

O valor de identificação de auditoria exclusivo, gerado para cada pedido. Por exemplo, "c5f48f91-d4da-4659-97eb-56bdbcd0817c"

stage

string

A fase do processamento do pedido quando a instância do evento foi gerada. Por exemplo, "RequestReceived"

requestURI

string

O URI de pedido que o cliente envia para um servidor. Por exemplo, "/apis/fleet.gpc.gke.io/v1alpha1/namespaces/gpc-system/fleets/root?fieldManager=kubectl-edit"

verb

string

O verbo Kubernetes associado ao pedido. Para pedidos não relacionados com recursos, este valor é o método HTTP em letras minúsculas. Por exemplo, "patch"

user

object

Informações sobre o nome de utilizador e os grupos do utilizador autenticado. Por exemplo,

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

sourceIPs

string array

Matriz de IPs de onde o pedido teve origem e todos os proxies intermédios. Os IPs de origem são apresentados na seguinte lista ordenada:

  1. IPs do cabeçalho do pedido X-Forwarded-For
  2. Cabeçalho X-Real-IP, se não estiver presente na lista X-Forwarded-For
  3. O endereço remoto da ligação, se não corresponder ao último IP na lista até aqui

Todos os IPs, exceto o último, podem ser definidos arbitrariamente pelo cliente. Por exemplo, ["10.200.0.3"]

userAgent

string

A string do agente do utilizador que o cliente comunica. Por exemplo, "kubectl/v1.19.4 (linux/amd64) kubernetes/d360454"

objectRef

object

Informações sobre a referência do objeto que o pedido segmenta. Por exemplo,

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

requestReceivedTimestamp

string

A hora em que o pedido chegou ao apiserver do Kubernetes. Por exemplo, "2022-05-05T05:38:57.155218Z"

stageTimestamp

string

A hora em que o pedido atingiu a fase de auditoria atual. Por exemplo, "2022-05-05T05:38:57.155218Z"

hostname

string

O nome do anfitrião do registo de auditoria. Por exemplo, "anthos-audit-logs-forwarder-2k4d9"