יומני הביקורת של Upper Networking (UNET) בציוד של Google Distributed Cloud (GDC) עם air gap מאפשרים לעקוב אחרי פעולות CRUD (יצירה, קריאה, עדכון ומחיקה) במדיניות הרשת של הפרויקט (PNP) ובמאזני העומסים, וגם אחרי תנועת הנתונים בצמתים ובעומסי העבודה. ביומני הביקורת של Kubernetes ובמכשירי רשת מתקדמים מתועדים הפרטים הבאים: זהות המתקשר או המקור, משאב היעד או היעד, הפעולה, חותמת הזמן וההחלטה באשכול התשתית של הארגון ובשרת ה-API לניהול.
| מיקום עומס העבודה |
אחסון קבצים ובלוקים (block storage) |
| מקור יומן הביקורת |
|
| פעולות מבוקרות |
|
פעולות CRUD במדיניות הרשת של הפרויקט (PNP)
סוג היומן: יומני ביקורת של מישור הניהול של KRM API.
| שדות ברשומה ביומן שמכילים מידע על הביקורת | ||
|---|---|---|
| מטא-נתונים של ביקורת | שם השדה ביומן הביקורת | ערך |
| זהות המשתמש או השירות | user |
לדוגמה, "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" ] } |
|
Target (שדות וערכים ששולחים קריאה ל-API) |
requestURI |
|
|
פעולה (שדות שמכילים את הפעולה שבוצעה) |
verb |
לדוגמה,
|
| חותמת הזמן של האירוע | requestReceivedTimestamp |
לדוגמה,
|
| מקור הפעולה | sourceIPs |
לדוגמה, "sourceIPs": [ "10.253.164.215" ] |
| תוצאה | stage |
לדוגמה,
|
| שדות אחרים | לא רלוונטי | לא רלוונטי |
יומן לדוגמה
{
"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"
}
פעולות CRUD במאזן העומסים
סוג היומן: יומני ביקורת של מישור הניהול של KRM API.
| שדות ברשומה ביומן שמכילים מידע על הביקורת | ||
|---|---|---|
| מטא-נתונים של ביקורת | שם השדה ביומן הביקורת | ערך |
| זהות המשתמש או השירות | user |
לדוגמה, "user": { "groups": [ "system:masters", "system:authenticated" ], "username": "kubernetes-admin" } |
|
Target (שדות וערכים ששולחים קריאה ל-API) |
objectRef.resource |
"objectRef": { "resource": "services" } |
|
פעולה (שדות שמכילים את הפעולה שבוצעה) |
verb |
לדוגמה,
|
| חותמת הזמן של האירוע | requestReceivedTimestamp |
לדוגמה,
|
| מקור הפעולה | sourceIPs |
לדוגמה, "sourceIPs": [ "10.200.0.5" ] |
| תוצאה | stage |
לדוגמה,
|
| שדות אחרים | לא רלוונטי | לא רלוונטי |
יומן לדוגמה
{
"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"
}
יומני תנועה של צומת לאשכול התשתית של הארגון ולשרת Management API
סוג היומן: מישור הנתונים.
| שדות ברשומה ביומן שמכילים מידע על הביקורת | ||
|---|---|---|
| מטא-נתונים של ביקורת | שם השדה ביומן הביקורת | ערך |
| זהות המשתמש או השירות | src |
לדוגמה, "src": { "pod_name": "konnectivity-agent-58fdb55d57-5h2gj", "workload_kind": "Deployment", "workload_name": "konnectivity-agent", "pod_namespace": "kube-system", "namespace": "kube-system" } |
|
Target (שדות וערכים ששולחים קריאה ל-API) |
dest |
לדוגמה, "dest": { "node_name": "xwxwxwx-default-pool-16baec8f-zkjw", "workload_kind": "Node" } |
|
פעולה (שדות שמכילים את הפעולה שבוצעה) |
לא רלוונטי | לא רלוונטי |
| חותמת הזמן של האירוע | timestamp |
לדוגמה,
|
| מקור הפעולה | src |
לדוגמה, "src": { "pod_name": "konnectivity-agent-58fdb55d57-5h2gj", "workload_kind": "Deployment", "workload_name": "konnectivity-agent", "pod_namespace": "kube-system", "namespace": "kube-system" } |
| תוצאה | disposition |
לדוגמה,
|
| שדות אחרים | לא רלוונטי | לא רלוונטי |
יומן לדוגמה
{
"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"
}
יומני תנועה של עומסי עבודה באשכול התשתית של הארגון ובשרת Management API
סוג היומן: מישור הנתונים.
| שדות ברשומה ביומן שמכילים מידע על הביקורת | ||
|---|---|---|
| מטא-נתונים של ביקורת | שם השדה ביומן הביקורת | ערך |
| זהות המשתמש או השירות | src |
לדוגמה, "src": { "instance": "10.4.0.1" } |
|
Target (שדות וערכים ששולחים קריאה ל-API) |
dest |
לדוגמה, "dest": { "pod_name": "kube-dns-6d5d89dccb-5fjzs", "workload_kind": "Deployment", "workload_name": "kube-dns", "pod_namespace": "kube_system", "namespace": "kube-system" } |
|
פעולה (שדות שמכילים את הפעולה שבוצעה) |
לא רלוונטי | לא רלוונטי |
| חותמת הזמן של האירוע | timestamp |
לדוגמה,
|
| מקור הפעולה | src |
לדוגמה, "src": { "instance": "10.4.0.1" } |
| תוצאה | disposition |
לדוגמה,
|
| שדות אחרים | לא רלוונטי | לא רלוונטי |
יומן לדוגמה
{
"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"
}