Les journaux d'audit de Monitoring (MON) dans Google Distributed Cloud (GDC) air gap vous permettent de suivre l'exécution des requêtes PromQL, ainsi que les modifications de configuration des tableaux de bord et des alertes. Le journal d'audit d'observabilité et les journaux d'audit Kubernetes enregistrent les champs de métadonnées et les charges utiles JSON pour ces opérations du plan de données et du plan de contrôle.
| Source du journal d'audit | |
| Opérations auditées |
Exécuter des requêtes PromQL à l'aide de l'interface utilisateur de l'instance de surveillance
| Source du journal d'audit |
Serveur proxy |
| Type de journal |
Plan de données |
| Champs de l'entrée de journal contenant des informations d'audit | ||
|---|---|---|
| Métadonnées d'audit | Nom du champ d'audit | Valeur |
| Identité de l'utilisateur ou du service | user |
Par exemple, "user":{ "identity":"fop-cluster-admin@example.com", "issuer":"https://ais-core.org-1.zone1.google.gdch.test" } |
|
Cible (Champs et valeurs qui appellent l'API) |
resource |
Par exemple,
|
|
Action (Champs contenant l'opération effectuée) |
action |
Valeurs possibles :
|
| Code temporel de l'événement |
time
|
Par exemple,
|
| Source de l'action |
|
Par exemple, "sourceIPs":[ "10.253.166.214", "127.0.0.6" ], "_gdch_service_name":"grafana" |
| Résultat | response |
Par exemple,
|
| Autres champs | description |
La valeur description contient la requête complète. Pour en savoir plus, consultez l'exemple de journal. |
Exemple de journal
{
"resource":"/infra-obs/grafana/api/ds/query",
"response":"Successful: 200 OK",
"_gdch_service_tenant":"infra-obs",
"sourceIPs":[
"10.253.166.214",
"127.0.0.6"
],
"_gdch_namespace":"infra-obs-obs-system",
"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:107.0) Gecko/20100101 Firefox/107.0",
"time":"2022-12-05T14:39:15.713354008Z",
"auditID":"6bba5ff1-97d9-4bf8-92af-4f63049448cf",
"numBytesSent":1821,
"action":"QUERY",
"_gdch_service_name":"grafana",
"numBytesReceived":2827,
"description":"{
\"queries\":[{
\"refId\":\"A\",
\"expr\":\"{container=\\\"grafana-proxy-server\\\"},
\"queryType\":\"range\",
\"datasource\":{\"uid\":\"P982945308D3682D1\",\"type\":\"loki\"},
\"key\":\"Q-c63373da-dec2-49c3-aa6c-4e5ba07ec8de-0\",
\"editorMode\":\"builder\",
\"maxLines\":1000,
\"legendFormat\":\"\",
\"datasourceId\":2,
\"intervalMs\":1000,
\"maxDataPoints\":2493
}],
\"range\":{
\"from\":\"2022-12-05T13:39:15.461Z\",
\"to\":\"2022-12-05T14:39:15.461Z\",
\"raw\":{\"from\":\"now-1h\",\"to\":\"now\"}
},
\"from\":\"1670247555461\",
\"to\":\"1670251155461\"
}",
"user":{
"identity":"fop-cluster-admin@example.com",
"issuer":"https://ais-core.org-1.zone1.google.gdch.test"
},
"_gdch_cluster":"org-1-admin",
"_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-whltm"
}
Exécuter des requêtes PromQL à l'aide de l'API HTTP
| Source du journal d'audit |
Serveur proxy |
| Type de journal |
Plan de données |
| Champs de l'entrée de journal contenant des informations d'audit | ||
|---|---|---|
| Métadonnées d'audit | Nom du champ d'audit | Valeur |
| Identité de l'utilisateur ou du service | user |
Par exemple, "user":{ "issuer":"https://ais-core.org-1.zone1.google.gdch.test", "identity":"fop-cluster-admin@example.com" } |
|
Cible (Champs et valeurs qui appellent l'API) |
resource |
Par exemple,
|
|
Action (Champs contenant l'opération effectuée) |
action |
Valeurs possibles :
|
| Code temporel de l'événement |
time
|
Par exemple,
|
| Source de l'action |
|
Par exemple, "sourceIPs":[ "10.200.0.1", "127.0.0.6" ], "_gdch_service_name":"cortex" |
| Résultat | response |
Par exemple,
|
| Autres champs | Non applicable | Non applicable |
Exemple de journal
{
"user":{
"issuer":"https://ais-core.org-1.zone1.google.gdch.test",
"identity":"fop-cluster-admin@example.com"
},
"_gdch_service_tenant":"infra-obs",
"_gdch_service_name":"cortex",
"resource":"/alertmanager/api/v2/alerts/groups?silenced=false&inhibited=false&active=true",
"time":"2022-12-05T18:20:50.616925009Z",
"action":"READ",
"numBytesReceived":2376,
"sourceIPs":[
"10.200.0.1",
"127.0.0.6"
],
"_gdch_namespace":"obs-system",
"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:107.0) Gecko/20100101 Firefox/107.0",
"numBytesSent":173,
"auditID":"8451a7b3-77f9-4878-9308-641b55a83865",
"response":"Successful: 200 OK",
"_gdch_cluster":"org-1-admin",
"_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-2wqxp"
}
Effectuer des opérations CRUD sur un tableau de bord
| Source du journal d'audit | |
| Type de journal |
Plan de contrôle |
| Champs de l'entrée de journal contenant des informations d'audit | ||
|---|---|---|
| Métadonnées d'audit | Nom du champ d'audit | Valeur |
| Identité de l'utilisateur ou du service | user |
Par exemple, "user":{ "extra":{ "authentication.kubernetes.io/pod-name":["fleet-admin-controller-875778d98-dnkj2"], "authentication.kubernetes.io/pod-uid":["caa4df7a-ae04-458e-a616-1c6893ce6e46"] }, "username":"system:serviceaccount:gpc-system:fleet-admin-controller", "groups":[ "system:serviceaccounts", "system:serviceaccounts:gpc-system", "system:authenticated" ], "uid":"0b93d757-e3be-440a-b18a-4a2b524de156" } |
|
Cible (Champs et valeurs qui appellent l'API) |
|
Par exemple, "requestURI":"/apis/observability.gdc.goog/v1/namespaces/alice-obs-system/dashboards", "objectRef":{ "apiVersion":"v1", "apiGroup":"observability.gdc.goog", "resource":"dashboards", "namespace":"alice-obs-system" } |
|
Action (Champs contenant l'opération effectuée) |
verb |
Valeurs possibles :
|
| Code temporel de l'événement |
requestReceivedTimestamp
|
Par exemple,
|
| Source de l'action |
|
Par exemple, "sourceIPs":["10.253.166.100"], "_gdch_service_name":"apiserver" |
| Résultat | responseStatus |
Par exemple, "responseStatus":{ "code":201, "metadata":{} } |
| Autres champs | Non applicable | Non applicable |
Exemple de journal
{
"user":{
"extra":{
"authentication.kubernetes.io/pod-name":["fleet-admin-controller-875778d98-dnkj2"],
"authentication.kubernetes.io/pod-uid":["caa4df7a-ae04-458e-a616-1c6893ce6e46"]
},
"username":"system:serviceaccount:gpc-system:fleet-admin-controller",
"groups":[
"system:serviceaccounts",
"system:serviceaccounts:gpc-system",
"system:authenticated"
],
"uid":"0b93d757-e3be-440a-b18a-4a2b524de156"
},
"kind":"Event",
"_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-2wqxp",
"apiVersion":"audit.k8s.io/v1",
"_gdch_cluster":"org-1-admin",
"level":"Metadata",
"stageTimestamp":"2022-12-05T15:36:24.980257Z",
"auditID":"a060d80a-4a47-4490-a859-5d3ccff36d3d",
"requestReceivedTimestamp":"2022-12-05T15:36:24.980257Z",
"userAgent":"fleet-admin-cm/v0.0.0 (linux/amd64) kubernetes/$Format",
"stage":"RequestReceived",
"requestURI":"/apis/observability.gdc.goog/v1/namespaces/alice-obs-system/dashboards",
"objectRef":{
"apiVersion":"v1",
"apiGroup":"observability.gdc.goog",
"resource":"dashboards",
"namespace":"alice-obs-system"
},
"verb":"create",
"sourceIPs":["10.253.166.100"],
"_gdch_service_name":"apiserver"
}
Effectuer des opérations CRUD sur les alertes
| Source du journal d'audit | |
| Type de journal |
Plan de contrôle |
| Champs de l'entrée de journal contenant des informations d'audit | ||
|---|---|---|
| Métadonnées d'audit | Nom du champ d'audit | Valeur |
| Identité de l'utilisateur ou du service | user |
Par exemple, "user":{ "username":"kubernetes-admin", "groups":[ "system:masters", "system:authenticated" ] } |
|
Cible (Champs et valeurs qui appellent l'API) |
|
Par exemple, "requestURI":"/apis/monitoring.gdc.goog/v1/namespaces/alice/monitoringrules?fieldManager=kubectl-client-side-apply&fieldValidation=Strict", "objectRef":{ "apiVersion":"v1", "apiGroup":"monitoring.gdc.goog", "name":"obs-test-alert-sequel", "namespace":"alice", "resource":"monitoringrules" } |
|
Action (Champs contenant l'opération effectuée) |
verb |
Valeurs possibles :
|
| Code temporel de l'événement |
requestReceivedTimestamp
|
Par exemple,
|
| Source de l'action |
|
Par exemple, "sourceIPs":["10.200.0.6"], "_gdch_service_name":"apiserver" |
| Résultat | responseStatus |
Par exemple, "responseStatus":{ "code":201, "metadata":{} } |
| Autres champs | Non applicable | Non applicable |
Exemple de journal
{
"level":"Metadata",
"sourceIPs":[
"10.200.0.6"
],
"auditID":"753c3370-d3a5-4717-b84e-00fd56883fc4",
"requestURI":"/apis/monitoring.gdc.goog/v1/namespaces/alice/monitoringrules?fieldManager=kubectl-client-side-apply&fieldValidation=Strict",
"apiVersion":"audit.k8s.io/v1",
"_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-fgkth",
"user":{
"username":"kubernetes-admin",
"groups":[
"system:masters",
"system:authenticated"
]
},
"userAgent":"kubectl/v1.25.4 (linux/amd64) kubernetes/872a965",
"verb":"create",
"stage":"ResponseComplete",
"stageTimestamp":"2022-12-05T16:28:50.636050Z",
"_gdch_cluster":"org-1-admin",
"objectRef":{
"apiVersion":"v1",
"apiGroup":"monitoring.gdc.goog",
"name":"obs-test-alert-sequel",
"namespace":"alice",
"resource":"monitoringrules"
},
"responseStatus":{
"code":201,
"metadata":{}
},
"kind":"Event",
"annotations":{
"authorization.k8s.io/reason":"",
"authorization.k8s.io/decision":"allow"
},
"requestReceivedTimestamp":"2022-12-05T16:28:50.619659Z",
"_gdch_service_name":"apiserver"
}