Les journaux d'audit de Key Management Service (KMS) dans Google Distributed Cloud (GDC) air gap vous permettent de suivre la gestion des clés du plan de contrôle et du plan de données, ainsi que les requêtes cryptographiques dans les charges de travail de l'organisation. Les journaux d'audit Kubernetes, les journaux d'accès Envoy de maillage de services et les journaux de serveur backend KMS enregistrent l'identité de l'utilisateur ou du service, la ressource cible, l'action et les champs de charge utile JSON pour les opérations du serveur d'API et du service cryptographique.
| Emplacement de la charge de travail |
Charges de travail réservées à l'organisation |
| Source du journal d'audit |
|
| Opérations auditées |
|
Serveur d'API
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":{ "groups":["system:authenticated"], "username":"fop-platform-admin@example.com" } |
|
Cible (Champs et valeurs qui appellent l'API) |
objectRef |
"objectRef":{ "resource":"aeadkeys", "apiGroup":"kms.gdc.goog", "apiVersion":"v1", "namespace":"kms-test1" } |
|
Action (Champs contenant l'opération effectuée) |
verb |
Par exemple,
|
| Code temporel de l'événement | requestReceivedTimestamp |
Par exemple,
|
| Source de l'action | sourceIPs |
Par exemple, "sourceIPs":[ "10.200.0.7" ] |
| Résultat | responseStatus |
Par exemple, "responseStatus": { "metadata": {}, "code": 200 } |
| Autres champs | Non applicable | Non applicable |
Exemple de journal
{
"user":{
"groups":["system:authenticated"],
"username":"fop-platform-admin@example.com"
},
"auditID":"bec33328-b4ba-431e-96a2-9bbb77666478",
"_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-wxw7t",
"stage":"RequestReceived",
"_gdch_cluster":"org-1-admin",
"userAgent":"kubectl/v1.25.4 (linux/amd64) kubernetes/872a965",
"kind":"Event",
"level":"Metadata",
"stageTimestamp":"2022-12-08T03:59:20.025703Z",
"requestReceivedTimestamp":"2022-12-08T03:59:20.025703Z",
"objectRef":{
"resource":"aeadkeys",
"apiGroup":"kms.gdc.goog",
"apiVersion":"v1",
"namespace":"kms-test1"
},
"sourceIPs":[
"10.200.0.7"
],
"apiVersion":"audit.k8s.io/v1",
"requestURI":"/apis/kms.gdc.goog/v1/namespaces/kms-test1/aeadkeys?fieldManager=kubectl-client-side-apply&fieldValidation=Strict",
"verb":"create",
"_gdch_service_name":"apiserver"
}
Istio
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 | username |
Par exemple,
|
|
Cible (Champs et valeurs qui appellent l'API) |
resource |
"resource":{ "node_name":"sidecar~10.253.166.144~kms-backend-84f5c4f4c7-ncl4d.kms-system~kms-system.svc.cluster.local", "cluster_name":"kms-backend.kms-system", "zone_name":"europe-west4-b", "log_name":"otel_envoy_accesslog" } |
|
Action (Champs contenant l'opération effectuée) |
path |
Par exemple,
|
| Code temporel de l'événement | start_time |
Par exemple,
|
| Source de l'action | x_forwarded_for |
Par exemple,
|
| Résultat | response_code |
Par exemple,
|
| Autres champs | Non applicable | Non applicable |
Exemple de journal
{
"response_code":"200",
"response_code_details":"via_upstream",
"response_flags":"-",
"route_name":"default",
"severity_number":0,
"severity_text":"",
"start_time":"2022-12-08T04:03:33.859Z",
"_gdch_service_name":"istio",
"upstream_host":"10.253.166.144:8080",
"upstream_local_address":"127.0.0.6:54383",
"user_agent":"grpc-go/1.49.0",
"_gdch_service_tenant":"platform-obs",
"username":"fop-platform-admin@example.com",
"x_envoy_upstream_service_time":"104",
"x_forwarded_for":"10.253.165.123",
"x_goog_api_client":"-",
"x_request_id":"c11cbf94-765d-440d-9d36-56654d93d834",
"authority":"kms.org-1.zone1.google.gdch.test",
"bytes_received":"32756",
"body":{},
"upstream_transport_failure_reason":"-",
"bytes_sent":"0",
"downstream_local_address":"10.253.166.144:8080",
"downstream_remote_address":"10.253.165.123:0",
"duration":"318",
"method":"POST",
"observed_time_unix_nano":0,
"protocol":"HTTP/2",
"requested_server_name":"outbound_.8080_._.kms-backend.kms-system.svc.cluster.local",
"_gdch_namespace":"istio-system",
"path":"/goog.gdc.kms.v1.CryptoOperationsService/Encrypt",
"connection_termination_details":"-",
"time_unix_nano":1670472213859570944,
"upstream_cluster":"inbound|8080||",
"resource":{
"node_name":"sidecar~10.253.166.144~kms-backend-84f5c4f4c7-ncl4d.kms-system~kms-system.svc.cluster.local",
"cluster_name":"kms-backend.kms-system",
"zone_name":"europe-west4-b",
"log_name":"otel_envoy_accesslog"
},
"_gdch_cluster":"org-1-admin",
"_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-cr9h7"
}
Serveur
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 | message.user.identity |
Par exemple,
|
|
Cible (Champs et valeurs qui appellent l'API) |
_gdch_service_name |
|
|
Action (Champs contenant l'opération effectuée) |
message.action |
Par exemple,
|
| Code temporel de l'événement | time |
Par exemple,
|
| Source de l'action | _gdch_cluster |
Par exemple,
|
| Résultat | message.response |
Par exemple,
|
| Autres champs | Le champ message.description contient le message de journal complet. |
Pour en savoir plus, consultez l'exemple de journal. |
Exemple de journal
{
"pri":"46",
"time":"2023-05-30T20:58:25Z",
"host":"kms-backend-9dd54b666-jfp5v",
"ident":"/kms_bin",
"pid":"1",
"msgid":"audit-log",
"extradata":"-",
"message":"{\"time\":\"2023-08-01T18:04:00.458810232Z\",\"auditID\":\"6f848640-8af1-4659-b9c9-a358d19bea5f\",\"user\":{\"identity\":\"fop-platform-admin@example.com\"},\"resource\":\"namespaces/testnamespace/aeadKeys/testcryptokey\",\"action\":\"/goog.gdc.kms.v1.CryptoOperationsService/Decrypt\",\"description\":\"{\"duration_ms\":202}\",\"userAgent\":\"grpc-go/1.55.0\",\"response\":\"OK\",\"_gdch_service\":\"kms\"}",
"_gdch_org_name":"org-1",
"_gdch_org_id":"org-1.zone1.google.gdch.test",
"_gdch_cluster":"org-1-admin",
"_gdch_fluentbit_pod":"anthos-audit-logs-forwarder-5lq2g",
"_gdch_service_name":"kms-backend",
"_gdch_tenant_id":"platform-obs"
}