백업 및 복원 (BACK)

Google Distributed Cloud(GDC) 에어 갭의 백업 및 복원(BACK) 감사 로그를 사용하면 Kubernetes 클러스터 및 가상 머신(VM)의 데이터 보호 작업을 추적할 수 있습니다. Kubernetes 리소스 모델(KRM) API 감사 로그는 백업 계획, 백업, 복원, 백업 저장소의 호출자 ID, 대상 커스텀 리소스, 작업, 타임스탬프, 응답 상태를 기록합니다.

감사 로그 소스

KRM API

감사 대상 작업

백업

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

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

"user": {
  "extra":{
    "authentication.kubernetes.io/pod-name": ["gpcbackup-controlplane-controller-8557fdb956-47zjb"],
    "authentication.kubernetes.io/pod-uid": ["f3aa711d-b09e-4863-90d6-3d6e7122f4a3"]
  },
  "username": "system:serviceaccount:gpc-backup-system:gpcbackup-controlplane-manager-sa",
  "groups": ["system:serviceaccounts","system:serviceaccounts:gpc-backup-system","system:authenticated"],"uid":"e77ab07e-a987-4ba3-ad7d-b3bf002125eb"
}

대상

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

objectRef

"objectRef": {
  "apiGroup":"backup.gdc.goog",
  "resource":"backups",
  "apiVersion":"v1",
  "name":"backup-test-2",
  "namespace":"default"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

BackupPlan

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"backup.gdc.goog",
  "resource":"backupplans",
  "apiVersion":"v1",
  "name":"backupplan-test-2",
  "namespace":"default"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

복원

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

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

"user": {
  "uid":"e77ab07e-a987-4ba3-ad7d-b3bf002125eb",
  "username":"system:serviceaccount:gpc-backup-system:gpcbackup-controlplane-manager-sa",
  "extra":{
    "authentication.kubernetes.io/pod-uid":["f3aa711d-b09e-4863-90d6-3d6e7122f4a3"],
    "authentication.kubernetes.io/pod-name":["gpcbackup-controlplane-controller-8557fdb956-47zjb"]
  },
  "groups":["system:serviceaccounts", "system:serviceaccounts:gpc-backup-system", "system:authenticated"]
}

대상

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

objectRef

"objectRef": {
  "apiGroup":"backup.gdc.goog",
  "apiVersion":"v1",
  "name":"restore-test-2",
  "resource":"restores",
  "namespace":"default"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

RestorePlan

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

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

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

대상

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

objectRef

"objectRef": {
  "namespace":"default",
  "apiGroup":"backup.gdc.goog",
  "resource":"restoreplans",
  "apiVersion":"v1",
  "name":"restoreplan-test-2"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

ManualBackupRequest

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

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

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

대상

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

objectRef

"objectRef": {
  "resource":"manualbackuprequests",
  "namespace":"default",
  "apiGroup":"backup.gdc.goog",
  "name":"manualbackuprequest-test-2",
  "apiVersion":"v1"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

ManualRestoreRequest

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

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

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

대상

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

objectRef

"objectRef": {
  "resource":"manualrestorerequests",
  "apiGroup":"backup.gdc.goog",
  "apiVersion":"v1",
  "name":"manualrestorerequest-test-2",
  "namespace":"default"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

DeleteBackupRequest

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"backup.gdc.goog",
  "resource":"deletebackuprequests",
  "apiVersion":"v1",
  "name":"deletebackuprequest-test-2",
  "namespace":"default"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

BackupRepository

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"backup.gdc.goog",
  "name":"default",
  "resource":"backuprepositories",
  "apiVersion":"v1"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "root-admin"

결과 responseStatus

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

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

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

BackupRepositoryManager

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

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

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

대상

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

objectRef

"objectRef": {
  "name":"default",
  "resource":"backuprepositorymanagers",
  "apiVersion":"v1",
  "apiGroup":"backup.gdc.goog"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-admin"

결과 responseStatus

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

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

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

VirtualMachineBackupPlan

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1",
  "name":"vmbpt-vm-vm",
  "namespace":"default",
  "resource":"virtualmachinebackupplans"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-system"

결과 responseStatus

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

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

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

VirtualMachineBackup

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1",
  "name":"vm-backup-test",
  "namespace":"default",
  "resource":"virtualmachinebackups"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-system"

결과 responseStatus

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

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

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

VirtualMachineRestore

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1",
  "name":"vm-restore-test",
  "namespace":"default",
  "resource":"virtualmachinerestores"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-system"

결과 responseStatus

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

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

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

MachineBackupPlanTemplate

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1",
  "name":"vmbpt",
  "namespace":"default",
  "resource":"virtualmachinebackupplantemplates"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-system"

결과 responseStatus

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

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

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

VirtualMachineBackupRequest

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1",
  "name":"vmbr-test",
  "namespace":"default",
  "resource":"virtualmachinebackuprequests"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-system"

결과 responseStatus

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

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

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

VirtualMachineRestoreRequest

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1",
  "name":"vmrr-test",
  "namespace":"default",
  "resource":"virtualmachinerestorerequests"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-system"

결과 responseStatus

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

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

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

VirtualMachineDeleteBackupRequest

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

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

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

대상

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

objectRef

"objectRef": {
  "apiGroup":"virtualmachine.gdc.goog",
  "apiVersion":"v1",
  "name":"vmdbr",
  "namespace":"default",
  "resource":"virtualmachinedeletebackuprequests"
}

작업

(수행된 작업이 포함된 필드)

verb

"verb":"create"

이벤트 타임스탬프 requestReceivedTimestamp

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

"requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z"

조치 소스 _gdch_cluster

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

"_gdch_cluster": "org-1-system"

결과 responseStatus

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

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

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

예시 로그

{
  "api_group": "backup.gdc.goog",
  "cluster": "root-admin",
  "fluentbit_pod": "anthos-audit-logs-forwarder-h89tv",
  "service_name": "apiserver",
  "Time": 1692629803549,
  "_gdch_cluster": "root-admin",
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-h89tv",
  "_gdch_org_id": "root.zone1.google.gdch.test",
  "_gdch_org_name": "root",
  "_gdch_service_name": "apiserver",
  "_gdch_tenant_id": "infra-obs",
  "annotations": {
    "authorization.k8s.io/decision":"allow","mutation.webhook.admission.k8s.io/round_0_index_2":"{\"configuration\":\"gatekeeper-mutating-webhook-configuration\",\"webhook\":\"mutation.gatekeeper.sh\",\"mutated\":false}","authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding \"gpcbackup-controlplane-manager-role\" of ClusterRole \"gpcbackup-controlplane-manager-role\" to ServiceAccount \"gpcbackup-controlplane-manager-sa/gpc-backup-system\""
  },
  "apiVersion": "audit.k8s.io/v1",
  "auditID": "856f47ac-f022-467f-82ea-55aa08d948e1",
  "kind": "Event",
  "level": "Metadata",
  "objectRef": {
    "apiGroup":"backup.gdc.goog",
    "resource":"backups",
    "apiVersion":"v1",
    "name":"backup-test-2",
    "namespace":"default"
  },
  "requestReceivedTimestamp": "2023-08-21T14:56:43.549191Z",
  "requestURI": "/apis/backup.gdc.goog/v1/namespaces/default/backups",
  "responseStatus": {
    "code":201,
    "metadata":{}
  },
  "sourceIPs": ["10.200.0.3"],
  "stage": "ResponseComplete",
  "stageTimestamp": "2023-08-21T14:56:43.560200Z",
  "tsNs": 1692629803549191000,
  "user": {
    "extra":{
      "authentication.kubernetes.io/pod-name":["gpcbackup-controlplane-controller-8557fdb956-47zjb"],
      "authentication.kubernetes.io/pod-uid":["f3aa711d-b09e-4863-90d6-3d6e7122f4a3"]
    },
    "username":"system:serviceaccount:gpc-backup-system:gpcbackup-controlplane-manager-sa",
    "groups":["system:serviceaccounts","system:serviceaccounts:gpc-backup-system","system:authenticated"],"uid":"e77ab07e-a987-4ba3-ad7d-b3bf002125eb"
  },
  "userAgent": "manager/v0.0.0 (linux/amd64) kubernetes/$Format",
  "verb": "create"
}