Contenido de un evento de log de auditoría

Describe el contenido de un evento de log de auditoría.

A continuación, se explica el contenido de un evento de log de auditoría. Cada evento de log de auditoría incluye dos partes principales: 

  • Sobres que actúan como un contenedor para todos los mensajes de eventos
  • Cargas útiles que contienen datos del recurso que emite el mensaje de evento

Identificadores de recursos

La mayoría de los tipos de recursos de Oracle Cloud Infrastructure tienen un identificador único asignado por Oracle denominado Oracle Cloud ID (OCID). Para obtener información sobre el formato del OCID y otras formas de identificar los recursos, consulte Identificadores de recursos.

Sobre de evento

Estos atributos de un sobre de evento son los mismos para todos los eventos. La estructura del sobre sigue el formato estándar del sector de CloudEvents alojado en Cloud Native Computing Foundation (CNCF).

Propiedad Descripción
cloudEventsVersion

Versión de la especificación CloudEvents.

Nota: La auditoría utiliza la especificación de la versión 0.1 del sobre de evento de CloudEvents.

contentType Establezca en aplicación/json. Tipo de contenido de los datos incluidos en el atributo data.
data Carga útil del evento. La información de data procede del recurso que emite el evento.
eventID

El UUID del evento. Este identificador no es un OCID, sino solo el ID único del evento.

eventTime Hora del evento, expresada en formato de registro de hora RFC 3339.
eventType

Tipo de evento que se ha producido.

Nota: El servicio que genera el evento también puede agregar, eliminar o cambiar el significado de un campo. Un servicio que implementa estos cambios de tipo publicará una nueva versión de un eventType y revisará el campo eventTypeVersion.

eventTypeVersion

La versión del tipo de evento. Esta versión se aplica a la carga útil del evento, no al sobre. Utilice cloudEventsVersion para determinar la versión del sobre.

source Recurso que produjo el evento. Por ejemplo, un bloque de Autonomous Database o de Object Storage.

Carga útil

Los datos de estos campos dependen del servicio que ha generado el log de eventos y del tipo de evento definido.

Datos

El objeto de datos contiene los siguientes atributos.

Propiedad Descripción
data.additionalDetails Objeto de contenedor para atributos únicos para el recurso que emite el evento.
data.availabilityDomain Dominio de disponibilidad que contiene el recurso.
data.compartmentId OCID del compartimento del recurso que emite el evento.
data.compartmentName Nombre del compartimento del recurso que emite el evento.
data.definedTags Etiquetas definidas agregadas al recurso que emite el evento.
data.eventGroupingId

Este valor enlaza varios eventos de auditoría que forman parte de la misma operación de API. Por ejemplo, una operación de API de larga ejecución que emite un evento al inicio y al final de la operación.

data.eventName

Nombre de la operación de API que ha generado este evento.

Ejemplo: LaunchInstance

data.freeformTags Etiquetas de formato libre agregadas al recurso que emite el evento.
data.identity Objeto de contenedor para atributos de identidad. Consulte Identidad.
data.request Objeto de contenedor para atributos de solicitud. Consulte Solicitud.
data.resourceId OCID o un ID para el recurso que emite el evento.
data.resourceName Nombre del recurso que emite el evento.
data.response Objeto de contenedor para atributos de respuesta. Consulte Respuesta.
data.stateChange Un objeto de contenedor para los atributos de cambio de estado. Consulte Cambio de estado.

Identidad

El objeto de identidad contiene los siguientes atributos.

Propiedad Descripción
data.identity.authType Tipo de autenticación usada.
data.identity.callerId OCID del emisor de llamada. Emisor de llamada que realizó una solicitud en nombre del principal.
data.identity.callerName Nombre del usuario o servicio que emite la solicitud. Este valor es el nombre fácil de recordar asociado a callerId.
data.identity.consoleSessionId Este valor identifica cualquier sesión de consola asociada a esta solicitud.
data.identity.credentials ID de credencial del usuario.
data.identity.ipAddress Dirección IP del origen de la solicitud.
data.identity.principalId OCID del principal.
data.identity.principalName Indica el nombre del usuario o del servicio. Este valor es el nombre fácil de recordar asociado a principalId.
data.identity.tenantId OCID del inquilino.
data.identity.userAgent Agente de usuario del cliente que ha realizado la solicitud.

Solicitud

El objeto de solicitud contiene los siguientes atributos.

Propiedad Descripción
data.request.action

Método HTTP de la solicitud.

Ejemplo: GET

data.request.headers Campos y valores de la cabecera HTTP en la solicitud.
data.request.id Identificador único de una solicitud.
data.request.parameters Todos los parámetros proporcionados por el emisor de llamada durante esta operación.
data.request.path

Ruta de acceso completa de la solicitud de API.

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

Respuesta

El objeto de respuesta contiene los siguientes atributos.

Propiedad Descripción
data.response.headers Cabeceras de la respuesta.
data.response.message Descripción fácil de recordar de lo que se ha producido durante la operación.
data.response.payload Este valor se incluye para la compatibilidad con versiones anteriores del esquema de Auditoría versión 1, donde contiene metadatos de interés de la carga útil de la respuesta.
data.response.responseTime Hora de la respuesta a la solicitud auditada, expresada en formato de registro de hora RFC 3339.
data.response.status Código de estado de la respuesta.

Cambio de estado

El objeto de cambio de estado contiene los siguientes atributos.

Propiedad Descripción
data.stateChange.current Proporciona el estado actual de los campos que hayan podido cambiar durante una operación. Para determinar cómo ha cambiado la operación actual un recurso, compare la información de este atributo con data.stateChange.previous.
data.stateChange.previous Proporciona el estado anterior de los campos que hayan podido cambiar durante una operación. Para determinar cómo ha cambiado la operación actual un recurso, compare la información de este atributo con data.stateChange.current.

Ejemplo de log de auditoría

A continuación, se muestra un ejemplo de evento registrado por el servicio auditoría.

{
	"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"
		}
	}
}