Inhalt eines Auditlogereignisses

Beschreibt den Inhalt eines Auditlogereignisses.

Nachfolgend wird der Inhalt eines Auditlogereignisses erläutert. Jedes Auditlogereignis umfasst zwei Hauptteile:

  • Envelopes, die als Container für alle Ereignisnachrichten fungieren
  • Payloads, die Daten aus der Ressource enthalten, die die Ereignisnachricht ausgibt

Ressourcen-IDs

Die meisten Oracle Cloud Infrastructure-Ressourcentypen verfügen über eine eindeutige, von Oracle zugewiesene ID, die als Oracle Cloud-ID (OCID) bezeichnet wird. Informationen zum OCID-Format und zu anderen Möglichkeiten zur Identifizierung der Ressourcen finden Sie unter Ressourcen-IDs.

Ereignis-Envelope

Diese Attribute für einen Ereignis-Envelope sind für alle Ereignisse identisch. Die Struktur des Envelopes folgt dem branchenüblichen CloudEvents-Format, das von der Cloud Native Computing Foundation (CNCF) gehostet wird.

Eigenschaft Beschreibung
cloudEventsVersion

Die Version der CloudEvents-Spezifikation.

Hinweis: Audit verwendet die Spezifikation der Version 0.1 für den Ereignis-Envelope CloudEvents.

contentType Setzen Sie die Eigenschaft auf application/json. Der Inhaltstyp der Daten, die im Attribut data enthalten sind.
data Die Payload des Ereignisses. Die Informationen in data stammen aus der Ressource, die das Ereignis ausgibt.
eventID

Die UUID des Ereignisses. Diese ID ist keine OCID, sondern nur eine eindeutige ID für das Ereignis.

eventTime Die Uhrzeit des Ereignisses, ausgedrückt im RFC 3339-Zeitstempelformat.
eventType

Der Typ des aufgetretenen Ereignisses.

Hinweis: Der Service, der das Ereignis erzeugt, kann Felder auch hinzufügen, entfernen oder ändern. Ein Service, der derartige Typänderungen vornimmt, veröffentlicht eine neue Version von eventType und ändert das Feld eventTypeVersion.

eventTypeVersion

Die Version des Ereignistyps. Diese Version gilt für die Payload des Ereignisses, nicht für den Envelope. Mit cloudEventsVersion können Sie die Version des Envelopes bestimmen.

source Die Ressource, die das Ereignis erzeugt hat. Beispiel: Ein Autonomous Database- oder Object Storage-Bucket.

Payload

Die Daten in diesen Feldern hängen davon ab, welcher Service das Ereignislog erzeugt hat und welcher Ereignistyp definiert wird.

Daten

Das Datenobjekt enthält die folgenden Attribute.

Eigenschaft Beschreibung
data.additionalDetails Ein Containerobjekt für Attribute, die nur für die Ressource gelten, die das Ereignis ausgibt.
data.availabilityDomain Die Availability-Domain, in der die Ressource gespeichert ist.
data.compartmentId Die OCID des Compartments der Ressource, die das Ereignis ausgibt.
data.compartmentName Der Name des Compartments der Ressource, die das Ereignis ausgibt.
data.definedTags Definierte Tags, die der Ressource hinzugefügt werden, die das Ereignis ausgibt.
data.eventGroupingId

Dieser Wert verknüpft mehrere Auditereignisse, die zum selben API-Vorgang gehören. Beispiel: Ein API-Vorgang mit langer Ausführungszeit, der ein Ereignis am Anfang und am Ende des Vorgangs ausgibt.

data.eventName

Name des API-Vorgangs, der dieses Ereignis generiert hat.

Beispiel: LaunchInstance

data.freeformTags Freiformtags, die der Ressource hinzugefügt werden, die das Ereignis ausgibt.
data.identity Ein Containerobjekt für Identitätsattribute. Siehe Identität.
data.request Ein Containerobjekt für Anforderungsattribute. Siehe Anforderung.
data.resourceId Eine OCID oder eine ID für die Ressource, die das Ereignis ausgibt.
data.resourceName Der Name der Ressource, die das Ereignis ausgibt.
data.response Ein Containerobjekt für Antwortattribute. Siehe Antwort.
data.stateChange Ein Containerobjekt für Statusänderungsattribute. Siehe Statusänderung.

Identität

Das Identitätsobjekt enthält die folgenden Attribute.

Eigenschaft Beschreibung
data.identity.authType Der Typ der verwendeten Authentifizierung.
data.identity.callerId Die OCID des Aufrufers. Dies ist der Aufrufer, der eine Anforderung im Namen des Principals ausgeführt hat.
data.identity.callerName Der Name des Benutzers oder Service, der die Anforderung ausgibt. Dies ist der mit callerId verknüpfte benutzerfreundliche Name.
data.identity.consoleSessionId Dieser Wert gibt eine Konsolensession an, die mit dieser Anforderung verknüpft ist.
data.identity.credentials Die Zugangsdaten-ID des Benutzers.
data.identity.ipAddress Die IP-Adresse der Anforderungsquelle.
data.identity.principalId Die OCID des Principals.
data.identity.principalName Der Name des Benutzers oder des Service. Dieser Wert ist der benutzerfreundliche Name, der mit principalId verknüpft ist.
data.identity.tenantId Die OCID des Mandanten.
data.identity.userAgent Der Benutzer-Agent des Clients, der die Anforderung gestellt hat.

Anforderung

Das Anforderungsobjekt enthält die folgenden Attribute.

Eigenschaft Beschreibung
data.request.action

Die HTTP-Methode der Anforderung.

Beispiel: GET

data.request.headers Die HTTP-Headerfelder und -werte in der Anforderung.
data.request.id Die eindeutige ID einer Anforderung.
data.request.parameters Alle Parameter, die von dem Aufrufer während dieses Vorgangs angegeben wurden.
data.request.path

Der vollständige Pfad der API-Anforderung.

Beispiel: /20160918/instances/ocid1.instance.oc1.phx.<unique_ID>

Antwort

Das Antwortobjekt enthält die folgenden Attribute.

Eigenschaft Beschreibung
data.response.headers Die Header der Antwort.
data.response.message Eine benutzerfreundliche Beschreibung dessen, was während des Vorgangs geschehen ist.
data.response.payload Dieser Wert ist aus Gründen der Abwärtskompatibilität mit dem Schema der Version 1 von Audit enthalten und enthält die relevanten Metadaten aus der Antwort-Payload.
data.response.responseTime Die Uhrzeit der Antwort auf die auditierte Anforderung, ausgedrückt im RFC 3339-Zeitstempelformat.
data.response.status Der Statuscode der Antwort.

Statusänderung

Das Statusänderungsobjekt enthält die folgenden Attribute.

Eigenschaft Beschreibung
data.stateChange.current Gibt den aktuellen Status von Feldern an, die sich während eines Vorgangs geändert haben können. Vergleichen Sie die Informationen in diesem Attribut mit data.stateChange.previous, um herauszufinden, wie eine Ressource durch den aktuellen Vorgang geändert wurde.
data.stateChange.previous Gibt den vorherigen Status von Feldern an, die sich während eines Vorgangs geändert haben können. Vergleichen Sie die Informationen in diesem Attribut mit data.stateChange.current, um herauszufinden, wie eine Ressource durch den aktuellen Vorgang geändert wurde.

Beispiel für ein Auditlog

Im Folgenden finden Sie ein Beispiel für ein Ereignis, das vom Audit-Service aufgezeichnet wurde.

{
	"eventType": "com.oraclecloud.ComputeApi.GetInstance",
	"cloudEventsVersion": "0.1",
	"eventTypeVersion": "2.0",
	"source": "ComputeApi",
	"eventId": "<unique_ID>",
	"eventTime": "2019-09-18T00:10:59.252Z",
	"contentType": "application/json",
	"data": {
		"eventGroupingId": null,
		"eventName": "GetInstance",
		"compartmentId": "ocid1.tenancy.oc1..<unique_ID>",
		"compartmentName": "compartmentA",
		"resourceName": "my_instance",
		"resourceId": "ocid1.instance.oc1.phx.<unique_ID>",
		"availabilityDomain": "<availability_domain>",
		"freeformTags": null,
		"definedTags": null,
		"identity": {
			"principalName": "ExampleName",
			"principalId": "ocid1.user.oc1..<unique_ID>",
			"authType": "natv",
			"callerName": null,
			"callerId": null,
			"tenantId": "ocid1.tenancy.oc1..<unique_ID>",
			"ipAddress": "172.24.80.88",
			"credentials": null,
			"userAgent": "Jersey/2.23 (HttpUrlConnection 1.8.0_212)",
			"consoleSessionId": null
		},
		"request": {
			"id": "<unique_ID>",
			"path": "/20160918/instances/ocid1.instance.oc1.phx.<unique_ID>",
			"action": "GET",
			"parameters": {},
			"headers": {
				"opc-principal": [
					"{\"tenantId\":\"ocid1.tenancy.oc1..<unique_ID>\",\"subjectId\":\"ocid1.user.oc1..<unique_ID>\",\"claims\":[{\"key\":\"pstype\",\"value\":\"natv\",\"issuer\":\"authService.oracle.com\"},{\"key\":\"h_host\",\"value\":\"iaas.r2.oracleiaas.com\",\"issuer\":\"h\"},{\"key\":\"h_opc-request-id\",\"value\":\"<unique_ID>\",\"issuer\":\"h\"},{\"key\":\"ptype\",\"value\":\"user\",\"issuer\":\"authService.oracle.com\"},{\"key\":\"h_date\",\"value\":\"Wed, 18 Sep 2019 00:10:58 UTC\",\"issuer\":\"h\"},{\"key\":\"h_accept\",\"value\":\"application/json\",\"issuer\":\"h\"},{\"key\":\"authorization\",\"value\":\"Signature headers=\\\"date (request-target) host accept opc-request-id\\\",keyId=\\\"ocid1.tenancy.oc1..<unique_ID>/ocid1.user.oc1..<unique_ID>/8c:b4:5f:18:e7:ec:db:08:b8:fa:d2:2a:7d:11:76:ac\\\",algorithm=\\\"rsa-pss-sha256\\\",signature=\\\"<unique_ID>\\\",version=\\\"1\\\"\",\"issuer\":\"h\"},{\"key\":\"h_(request-target)\",\"value\":\"get /20160918/instances/ocid1.instance.oc1.phx.<unique_ID>\",\"issuer\":\"h\"}]}"
				],
				"Accept": [
					"application/json"
				],
				"X-Oracle-Auth-Client-CN": [
					"splat-proxy-se-02302.node.ad2.r2"
				],
				"X-Forwarded-Host": [
					"compute-api.svc.ad1.r2"
				],
				"Connection": [
					"close"
				],
				"User-Agent": [
					"Jersey/2.23 (HttpUrlConnection 1.8.0_212)"
				],
				"X-Forwarded-For": [
					"172.24.80.88"
				],
				"X-Real-IP": [
					"172.24.80.88"
				],
				"oci-original-url": [
					"https://iaas.r2.oracleiaas.com/20160918/instances/ocid1.instance.oc1.phx.<unique_ID>"
				],
				"opc-request-id": [
					"<unique_ID>"
				],
				"Date": [
					"Wed, 18 Sep 2019 00:10:58 UTC"
				]
			}
		},
		"response": {
			"status": "200",
			"responseTime": "2019-09-18T00:10:59.278Z",
			"headers": {
				"ETag": [
					"<unique_ID>"
				],
				"Connection": [
					"close"
				],
				"Content-Length": [
					"1828"
				],
				"opc-request-id": [
					"<unique_ID>"
				],
				"Date": [
					"Wed, 18 Sep 2019 00:10:59 GMT"
				],
				"Content-Type": [
					"application/json"
				]
			},
			"payload": {
				"resourceName": "my_instance",
				"id": "ocid1.instance.oc1.phx.<unique_ID>"
			},
			"message": null
		},
		"stateChange": {
			"previous": null,
			"current": null
		},
		"additionalDetails": {
			"imageId": "ocid1.image.oc1.phx.<unique_ID>",
			"shape": "VM.Standard1.1",
			"type": "CustomerVmi"
		}
	}
}