Log audit Identity and Access Management (IAM) di Google Distributed Cloud (GDC) dengan air gap mencatat pertukaran kunci token, perubahan akses resource, dan peristiwa sesi pengguna. Entri log ini menggunakan Istio, Kubernetes Resource Model (KRM) API, dan skema GKE Identity Service kustom untuk menangkap metadata identitas, resource target, dan tindakan.
Pertukaran kunci untuk token STS
Skema log: Istio
| Kolom dalam entri log yang berisi informasi audit | ||
|---|---|---|
| Metadata audit | Nama kolom audit | Nilai |
| Identitas pengguna atau layanan | identity |
\"user\":{\"identity\":\"system:serviceaccount:iam-test:service-account\"} |
Target (Kolom dan nilai yang memanggil API) |
resource |
\"resource\":\"service-accounts.zone1.google.gdch.test\" |
Tindakan (Kolom yang berisi operasi yang dilakukan) |
Tidak berlaku | |
| Stempel waktu peristiwa | time |
"time": "2022-11-23T18:25:54Z" |
| Sumber tindakan | Tidak berlaku | |
| Hasil | Tidak berlaku | |
| Kolom lain | Tidak berlaku | |
Operasi CRUD log audit pada resource Kubernetes, termasuk pembuatan akun layanan, dan pengelolaan kontrol akses.
Skema log: KRM API
| Kolom dalam entri log yang berisi informasi audit | ||
|---|---|---|
| Metadata audit | Nama kolom audit | Nilai |
| Identitas pengguna atau layanan | user/username |
"user": { "groups": [ "system:authenticated" ], "username": "fop-platform-admin@example.com" } |
Target (Kolom dan nilai yang memanggil API) |
objectRef |
"objectRef": { "resource": "projectserviceaccounts", "apiGroup": "resourcemanager.gdc.goog", "name": "service-accountt", "apiVersion": "v1alpha1", "namespace": "iam-test" } |
Tindakan (Kolom yang berisi operasi yang dilakukan) |
verb |
"verb": "create" |
| Stempel waktu peristiwa | requestReceivedTimestamp |
"requestReceivedTimestamp": "2022-11-23T18:24:26.514173Z" |
| Sumber tindakan | sourceIPs |
"sourceIPs": [ "10.200.0.2" ] |
| Hasil | responseStatus |
"responseStatus": { "code": 201, "metadata": {} } |
| Kolom lain | annotations/authorization.k8s.io/reason |
"annotations": { "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"platform-admin-project-iam-admin/iam-test\" of Role \"project-iam-admin\" to User \"fop-platform-admin@example.com\"", "authorization.k8s.io/decision": "allow" } |
Log Audit saat pengguna logout
Skema log: Format AIS kustom.
| Kolom dalam entri log yang berisi informasi audit | ||
|---|---|---|
| Metadata audit | Nama kolom audit | Nilai |
| Identitas pengguna atau layanan | payload.user |
"payload": { "expirationTime": "2023-08-29T12:42:36.848454939+00:00", "groups": [], "id": "7a5bea7a-0821-45d8-b4a0-69f24d30ab3f", "issuer": "Google OIDC", "user": "test-user" } |
Target (Kolom dan nilai yang memanggil API) |
Tidak berlaku | |
Tindakan (Kolom yang berisi operasi yang dilakukan) |
operation |
"operation": "revoke" |
| Stempel waktu peristiwa | metadata.timestamp |
"timestamp": "2023-08-29T00:42:40.000544813+00:00" |
| Sumber tindakan | Tidak berlaku | |
| Hasil | Tidak berlaku | |
| Kolom lain | expirationTime |
"expirationTime": "2023-08-29T12:42:36.848454939+00:00" |
Log Audit saat pengguna login
Skema log: Format AIS kustom.
| Kolom dalam entri log yang berisi informasi audit | ||
|---|---|---|
| Metadata audit | Nama kolom audit | Nilai |
| Identitas pengguna atau layanan | payload.user |
"payload": { "expirationTime": "2023-08-29T05:22:13.350779831+00:00", "groups": [], "id": "dcb7c5d9-c171-4f5b-84b6-5c92bfffb0e0", "issuer": "Azure AD SAML", "user": "test-ais-e2e-saml@byoidcloudaccountgoogle.onmicrosoft.com" } |
Target (Kolom dan nilai yang memanggil API) |
Tidak berlaku | |
Tindakan (Kolom yang berisi operasi yang dilakukan) |
operation |
"operation": "create" |
| Stempel waktu peristiwa | metadata.timestamp |
"timestamp": "2023-08-28T17:22:13.351713088+00:00" |
| Sumber tindakan | Tidak berlaku | |
| Hasil | Tidak berlaku | |
| Kolom lain | expirationTime |
"expirationTime": "2023-08-29T05:22:13.350779831+00:00" |
Log Audit saat PA mencabut sesi untuk pengguna
Skema log: Format AIS kustom.
| Kolom dalam entri log yang berisi informasi audit | ||
|---|---|---|
| Metadata audit | Nama kolom audit | Nilai |
| Identitas pengguna atau layanan | payload.admin / payload.user |
"payload": { "admin": "test-user-1@gdch.com", "numSessionsAffected": 1, "peerWorkloadIdentity": "system:serviceaccount:anthos-identity-service:default", "peerWorkloadIdentityIssuer": "https://kubernetes.default.svc.cluster.local", "user": "test-user-2@gdch.com" } |
Target (Kolom dan nilai yang memanggil API) |
resource |
"resource": "session" |
Tindakan (Kolom yang berisi operasi yang dilakukan) |
operation |
"operation": "revoke" |
| Stempel waktu peristiwa | metadata.timestamp |
"timestamp": "2023-08-28T17:22:24.043644569+00:00" |
| Sumber tindakan | Tidak berlaku | |
| Hasil | Tidak berlaku | |
| Kolom lain | numSessionsAffected |
"numSessionsAffected": 1 |
Contoh log IAM
{
"pri": "46",
"_gdch_flbProcessedTimestamp": 1669227957.340494,
"_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-vk6vx",
"time": "2022-11-23T18:25:54Z",
"message": "{\"time\":\"2022-11-23T18:25:54.257503516Z\",\"auditID\":\"d1c33645-bed0-47dc-8180-06b752673109\",\"user\":{\"identity\":\"system:serviceaccount:iam-test:service-accountt\"},\"resource\":\"service-accounts.zone1.google.gdch.test\",\"description\":\"{\\\"keyID\\\":\\\"f9540561-84d5-4113-983f-fd8868501596\\\",\\\"expirationTime\\\":\\\"2022-11-24T06:25:53Z\\\"}\"}",
"ident": "/service-identity-server",
"pid": "1",
"msgid": "audit-log",
"extradata": "-",
"_gdch_cluster": "root-admin",
"host": "serviceidentity-sa-server-55544bd9f5-nwg8m",
"_gdch_service_name": "service-identity-audit-logs"
}