Kubernetes 監査ログ

Kubernetes は監査ログを収集して記録します。Kubernetes 監査では、クラスタ内の一連のアクションを記録したセキュリティ関連の履歴レコードが作成されます。

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
}
フィールド
kind

string

他のリソースの変更に応じて自動的に生成される Kubernetes オブジェクト タイプ。例: "Event"

apiVersion

string

参照されるオブジェクトを含む API グループのバージョン。例: "audit.k8s.io/v1"

level

string

イベントが発生した監査レベル。例: "Metadata"

auditID

string

各リクエストに対して生成される一意の監査識別値。例: "c5f48f91-d4da-4659-97eb-56bdbcd0817c"

stage

string

イベント インスタンスが生成されたときのリクエスト処理のステージ。例: "RequestReceived"

requestURI

string

クライアントがサーバーに送信するリクエスト URI。例: "/apis/fleet.gpc.gke.io/v1/namespaces/gpc-system/fleets/root?fieldManager=kubectl-edit"

verb

string

リクエストに関連付けられた Kubernetes 動詞。リソース以外のリクエストの場合、この値は小文字の HTTP メソッドです。

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

user

object

認証されたユーザーのユーザー名とグループに関する情報。次に例を示します。

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

sourceIPs

string array

リクエストの送信元とすべての中間プロキシの IP の配列。ソース IP は、次の順序付きリストで示されます。

  1. X-Forwarded-For リクエスト ヘッダーの IP
  2. X-Real-IP ヘッダー(X-Forwarded-For リストにない場合)
  3. 接続のリモート アドレス(リストの最後の IP アドレスと一致しない場合)

最後の IP 以外は、クライアントが任意に設定できます。例: ["10.200.0.3"]

userAgent

string

クライアントが報告するユーザー エージェント文字列。例: "kubectl/v1.19.4 (linux/amd64) kubernetes/d360454"

objectRef

object

リクエストのターゲットとなるオブジェクト参照に関する情報。次に例を示します。

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

requestReceivedTimestamp

string

リクエストが Kubernetes apiserver に到達した時刻。例: "2022-05-05T05:38:57.155218Z"

stageTimestamp

string

リクエストが現在の監査ステージに到達した時刻。例: "2022-05-05T05:38:57.155218Z"

hostname

string

監査ログホストの名前。例: "audit-logs-forwarder-2k4d9"