Journaux d'audit Kubernetes

Les composants opérationnels enregistrent et collectent les journaux d'événements Kubernetes qui contiennent des informations sur les changements d'état des ressources dans les clusters.

Représentation 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
}
Champs
kind

string

Type d'objet Kubernetes généré automatiquement en réponse aux modifications apportées à d'autres ressources. Par exemple : "Event"

apiVersion

string

Version du groupe d'API contenant l'objet référencé. Par exemple : "audit.k8s.io/v1"

level

string

Niveau d'audit auquel l'événement s'est produit. Par exemple : "Metadata"

auditID

string

Valeur d'identification unique de l'audit, générée pour chaque demande. Par exemple : "c5f48f91-d4da-4659-97eb-56bdbcd0817c"

stage

string

Étape du traitement de la requête lors de la génération de l'instance d'événement. Par exemple : "RequestReceived"

requestURI

string

URI de la requête que le client envoie à un serveur. Par exemple : "/apis/fleet.gpc.gke.io/v1alpha1/namespaces/gpc-system/fleets/root?fieldManager=kubectl-edit"

verb

string

Verbe Kubernetes associé à la requête. Pour les requêtes non liées à des ressources, cette valeur correspond à la méthode HTTP en minuscules. Par exemple : "patch"

user

object

Informations sur le nom d'utilisateur et les groupes de l'utilisateur authentifié. Par exemple,

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

sourceIPs

string array

Tableau des adresses IP d'où provient la requête et de tous les proxys intermédiaires. Les adresses IP sources sont présentées dans la liste ordonnée suivante :

  1. Adresses IP de l'en-tête de requête X-Forwarded-For
  2. En-tête X-Real-IP, s'il n'est pas présent dans la liste X-Forwarded-For
  3. Adresse distante de la connexion, si elle ne correspond pas à la dernière adresse IP de la liste jusqu'à présent

Toutes les adresses IP, à l'exception de la dernière, peuvent être définies de manière arbitraire par le client. Par exemple : ["10.200.0.3"]

userAgent

string

Chaîne de l'agent utilisateur signalée par le client. Par exemple : "kubectl/v1.19.4 (linux/amd64) kubernetes/d360454"

objectRef

object

Informations sur la référence d'objet ciblée par la requête. Par exemple,

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

requestReceivedTimestamp

string

Heure à laquelle la requête a atteint l'apiserver Kubernetes. Par exemple : "2022-05-05T05:38:57.155218Z"

stageTimestamp

string

Heure à laquelle la demande a atteint l'étape d'audit actuelle. Par exemple : "2022-05-05T05:38:57.155218Z"

hostname

string

Nom de l'hôte du journal d'audit. Par exemple : "anthos-audit-logs-forwarder-2k4d9"