Conteúdo de um Evento de Log de Auditoria

Descreve o conteúdo de um evento de log de Auditoria.

A seguir, há uma explicação do conteúdo de um evento de log de Auditoria. Cada evento de log de Auditoria inclui duas partes principais:

  • Envelopes que atuam como um contêiner para todas as mensagens de eventos
  • Payloads contendo dados do recurso que está emitindo a mensagem de evento

Identificadores de Recursos

A maioria dos tipos de recursos do Oracle Cloud Infrastructure tem um identificador exclusivo designado pelo Oracle chamado OCID (Oracle Cloud ID). Para obter informações sobre o formato OCID e outras maneiras de identificar os seus recursos, consulte Identificadores de Recursos.

Envelope do Evento

Esses atributos para um envelope de eventos são iguais para todos os eventos. A estrutura do envelope segue o formato padrão da indústria CloudEvents hospedado pela CNCF (Cloud Native Computing Foundation).

Propriedade Descrição
cloudEventsVersion

A versão da especificação CloudEvents.

Observação:O serviço Audit usa a especificação da versão 0.1 do envelope de evento CloudEvents.

contentType Defina como application/json. O tipo de conteúdo dos dados contidos no atributo data.
data O payload do evento. As informações em data são provenientes do recurso que está emitindo o evento.
eventID

O UUID do evento. Esse identificador não é um OCID, mas apenas um ID exclusivo para o evento.

eventTime O horário do evento, expresso no formato de timestamp da RFC 3339.
eventType

O tipo de evento que aconteceu.

Observação: O serviço que produz o evento também pode adicionar, remover ou alterar o significado de um campo. Um serviço que estivesse implementando essas alterações de tipo publicaria uma nova versão de eventType e revisaria o campo eventTypeVersion.

eventTypeVersion

A versão do tipo de evento. Essa versão se aplica ao payload do evento, e não ao envelope. Use cloudEventsVersion para determinar a versão do envelope.

source O recurso que produziu o evento. Por exemplo, um bucket do Autonomous Database ou do Armazenamento de Objetos.

Payload

Os dados nesses campos dependem do serviço que produziu o log de evento e do tipo de evento definido.

Dados

O objeto de dados contém os seguintes atributos.

Propriedade Descrição
data.additionalDetails Um objeto contêiner para atributos exclusivos do recurso que está emitindo o evento.
data.availabilityDomain O domínio de disponibilidade no qual o recurso reside.
data.compartmentId O OCID do compartimento do recurso que está emitindo o evento.
data.compartmentName O nome do compartimento do recurso que está emitindo o evento.
data.definedTags Tags definidas adicionadas ao recurso que está emitindo o evento.
data.eventGroupingId

Esse valor vincula vários eventos de auditoria que fazem parte da mesma operação da API. Por exemplo, uma operação de longa execução da API que emite um evento no início e no fim da operação.

data.eventName

Nome da operação da API que gerou esse evento.

Exemplo: LaunchInstance

data.freeformTags Tags de formato livre adicionadas ao recurso que está emitindo o evento.
data.identity Um objeto contêiner para atributos de identidade. Consulte Identidade.
data.request Um objeto contêiner para atributos da solicitação. Consulte Solicitação.
data.resourceId Um OCID ou um ID do recurso que está emitindo o evento.
data.resourceName O nome do recurso que está emitindo o evento.
data.response Um objeto contêiner para atributos de resposta. Consulte Resposta.
data.stateChange Um objeto contêiner para atributos de alteração de estado. Consulte Alteração de Estado.

Identidade

O objeto de identidade contém os atributos a seguir.

Propriedade Descrição
data.identity.authType O tipo de autenticação usado.
data.identity.callerId O OCID do chamador. O chamador que fez uma solicitação para o principal.
data.identity.callerName O nome do usuário ou do serviço que está emitindo a solicitação. Esse valor é o nome amigável associado a callerId.
data.identity.consoleSessionId Esse valor identifica qualquer sessão da Console associada a essa solicitação.
data.identity.credentials O ID da credencial do usuário.
data.identity.ipAddress O endereço IP da origem da solicitação.
data.identity.principalId O OCID do principal.
data.identity.principalName O nome do usuário ou serviço. Esse valor é o nome amigável associado a principalId.
data.identity.tenantId O OCID do conteúdo.
data.identity.userAgent O agente usuário do cliente que fez a solicitação.

Solicitação

O objeto de solicitação contém os atributos a seguir.

Propriedade Descrição
data.request.action

O método HTTP da solicitação.

Exemplo: GET

data.request.headers Os campos e valores do cabeçalho HTTP na solicitação.
data.request.id O identificador exclusivo de uma solicitação.
data.request.parameters Todos os parâmetros fornecidos pelo chamador durante essa operação.
data.request.path

O caminho completo da solicitação da API.

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

Resposta

O objeto de dados contém os atributos a seguir.

Propriedade Descrição
data.response.headers Os cabeçalhos da resposta.
data.response.message Uma descrição amigável do que aconteceu durante a operação.
data.response.payload Esse valor é incluído para retrocompatibilidade com o esquema Audit versão 1, onde havia metadados de interesse do payload de resposta.
data.response.responseTime O horário da resposta à solicitação auditada, expressa no formato de timestamp da RFC 3339.
data.response.status O código de status da resposta.

Alteração de Estado

O objeto de alteração de estado contém os atributos a seguir.

Propriedade Descrição
data.stateChange.current Fornece o estado atual dos campos que podem ter sido alterados durante uma operação. Para determinar como a operação atual alterou um recurso, compare as informações neste atributo com data.stateChange.previous.
data.stateChange.previous Fornece o estado anterior dos campos que podem ter sido alterados durante uma operação. Para determinar como a operação atual alterou um recurso, compare as informações neste atributo com data.stateChange.current.

Um Exemplo de Log de Auditoria

Veja a seguir um exemplo de evento registrado pelo serviço Audit.

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