가상 머신 관리 (VMM)

워크로드 위치

조직 워크로드

감사 로그 소스

Kubernetes 감사 로그

감사 대상 작업

VM 만들기

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb": "create"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T21:16:11.086606Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-tzdxt",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\"",
    "mutation.webhook.admission.k8s.io/round_0_index_12": "{\"configuration\":\"gatekeeper-mutating-webhook-configuration\",\"webhook\":\"mutation.gatekeeper.sh\",\"mutated\":false}"
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "6b48ee52-baa4-47d1-9357-98d1bf7bee7e",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
  },
  "requestReceivedTimestamp": "2023-09-19T21:16:11.086606Z",
  "requestURI": "/apis/virtualmachine.gdc.goog/v1/namespaces/myusername-test/virtualmachines?fieldManager=kubectl-client-side-apply",
  "responseStatus": {
    "code": 201,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.6"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T21:16:11.097294Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb": "create"
}

VM 나열

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb": "list"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T21:37:40.632532Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-tzdxt",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "e848a3a1-da7e-4b74-8c12-f2af066dda55",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
  },
  "requestReceivedTimestamp": "2023-09-19T21:37:40.632532Z",
  "requestURI": "/apis/virtualmachine.gdc.goog/v1/namespaces/myusername-test/virtualmachines?limit=500",
  "responseStatus": {
    "code": 200,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.6"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T21:37:40.639807Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb": "list"
}

VM 업데이트

여기에는 시작/중지 작업이 포함됩니다. 다시 시작 작업도 서비스 계정에 의한 두 개의 업데이트 작업 (중지 및 시작)으로 표시됩니다.

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb": "patch"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T21:42:20.229318Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

"responseStatus": {
    "code": 415,
    "message": "the body of the request was in an unknown format - accepted media types include: application/json-patch+json, application/merge-patch+json, application/apply-patch+yaml",
    "metadata": {},
    "reason": "UnsupportedMediaType",
    "status": "Failure"
    }

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-rxgp7",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"vmm-controller\" of ClusterRole \"vmm-controller\" to ServiceAccount \"vmm-controller/vm-system\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "f094a667-adc8-46cf-9ce7-e0f534b792a9",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
  },
  "requestReceivedTimestamp": "2023-09-19T21:42:20.229318Z",
  "requestURI": "/apis/virtualmachine.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1",
  "responseStatus": {
    "code": 415,
    "message": "the body of the request was in an unknown format - accepted media types include: application/json-patch+json, application/merge-patch+json, application/apply-patch+yaml",
    "metadata": {},
    "reason": "UnsupportedMediaType",
    "status": "Failure"
  },
  "sourceIPs": [
    "10.201.64.17"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T21:42:20.230057Z",
  "user": {
    "extra": {
      "authentication.kubernetes.io/pod-name": [
        "vmm-controller-588b67d499-p7qzv"
      ],
      "authentication.kubernetes.io/pod-uid": [
        "b5bec7d9-d813-4c9d-a2c6-7c8b2ab7ae9c"
      ]
    },
    "groups": [
      "system:serviceaccounts",
      "system:serviceaccounts:vm-system",
      "system:authenticated"
    ],
    "uid": "24a689d1-aabb-4738-9576-eb3a56e5c3d4",
    "username": "system:serviceaccount:vm-system:vmm-controller"
  },
  "userAgent": "vmm-controller/v0.0.0 (linux/amd64) kubernetes/$Format",
  "verb": "patch"
}

VM 삭제

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

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

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb": "delete"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T20:58:25.165020Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-tzdxt",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": ""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "b487c3cf-3eda-4cc9-bb5f-1d9665038ee0",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines"
  },
  "requestReceivedTimestamp": "2023-09-19T20:58:25.165020Z",
  "requestURI": "/apis/virtualmachine.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1",
  "responseStatus": {
    "code": 200,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.6"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T20:58:25.181044Z",
  "user": {
    "groups": [
      "system:masters",
      "system:authenticated"
    ],
    "username": "kubernetes-admin"
  },
  "userAgent": "kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb": "delete"
}

VM 디스크 만들기

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1-boot-disk",
    "namespace": "myusername-test",
    "resource": "virtualmachinedisks"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb": "create"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T21:16:11.056904Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-tzdxt",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\"",
    "mutation.webhook.admission.k8s.io/round_0_index_12": "{\"configuration\":\"gatekeeper-mutating-webhook-configuration\",\"webhook\":\"mutation.gatekeeper.sh\",\"mutated\":false}"
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "b304923c-1df4-4184-bafd-40161210e85e",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1-boot-disk",
    "namespace": "myusername-test",
    "resource": "virtualmachinedisks"
  },
  "requestReceivedTimestamp": "2023-09-19T21:16:11.056904Z",
  "requestURI": "/apis/virtualmachine.gdc.goog/v1/namespaces/myusername-test/virtualmachinedisks?fieldManager=kubectl-client-side-apply",
  "responseStatus": {
    "code": 201,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.6"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T21:16:11.071123Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb": "create"
}

VM 디스크 나열

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "namespace": "myusername-test",
    "resource": "virtualmachinedisks"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb": "list"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T21:18:43.108931Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-l7p8r",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "3d71f7fd-11d0-4ed7-9d8c-a9bf9f61b46d",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachine.gdc.goog",
    "apiVersion": "v1",
    "namespace": "myusername-test",
    "resource": "virtualmachinedisks"
  },
  "requestReceivedTimestamp": "2023-09-19T21:18:43.108931Z",
  "requestURI": "/apis/virtualmachine.gdc.goog/v1/namespaces/myusername-test/virtualmachinedisks?limit=500",
  "responseStatus": {
    "code": 200,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.7"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T21:18:43.137015Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb": "list"
}

VM 디스크 삭제

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "namespace":"foo",
    "resource":"virtualmachinedisks",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"vm1-boot-disk",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"delete"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "namespace":"foo",
    "resource":"virtualmachinedisks",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1",
    "name":"vm1-boot-disk"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/namespaces/foo/virtualmachinedisks/vm1-boot-disk",
  "responseStatus":{
    "metadata":{},
    "code":200
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"delete"
}

VM 유형 나열

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"list"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by RoleBinding 'g-vm-admin-binding/foo' of Role 'g-vm-admin' to User 'fop-myname-test'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/virtualmachinetypes?limit=500",
  "responseStatus":{
    "metadata":{},
    "code":200
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"list"
}

VM 유형 만들기

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"test-type",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"create"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding 'g-pa-binding' of ClusterRole 'g-cluster' to User 'fop-myname-test'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"test-type",
    "apiVersion":"v1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/virtualmachinetypes?fieldManager=kubectl-client-side-apply",
  "responseStatus":{
    "metadata":{},
    "code":201
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"create"
}

VM 유형 삭제

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"test-type",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"delete"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding 'g-pa-binding' of ClusterRole 'g-cluster' to User 'fop-myname-test'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"test-type",
    "apiVersion":"v1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/virtualmachinetypes/test-type",
  "responseStatus":{
    "metadata":{},
    "code":200,
    "status":"Success"
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"delete"
}

VM 유형 업데이트

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"test-type",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"patch"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding 'g-pa-binding' of ClusterRole 'g-cluster' to User 'fop-myname-test'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "resource":"virtualmachinetypes",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"test-type",
    "apiVersion":"v1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/virtualmachinetypes/test-type?fieldManager=kubectl-client-side-apply",
  "responseStatus":{
    "metadata":{},
    "code":200
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"patch"
}

VM 액세스 요청 만들기

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineaccessrequests",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"create"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by RoleBinding 'g-vm-admin-binding/foo' of Role 'g-vm-admin' to User 'fop-myname-test'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineaccessrequests",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/namespaces/foo/virtualmachineaccessrequests?fieldManager=kubectl-create",
  "responseStatus":{
    "metadata":{},
    "code":201
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"create"
}

VM 액세스 요청 나열

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineaccessrequests",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"list"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by RoleBinding 'g-vm-admin-binding/foo' of Role 'g-vm-admin' to User 'fop-myname-test'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineaccessrequests",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/namespaces/foo/virtualmachineaccessrequests?limit=500",
  "responseStatus":{
    "metadata":{},
    "code":200
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"list"
}

VM 액세스 요청 삭제

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineaccessrequests",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"vm1-jdc9c",
    "apiVersion":"v1"
    }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"delete"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by RoleBinding 'g-vm-admin-binding/foo' of Role 'g-vm-admin' to User 'fop-myname-test'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineaccessrequests",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"vm1-jdc9c",
    "apiVersion":"v1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1/namespaces/foo/virtualmachineaccessrequests/vm1-jdc9c",
  "responseStatus":{
    "metadata":{},
    "code":200
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "fop-myname-test",
    "groups":[
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"delete"
}

VM 이미지 나열

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
  "username": "system:serviceaccount:gatekeeper-system:gatekeeper-admin",
  "uid":"225d02e7-ee06-42c9-a561-df1945d83224",
  "groups":[
    "system:serviceaccounts",
    "system:serviceaccounts:gatekeeper-system",
    "system: authenticated"
    ]
  }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
  "resource":"virtualmachineimage",
  "apiGroup":"virtualmachineview.gdc.goog",
  "apiVersion":"v1alpha1"
  }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"list"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "authorization.k8s.io/decision":"allow",
    "authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding 'gatekeeper-manager-rolebinding' of ClusterRole 'gatekeeper-manager-role' to ServiceAccount 'gatekeeper-admin/gatekeeper-system'"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "resource":"virtualmachineimage",
    "apiGroup":"virtualmachineview.gdc.goog",
    "apiVersion":"v1alpha1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachineview.gdc.goog/v1alpha1/virtualmachineimage?limit=500",
  "responseStatus":{
    "metadata":{},
    "code":200
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "system:serviceaccount:gatekeeper-system:gatekeeper-admin",
    "uid":"225d02e7-ee06-42c9-a561-df1945d83224",
    "groups":[
      "system:serviceaccounts",
      "system:serviceaccounts:gatekeeper-system",
      "system: authenticated"
      ]
    },
  "userAgent":"gatekeeper/v3.7.0 (linux/amd64) 3ba8e93/2021-11-15T20:59:44Z",
  "verb":"list"
}

VM 이미지 가져오기 만들기

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

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

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
  "namespace":"foo",
  "resource":"virtualmachineimageimports",
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1alpha1",
  "name":"import-1"
  }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"create"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "annotations":{
    "apiserver.latency.k8s.io/response-write":"1.476μs",
    "authorization.k8s.io/reason":"",
    "apiserver.latency.k8s.io/serialize-response-object":"71.971μs",
    "authorization.k8s.io/decision":"allow",
    "apiserver.latency.k8s.io/total":"7.405669466s",
    "apiserver.latency.k8s.io/validating-webhook":"7.395358418s",
    "apiserver.latency.k8s.io/transform-response-object":"2.358μs"
    },
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineimageimports",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1alpha1",
    "name":"import-1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1alpha1/namespaces/foo/virtualmachineimageimports?fieldManager=kubectl-client-side-apply",
  "responseStatus":{
    "metadata":{},
    "code":201
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "kubernetes-admin",
    "groups":[
      "system:masters",
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"create"
}

VM 이미지 가져오기 목록

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user":{
  "username": "system:serviceaccount:gatekeeper-system:gatekeeper-admin",
  "groups":[
    "system:serviceaccounts",
    "system:serviceaccounts:gatekeeper-system",
    "system: authenticated"
    ]
  }

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
  "resource":"virtualmachineimageimports",
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1alpha1"
  }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"list"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "resource":"virtualmachineimageimports",
    "apiGroup":"virtualmachine.gdc.goog",
    "apiVersion":"v1alpha1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1alpha1/virtualmachineimageimports?limit=500",
  "responseStatus":{
    "metadata":{},
    "code":201
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "system:serviceaccount:gatekeeper-system:gatekeeper-admin",
    "groups":[
      "system:serviceaccounts",
      "system:serviceaccounts:gatekeeper-system",
      "system: authenticated"
      ]
    },
  "userAgent":"gatekeeper/v3.7.0 (linux/amd64) 3ba8e93/2021-11-15T20:59:44Z",
  "verb":"list"
}

VM 이미지 가져오기 삭제

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

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

대상

(API를 호출하는 필드 및 값)

objectRef

예를 들면 다음과 같습니다.

"objectRef":{
  "namespace":"foo",
  "resource":"virtualmachineimageimports",
  "apiGroup":"virtualmachine.gdc.goog",
  "name":"import-1",
  "apiVersion":"v1alpha1"
  }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"delete"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster":"org-1-infra",
  "_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-8z2rm",
  "_gdch_service_name":"apiserver",
  "apiVersion":"audit.k8s.io/v1",
  "auditID":"ba0344d7-283f-4d79-aabc-e083al9b053a",
  "kind":"Event",
  "level":"Metadata",
  "objectRef":{
    "namespace":"foo",
    "resource":"virtualmachineimageimports",
    "apiGroup":"virtualmachine.gdc.goog",
    "name":"import-1",
    "apiVersion":"v1alpha1"
    },
  "requestReceivedTimestamp":"2022-11-11T22:02:02.034688Z",
  "requestURI":"/apis/virtualmachine.gdc.goog/v1alpha1/namespaces/foo/virtualmachineimageimports/import-1",
  "responseStatus":{
    "metadata":{},
    "code":200
    },
  "sourceIPs":["10.142.5.147"],
  "stage":"ResponseComplete",
  "stageTimestamp":"2022-11-11T22:02:02.045045Z",
  "tsNs":1668204122074601081,
  "user":{
    "username": "kubernetes-admin",
    "groups":[
      "system:masters",
      "system: authenticated"
      ]
    },
  "userAgent":"kubectl/v1.23.5 (linux/amd64) kubernetes/c285e78",
  "verb":"delete"
}

VM 시작

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

requestURI

형식은 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/namespace/virtualmachines/name/start"

여기서 namespacename는 타겟 객체를 식별합니다. 예를 들면 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/start"

이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-rxgp7",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "1446c6b9-f728-4f0d-9a70-aa8361749eef",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachineoperations.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines",
    "subresource": "start"
  },
  "requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z",
  "requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/start",
  "responseStatus": {
    "code": 202,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.5"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T22:27:26.929619Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "Go-http-client/2.0",
  "verb": "update"
}

VM 중지

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

requestURI

형식은 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/namespace/virtualmachines/name/stop"

여기서 namespacename는 타겟 객체를 식별합니다. 예를 들면 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/stop"

이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-rxgp7",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "1446c6b9-f728-4f0d-9a70-aa8361749eef",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachineoperations.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines",
    "subresource": "stop"
  },
  "requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z",
  "requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/stop",
  "responseStatus": {
    "code": 202,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.5"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T22:27:26.929619Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "Go-http-client/2.0",
  "verb": "update"
}

VM 다시 시작

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

requestURI

형식은 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/namespace/virtualmachines/name/restart"

여기서 namespacename는 타겟 객체를 식별합니다. 예를 들면 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/restart"

이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-rxgp7",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "1446c6b9-f728-4f0d-9a70-aa8361749eef",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachineoperations.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines",
    "subresource": "restart"
  },
  "requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z",
  "requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/restart",
  "responseStatus": {
    "code": 202,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.5"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T22:27:26.929619Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "Go-http-client/2.0",
  "verb": "update"
}

VM 일시중지

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

requestURI

형식은 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/namespace/virtualmachines/name/pause"

여기서 namespacename는 타겟 객체를 식별합니다. 예를 들면 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/pause"

이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-rxgp7",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "1446c6b9-f728-4f0d-9a70-aa8361749eef",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachineoperations.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines",
    "subresource": "pause"
  },
  "requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z",
  "requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/pause",
  "responseStatus": {
    "code": 202,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.5"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T22:27:26.929619Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "Go-http-client/2.0",
  "verb": "update"
}

VM 일시중지 해제

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
    }

대상

(API를 호출하는 필드 및 값)

requestURI

형식은 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/namespace/virtualmachines/name/unpause"

여기서 namespacename는 타겟 객체를 식별합니다. 예를 들면 다음과 같습니다.

"requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/unpause"

이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster": "org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-rxgp7",
  "_gdch_org_id": "org-1.zone1.google.gdch.test",
  "_gdch_org_name": "org-1",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"fop-myusername-vm-admin/myusername-test\" of Role \"project-vm-admin\" to User \"fop-myusername\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "1446c6b9-f728-4f0d-9a70-aa8361749eef",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup": "virtualmachineoperations.gdc.goog",
    "apiVersion": "v1",
    "name": "vm1",
    "namespace": "myusername-test",
    "resource": "virtualmachines",
    "subresource": "unpause"
  },
  "requestReceivedTimestamp": "2023-09-19T22:27:26.787243Z",
  "requestURI": "/apis/virtualmachineoperations.gdc.goog/v1/namespaces/myusername-test/virtualmachines/vm1/unpause",
  "responseStatus": {
    "code": 202,
    "metadata": {}
  },
  "sourceIPs": [
    "10.200.0.1",
    "10.200.0.5"
  ],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-09-19T22:27:26.929619Z",
  "user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-myusername"
  },
  "userAgent": "Go-http-client/2.0",
  "verb": "update"
}

IO의 긴급 액세스 작업 검토

인프라 운영자 (IO)는 이 문서에 설명된 모든 VMM 감사 작업을 수행할 권한이 있습니다. 모든 작업은 Kubernetes 감사 로그의 일부로 자동으로 감사 로깅됩니다.

감사 정보가 포함된 로그 항목의 필드
감사 메타데이터 감사 필드 이름
사용자 또는 서비스 ID user

예를 들면 다음과 같습니다.

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

대상

(API를 호출하는 필드 및 값)

objectRef

VM 관련 리소스의 objectRef.apiGroup에는 다음 패턴이 있습니다.

"virtualmachine.gdc.goog|.*kubevirt.*|.*cdi.*"

예를 들면 다음과 같습니다.

"objectRef": {
  "resource": "vmruntimes",
  "apiGroup": "vm.cluster.gke.io",
  "apiVersion": "v1"
  }

작업

(실행된 작업을 포함하는 필드)

verb "verb":"list"
이벤트 타임스탬프 requestReceivedTimestamp

예를 들면 다음과 같습니다.

"requestReceivedTimestamp":"2022-11-30T00:47:09.472822Z"

작업 소스 _gdch_cluster

예를 들면 다음과 같습니다.

"_gdch_cluster":"org-1-infra"

결과 responseStatus

예를 들면 다음과 같습니다.

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

기타 필드 해당 없음 해당 없음

예시 로그

{
  "_gdch_cluster": "org-1-infra",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-ztsnr",
  "responseStatus": {
    "code": 200,
    "metadata": {}
  },
  "kind": "Event",
  "stageTimestamp": "2022-11-30T00:47:09.475563Z",
  "annotations": {
    "authorization.k8s.io/decision": "allow",
    "authorization.k8s.io/reason": ""
  },
  "sourceIPs": [
    "10.200.1.109"
  ],
  "objectRef": {
    "resource": "vmruntimes",
    "apiGroup": "virtualmachine.private.gdc.goog",
    "apiVersion": "v1"
  },
  "apiVersion": "audit.k8s.io/v1",
  "verb": "list",
  "auditID": "fe338dca-f502-4fde-ba25-98bd29341a83",
  "level": "Metadata",
  "requestURI": "/apis/virtualmachine.private.gdc.goog/v1/vmruntimes",
  "user": {
    "groups": [
      "system:masters",
      "system:authenticated"
    ],
    "username": "kubernetes-admin"
  },
  "stage": "ResponseComplete",
  "requestReceivedTimestamp": "2022-11-30T00:47:09.472822Z",
  "userAgent": "operator/v0.0.0 (linux/amd64) kubernetes/$Format",
  "_gdch_service_name": "apiserver"
}