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 atributodata. | 
| data | O payload do evento. As informações em datasã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  | 
| eventTypeVersion | A versão do tipo de evento. Essa versão se aplica ao payload do evento, e não ao envelope. Use  | 
| 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:  | 
| 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:  | 
| 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:  | 
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"
		}
	}
}