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