Datenformate
Zuletzt aktualisiert am
Der Telemetry Router ermöglicht die Weiterleitung standardisierter Telemetriedaten an verschiedene Ziele. Folgend werden die Datenstandards erläutert.
Audit Logs
Abschnitt betitelt „Audit Logs“Audit Logs sind sicherheitsrelevante Aufzeichnungen, die eine lückenlose und überprüfbare Historie aller Aktivitäten innerhalb der Cloud-Umgebung liefern. Audit Logs werden im OpenTelemetry Schema verarbeitet und weitergeleitet.
| Feldname | Erforderlich | Typ | Beschreibung | Beispiel |
|---|---|---|---|---|
Timestamp | JA | uint64 | Zeitpunkt, zu dem das Ereignis aufgetreten ist. | 1544712660300000000 |
Body | JA | string | Lesbare Nachricht für den Audit-Log-Eintrag. | ”Instance was created” |
SeverityText | JA | string | Textdarstellung des Schweregrads. Mögliche Werte: “TRACE”, “DEBUG”, “INFO”, “WARN”, “ERROR”, “FATAL" | "INFO” |
Attributes["service.name"] | JA | string | Der STACKIT-Service, der dem Audit-Log-Eintrag zugeordnet ist (im Stil der API-Kennung). | “secrets-manager” |
Attributes["service.instance.id"] | JA | string | Identifiziert die vom Ereignis betroffene Instanz. In der Regel die Instanz-ID oder der Name der Ressource. | ”141270e1-20ac-4c19-9ab8-5d12076def1c” |
Attributes["cloud.region"] | JA | string | Region, in der das Log entstanden ist. Mögliche Werte: “global”, “eu01”, “eu02”, ”…" | "eu01” |
Attributes["stackit.resource.type"] | JA | string | Typ des Bereichs (Space), in dem das Log entstanden ist. Mögliche Werte: “PROJECT”, “FOLDER”, “ORGANIZATION”, “SYSTEM”, … | ”PROJECT” |
Attributes["stackit.resource.id"] | JA | string | Identifiziert den Bereich (Space). Dies ist normalerweise die Projekt-/Ordner- oder Organisations-ID. | ”bc0ab21d-396b-4880-9678-71831bada614” |
Attributes["stackit.log.id"] | JA | string | Eindeutige Kennung für den Audit-Log-Eintrag. | ”1b84d181-857e-4a1c-99aa-7a2cbc08557a” |
Attributes["stackit.log.type"] | JA | string | Dieser Wert muss für Audit-Logs “AUDIT” sein. | ”AUDIT” |
Attributes["stackit.action"] | JA | string | Spezifische Aktion im x-stackit-authorization Muster (Beispiel: <product>.<target>.<verb>) | “secrets-manager.instance.create” |
Attributes["stackit.request.body"] | JA | string | Der vollständige, bereinigte (sanitized) Request-Payload. | {"key": "value"} |
Attributes["stackit.visibility"] | JA | enum | Die Sichtbarkeitsstufe der Quelle. Mögliche Werte: “PUBLIC”, “INTERNAL" | "PUBLIC” |
Attributes["stackit.initiator"] | JA | string | Identifiziert den verantwortlichen Akteur (User-ID oder “SYSTEM”). | “1472b021-f261-4bac-86cb-931a6759b7a2” |
Attributes["user_agent.original"] | NEIN | string | Name des Agents, der die HTTP-Anfrage erstellt hat. | ”curl/7.81.0” |
Attributes["http.request.method"] | NEIN | string | Vom Client verwendete HTTP-Methode. | ”POST” |
Attributes["client.address"] | NEIN | string | IP-Adresse des Clients. | ”0.0.0.0” |
Attributes["server.address"] | NEIN | string | Vom Client aufgerufener Hostname. | ”secrets-manager.api.eu01.stackit.cloud” |
Attributes["url.path"] | NEIN | string | Pfad, auf den der Client zugegriffen hat. | /v1/projects/<uuid>/instances |
Attributes["..."] | NEIN | any | Beliebige weitere Werte, die für den Kunden von Nutzen sind. | --- |
Beispiel als JSON:
{ "resourceLogs": [ { "resource": { "attributes": [] }, "scopeLogs": [ { "scope": { "name": "stackit-audit-provider" }, "logRecords": [ { "attributes": [ { "key": "stackit.resource.type", "value": { "stringValue": "PROJECT" } }, { "key": "cloud.provider", "value": { "stringValue": "stackit" } }, { "key": "service.name", "value": { "stringValue": "secrets-manager" } }, { "key": "stackit.resource.id", "value": { "stringValue": "bc0ab21d-396b-4880-9678-71831bada614" } }, { "key": "stackit.log.type", "value": { "stringValue": "AUDIT" } }, { "key": "stackit.log.id", "value": { "stringValue": "2aabe527-2cfa-40cf-a379-dafbf1825ffe" } }, { "key": "stackit.action", "value": { "stringValue": "secrets-manager.apikey.delete" } }, { "key": "stackit.visibility", "value": { "stringValue": "PUBLIC" } }, { "key": "stackit.initiator", "value": { "stringValue": "1472b021-f261-4bac-86cb-931a6759b7a2" } }, { "key": "service.instance.id", "value": { "stringValue": "550e8400-e29b-41d4-a716-446655440000" } }, { "key": "stackit.request.body", "value": { "stringValue": "{\"apikey_id\": \"key-9982\", \"reason\": \"rotation\"}" } }, { "key": "user_agent.original", "value": { "stringValue": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" } }, { "key": "http.request.method", "value": { "stringValue": "DELETE" } }, { "key": "url.path", "value": { "stringValue": "/v1/projects/bc0ab21d/apikeys/key-9982" } }, { "key": "client.address", "value": { "stringValue": "192.168.1.45" } }, { "key": "cloud.region", "value": { "stringValue": "eu01" } } ], "body": { "stringValue": "API Key 'key-9982' was successfully deleted by user." }, "observedTimeUnixNano": 1775575195000000000, "severityNumber": "SEVERITY_NUMBER_INFO", "severityText": "INFO", "timeUnixNano": 1775575194605756000 } ] } ] } ]}