Backup e restauração (BACK)

Os registros de auditoria de backup e restauração (BACK) no Google Distributed Cloud (GDC) com isolamento físico permitem rastrear operações de proteção de dados para clusters do Kubernetes e máquinas virtuais (VMs). Os registros de auditoria da API do modelo de recursos do Kubernetes (KRM, na sigla em inglês) registram a identidade do autor da chamada, o recurso personalizado de destino, a ação, o carimbo de data/hora e o status da resposta para planos de backup, backups, restaurações e repositórios de backup.

Origem do registro de auditoria

API KRM

Operações auditadas

Backup

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

"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"
}

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

BackupPlan

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

Restaurar

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

"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"]
}

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

RestorePlan

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

ManualBackupRequest

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

ManualRestoreRequest

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

DeleteBackupRequest

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

BackupRepository

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "root-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

BackupRepositoryManager

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-admin"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

VirtualMachineBackupPlan

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-system"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

VirtualMachineBackup

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-system"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

VirtualMachineRestore

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-system"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

MachineBackupPlanTemplate

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-system"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

VirtualMachineBackupRequest

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-system"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

VirtualMachineRestoreRequest

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-system"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

VirtualMachineDeleteBackupRequest

Campos na entrada de registro que contêm informações de auditoria
Metadados de auditoria Nome do campo de auditoria Valor
Identidade do usuário ou do serviço user

Por exemplo,

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

Objetivo

(Campos e valores que chamam a API)

objectRef

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

Ação

(Campos que contêm a operação realizada)

verb

"verb":"create"

Carimbo de data/hora do evento requestReceivedTimestamp

Por exemplo,

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

Origem da ação _gdch_cluster

Por exemplo,

"_gdch_cluster": "org-1-system"

Resultado responseStatus

Por exemplo,

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

Outros campos Não relevante Não relevante

Exemplo de registro

{
  "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"
}