Managed Kubernetes Service (MKS)

CRUD operations

CRUD operations include:

  • NodePoolClaim data
  • AddressPoolClaim data
  • SubnetClaim data
  • CIDRClaim data
  • Cluster data
  • NodePool data
  • MKS Cluster data

The following table contains an example for NodePoolClaim data (CRUD operations):

Fields in the log entry that contain audit information
Audit metadata Audit field name Value
User or service identity user

User performing the action:

user.username: system:serviceaccount:kube-system:anthos-cluster-operator-1.13.2

Full object snippet:

"user":{
  "username": "system:serviceaccount:kube-system:anthos-cluster-operator-1.13.2",
  "uid": "4ebfd4f7-f371-4c40-9f88-ea0709a7039e",
  "groups": [
    "system:serviceaccounts",
    "system:serviceaccounts:kube-system",
    "system:authenticated"
  ],
  "extra": {
     "authentication.kubernetes.io/pod-name": [
       "anthos-cluster-operator-1.13.2-bc6b7467d-22z88"
     ],
     "authentication.kubernetes.io/pod-uid": [
       "004e1b37-6d4d-4959-b77d-0e69dce5ef4a"
     ]
  }
}

Target

(KRM object being acted upon)

objectRef / requestURI

Specific object reference:

"objectRef": {
  "resource": "nodepoolclaims",
  "namespace": "org-1",
  "name": "admin-control-plane-node-pool",
  "apiGroup": "baremetal.cluster.gke.io",
  "apiVersion": "v1",
  "subresource": "status"
}

Request URI:

/apis/baremetal.cluster.gke.io/v1/namespaces/org-1/nodepoolclaims/admin-control-plane-node-pool/status

Action

(The CRUD operation performed)

verb

Operation performed: update

(Other possible values: get, create, apply, patch, delete, list, watch)

Event timestamp requestReceivedTimestamp

2022-11-23T23:19:42.690064Z

Source of action _gdch_cluster, sourceIPs

Cluster: root-admin

Source IP address: ["10.253.128.74"]

Outcome responseStatus, stage

Stage: ResponseComplete

Response Status:

"responseStatus": {
  "metadata": {},
  "code": 200
}

(Code 200 indicates success)

Other useful fields auditID, annotations, Search Filter

Audit ID: 0539ea3a-b858-4a43-b516-812fc7e80dbd

Annotations include authorization details.

Search Filter: {service_name="apiserver"} |= `"resource":"nodepoolclaims"`

Example log

{
  "responseStatus": {
    "metadata": {},
    "code": 200
  },
  "_gdch_cluster": "root-admin",
  "sourceIPs": [
    "10.253.128.74"
  ],
  "annotations": {
    "authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"operator-rolebinding-1.13.2\" of ClusterRole \"anthos-baremetal-operator-1.13.2\" to ServiceAccount \"anthos-cluster-operator-1.13.2/kube-system\"",
    "authorization.k8s.io/decision": "allow"
  },
  "requestReceivedTimestamp": "2022-11-23T23:19:42.690064Z",
  "stageTimestamp": "2022-11-23T23:19:42.695372Z",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-4hlmv",
  "apiVersion": "audit.k8s.io/v1",
  "level": "Metadata",
  "user": {
    "extra": {
      "authentication.kubernetes.io/pod-name": [
        "anthos-cluster-operator-1.13.2-bc6b7467d-22z88"
      ],
      "authentication.kubernetes.io/pod-uid": [
        "004e1b37-6d4d-4959-b77d-0e69dce5ef4a"
      ]
    },
    "groups": [
      "system:serviceaccounts",
      "system:serviceaccounts:kube-system",
      "system:authenticated"
    ],
    "username": "system:serviceaccount:kube-system:anthos-cluster-operator-1.13.2",
    "uid": "4ebfd4f7-f371-4c40-9f88-ea0709a7039e"
  },
  "stage": "ResponseComplete",
  "requestURI": "/apis/baremetal.cluster.gke.io/v1/namespaces/org-1/nodepoolclaims/admin-control-plane-node-pool/status",
  "kind": "Event",
  "objectRef": {
    "resource": "nodepoolclaims",
    "namespace": "org-1",
    "subresource": "status",
    "name": "admin-control-plane-node-pool",
    "apiVersion": "v1",
    "apiGroup": "baremetal.cluster.gke.io",
    "resourceVersion": "878163",
    "uid": "b2e1bec0-0f7c-4a57-869b-3fcb969ba7e2"
  },
  "verb": "update",
  "userAgent": "operator/v0.0.0 (linux/amd64) kubernetes/$Format",
  "auditID": "0539ea3a-b858-4a43-b516-812fc7e80dbd",
  "_gdch_service_name": "apiserver"
}