Gli audit log di Upper Networking (UNET) nell'appliance Google Distributed Cloud (GDC) con air gap ti consentono di monitorare le operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD) sulle policy di rete del progetto e sui bilanciatori del carico, nonché sui flussi di traffico dei nodi e dei workload. Gli audit log di Kubernetes e i dispositivi di rete avanzati registrano l'identità del chiamante o dell'origine, la risorsa di destinazione o la destinazione, l'azione, il timestamp e la disposizione nel cluster dell'infrastruttura dell'organizzazione e nel server API di gestione.
| Località del workload |
Archiviazione di file e a blocchi |
| Origine dell'audit log |
|
| Operazioni con audit |
|
Operazioni CRUD sulla policy di rete del progetto
Tipo di log: audit log del piano di gestione delle API KRM.
| Campi della voce di log che contengono informazioni di controllo | ||
|---|---|---|
| Metadati di controllo | Nome del campo di controllo | Valore |
| Identità utente o di servizio | user |
Ad esempio, "user": { "uid": "6e805ff0-3f8c-4073-b4e1-6a0582ff1263", "username": "system:serviceaccount:gpc-system:fleet-admin-controller", "extra": { "authentication.kubernetes.io/pod-uid": [ "45ce2b16-3584-448e-8caf-49cb299dfb55" ], "authentication.kubernetes.io/pod-name": [ "fleet-admin-controller-5b5d848876-764mt" ] }, "groups": [ "system:serviceaccounts", "system:serviceaccounts:gpc-system", "system:authenticated" ] } |
|
Destinazione (Campi e valori che chiamano l'API) |
requestURI |
|
|
Azione (Campi contenenti l'operazione eseguita) |
verb |
Ad esempio,
|
| Timestamp evento | requestReceivedTimestamp |
Ad esempio,
|
| Origine dell'azione | sourceIPs |
Ad esempio, "sourceIPs": [ "10.253.164.215" ] |
| Risultato | stage |
Ad esempio,
|
| Altri campi | Non applicabile | Non applicabile |
Log di esempio
{
"auditID": "ff8266f6-685f-4239-9ab8-c55083d575e0",
"responseStatus": {
"code": 200,
"metadata": {}
},
"level": "Metadata",
"requestURI": "/apis/networking.gdc.goog/v1alpha1/namespaces/platform-obs/projectnetworkpolicies/base-policy-allow-intra-project-traffic/status",
"user": {
"uid": "6e805ff0-3f8c-4073-b4e1-6a0582ff1263",
"username": "system:serviceaccount:gpc-system:fleet-admin-controller",
"extra": {
"authentication.kubernetes.io/pod-uid": [
"45ce2b16-3584-448e-8caf-49cb299dfb55"
],
"authentication.kubernetes.io/pod-name": [
"fleet-admin-controller-5b5d848876-764mt"
]
},
"groups": [
"system:serviceaccounts",
"system:serviceaccounts:gpc-system",
"system:authenticated"
]
},
"_gdch_cluster": "org-1-admin",
"objectRef": {
"resource": "projectnetworkpolicies",
"apiGroup": "networking.gdc.goog",
"name": "base-policy-allow-intra-project-traffic",
"apiVersion": "v1alpha1",
"namespace": "platform-obs",
"subresource": "status"
},
"verb": "patch",
"kind": "Event",
"_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-4267r",
"stage": "ResponseComplete",
"apiVersion": "audit.k8s.io/v1",
"requestReceivedTimestamp": "2022-12-09T04:21:55.497089Z",
"sourceIPs": [
"10.253.164.215"
],
"userAgent": "fleet-admin-cm/v0.0.0 (linux/amd64) kubernetes/$Format",
"stageTimestamp": "2022-12-09T04:21:55.505045Z",
"annotations": {
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"fleet-admin-controller\" of ClusterRole \"fleet-admin-controller\" to ServiceAccount \"fleet-admin-controller/gpc-system\"",
"authorization.k8s.io/decision": "allow"
},
"_gdch_service_name": "apiserver"
}
Operazioni CRUD sul bilanciatore del carico
Tipo di log: audit log del piano di gestione delle API KRM.
| Campi della voce di log che contengono informazioni di controllo | ||
|---|---|---|
| Metadati di controllo | Nome del campo di controllo | Valore |
| Identità utente o di servizio | user |
Ad esempio, "user": { "groups": [ "system:masters", "system:authenticated" ], "username": "kubernetes-admin" } |
|
Destinazione (Campi e valori che chiamano l'API) |
objectRef.resource |
"objectRef": { "resource": "services" } |
|
Azione (Campi contenenti l'operazione eseguita) |
verb |
Ad esempio,
|
| Timestamp evento | requestReceivedTimestamp |
Ad esempio,
|
| Origine dell'azione | sourceIPs |
Ad esempio, "sourceIPs": [ "10.200.0.5" ] |
| Risultato | stage |
Ad esempio,
|
| Altri campi | Non applicabile | Non applicabile |
Log di esempio
{
"apiVersion": "audit.k8s.io/v1",
"level": "Metadata",
"_gdch_cluster": "org-1-admin",
"auditID": "113e562b-0576-4b97-bc5f-168a60428f6d",
"user": {
"groups": [
"system:masters",
"system:authenticated"
],
"username": "kubernetes-admin"
},
"stageTimestamp": "2022-12-09T04:29:53.579903Z",
"sourceIPs": [
"10.200.0.5"
],
"responseStatus": {
"code": 200,
"metadata": {}
},
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": ""
},
"stage": "ResponseComplete",
"requestURI": "/api/v1/namespaces/harbor-system/services/harbor-harbor-harbor-core",
"_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-8kc9n",
"verb": "get",
"objectRef": {
"apiVersion": "v1",
"apiGroup": "UNKNOWN",
"resource": "services",
"namespace": "harbor-system",
"name": "harbor-harbor-harbor-core"
},
"userAgent": "root-admin-cm/v0.0.0 (linux/amd64) kubernetes/$Format",
"kind": "Event",
"requestReceivedTimestamp": "2022-12-09T04:29:53.577417Z",
"_gdch_service_name": "apiserver"
}
Log di flusso dei nodi per il cluster dell'infrastruttura dell'organizzazione e il server API di gestione
Tipo di log: piano dati.
| Campi della voce di log che contengono informazioni di controllo | ||
|---|---|---|
| Metadati di controllo | Nome del campo di controllo | Valore |
| Identità utente o di servizio | src |
Ad esempio, "src": { "pod_name": "konnectivity-agent-58fdb55d57-5h2gj", "workload_kind": "Deployment", "workload_name": "konnectivity-agent", "pod_namespace": "kube-system", "namespace": "kube-system" } |
|
Destinazione (Campi e valori che chiamano l'API) |
dest |
Ad esempio, "dest": { "node_name": "xwxwxwx-default-pool-16baec8f-zkjw", "workload_kind": "Node" } |
|
Azione (Campi contenenti l'operazione eseguita) |
Non applicabile | Non applicabile |
| Timestamp evento | timestamp |
Ad esempio,
|
| Origine dell'azione | src |
Ad esempio, "src": { "pod_name": "konnectivity-agent-58fdb55d57-5h2gj", "workload_kind": "Deployment", "workload_name": "konnectivity-agent", "pod_namespace": "kube-system", "namespace": "kube-system" } |
| Risultato | disposition |
Ad esempio,
|
| Altri campi | Non applicabile | Non applicabile |
Log di esempio
{
"connection": {
"src_ip": "10.4.0.7",
"dest_ip": "10.128.0.16",
"src_port": 52932,
"dest_port": 10250,
"protocol": "tcp",
"direction": "ingress"
},
"disposition": "allow",
"src": {
"pod_name": "konnectivity-agent-58fdb55d57-5h2gj",
"workload_kind": "Deployment",
"workload_name": "konnectivity-agent",
"pod_namespace": "kube-system",
"namespace": "kube-system"
},
"dest": {
"node_name": "xwxwxwx-default-pool-16baec8f-zkjw",
"workload_kind": "Node"
},
"count": 1,
"node_name": "xwxwxwx-default-pool-16baec8f-zkjw",
"timestamp": "2022-11-21T20:34:32.027881823Z"
}
Log di flusso dei workload per il cluster dell'infrastruttura dell'organizzazione e il server API di gestione
Tipo di log: piano dati.
| Campi della voce di log che contengono informazioni di controllo | ||
|---|---|---|
| Metadati di controllo | Nome del campo di controllo | Valore |
| Identità utente o di servizio | src |
Ad esempio, "src": { "instance": "10.4.0.1" } |
|
Destinazione (Campi e valori che chiamano l'API) |
dest |
Ad esempio, "dest": { "pod_name": "kube-dns-6d5d89dccb-5fjzs", "workload_kind": "Deployment", "workload_name": "kube-dns", "pod_namespace": "kube_system", "namespace": "kube-system" } |
|
Azione (Campi contenenti l'operazione eseguita) |
Non applicabile | Non applicabile |
| Timestamp evento | timestamp |
Ad esempio,
|
| Origine dell'azione | src |
Ad esempio, "src": { "instance": "10.4.0.1" } |
| Risultato | disposition |
Ad esempio,
|
| Altri campi | Non applicabile | Non applicabile |
Log di esempio
{
"connection": {
"src_ip": "10.4.0.1",
"dest_ip": "10.4.0.9",
"src_port": 46768,
"dest_port": 10054,
"protocol": "tcp",
"direction": "ingress"
},
"disposition": "allow",
"policies": [
{
"kind": "CiliumClusterwideNetworkPolicy",
"name": "allow-all"
}
],
"src": {
"instance": "10.4.0.1"
},
"dest": {
"pod_name": "kube-dns-6d5d89dccb-5fjzs",
"workload_kind": "Deployment",
"workload_name": "kube-dns",
"pod_namespace": "kube_system",
"namespace": "kube-system"
},
"count": 1,
"node_name": "xwxwxwx-default-pool-16baec8f-zkjw",
"timestamp": "2022-11-21T20:34:32.027881823Z"
}