Registros de auditoria do Kubernetes

O Kubernetes coleta e registra registros de auditoria. A auditoria do Kubernetes fornece um conjunto de registros cronológicos relevantes para a segurança que documentam a sequência de ações em um cluster.

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 gerado automaticamente em resposta a mudanças 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 em que o evento ocorreu. Por exemplo, "Metadata".

auditID

string

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

stage

string

O estágio do processamento da solicitação quando a instância do evento foi gerada. Por exemplo, "RequestReceived".

requestURI

string

O URI de solicitação que o cliente envia a um servidor. Por exemplo, "/apis/fleet.gpc.gke.io/v1/namespaces/gpc-system/fleets/root?fieldManager=kubectl-edit".

verb

string

O verbo do Kubernetes associado à solicitação. Para solicitações que não são de recursos, esse valor é o método HTTP em letras minúsculas.

  • "verb": "create"
  • "verb": "delete"
  • "verb": "get"
  • "verb": "list"
  • "verb": "patch"
  • "verb": "update"
  • "verb": "watch"

user

object

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

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

sourceIPs

string array

Matriz de IPs de onde a solicitação foi originada e todos os proxies intermediários. Os IPs de origem são apresentados na seguinte lista ordenada:

  1. IPs de cabeçalho de solicitação 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 conexão, se não corresponder ao último IP da 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 de user agent que o cliente informa. Por exemplo, "kubectl/v1.19.4 (linux/amd64) kubernetes/d360454".

objectRef

object

Informações sobre a referência de objeto a que a solicitação se destina. Por exemplo,

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

requestReceivedTimestamp

string

O momento em que a solicitação chegou ao apiserver do Kubernetes. Por exemplo, "2022-05-05T05:38:57.155218Z".

stageTimestamp

string

O momento em que a solicitação chegou ao estágio atual de auditoria. Por exemplo, "2022-05-05T05:38:57.155218Z".

hostname

string

O nome do host do registro de auditoria. Por exemplo, "audit-logs-forwarder-2k4d9".