Log audit Kubernetes

Kubernetes mengumpulkan dan mencatat log audit. Audit Kubernetes menyediakan serangkaian catatan kronologis yang relevan dengan keamanan dan mendokumentasikan urutan tindakan dalam cluster.

Representasi 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
}
Kolom
kind

string

Jenis objek Kubernetes yang dibuat secara otomatis sebagai respons terhadap perubahan dengan resource lain. Contoh, "Event"

apiVersion

string

Versi grup API yang berisi objek yang dirujuk. Contoh, "audit.k8s.io/v1"

level

string

Tingkat audit saat peristiwa terjadi. Contoh, "Metadata"

auditID

string

Nilai identifikasi audit unik, yang dibuat untuk setiap permintaan. Contoh, "c5f48f91-d4da-4659-97eb-56bdbcd0817c"

stage

string

Tahap penanganan permintaan saat instance peristiwa dibuat. Contoh, "RequestReceived"

requestURI

string

URI permintaan yang dikirim klien ke server. Contoh, "/apis/fleet.gpc.gke.io/v1/namespaces/gpc-system/fleets/root?fieldManager=kubectl-edit"

verb

string

Kata kerja Kubernetes yang terkait dengan permintaan. Untuk permintaan non-resource, nilai ini adalah metode HTTP huruf kecil.

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

user

object

Informasi tentang nama pengguna dan grup pengguna terautentikasi. Misalnya,

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

sourceIPs

string array

Array IP dari tempat permintaan berasal dan semua proxy perantara. IP sumber ditampilkan dalam daftar berurutan berikut:

  1. IP header permintaan X-Forwarded-For
  2. Header X-Real-IP, jika tidak ada dalam daftar X-Forwarded-For
  3. Alamat jarak jauh untuk koneksi, jika tidak cocok dengan IP terakhir dalam daftar hingga di sini

Semua IP, kecuali IP terakhir, dapat ditetapkan secara arbitrer oleh klien. Contoh, ["10.200.0.3"]

userAgent

string

String agen pengguna yang dilaporkan klien. Contoh, "kubectl/v1.19.4 (linux/amd64) kubernetes/d360454"

objectRef

object

Informasi tentang referensi objek yang ditargetkan permintaan. Misalnya,

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

requestReceivedTimestamp

string

Waktu saat permintaan mencapai apiserver Kubernetes. Contoh, "2022-05-05T05:38:57.155218Z"

stageTimestamp

string

Waktu saat permintaan mencapai tahap audit saat ini. Contoh, "2022-05-05T05:38:57.155218Z"

hostname

string

Nama host log audit. Contoh, "audit-logs-forwarder-2k4d9"