Pular para o conteúdo principal

AWS CloudTrail

info

Visualização

O Lakewatch está em Pré-visualização privada. Para solicitar acesso, entre em contato com a equipe do Databricks responsável pela sua account.

Visão geral​

O AWS CloudTrail registra a atividade da account e o uso da API em toda a sua infraestrutura AWS. O Lakewatch ingere logs do CloudTrail do armazenamento em nuvem (Amazon S3) usando o Auto Loader e os esquematiza com parsers integrados. O CloudTrail é uma fonte de armazenamento em cloud, não um conector de API.

Onboard de logs do CloudTrail​

Para ingerir o CloudTrail, crie uma fonte de dados de armazenamento cloud que leia seus logs do Amazon S3 e anexe o analisador integrada que corresponde aos objetos do CloudTrail que você está ingerindo para que os eventos sejam gravados em uma tabela analisada esquematizada. Para pré-requisitos, acesso ao Unity Catalog e os passos completos de configuração de fonte de dados, consulte Armazenamento na cloud.

Esquema e observáveis analisados​

O CloudTrail entrega três tipos de objetos ao Amazon S3 e o Lakewatch fornece um analisador integrado para cada um. Anexe o analisador que corresponda aos objetos que sua fonte de dados ingere:

  • aws_cloudtrail : Eventos padrão de gerenciamento, dados e atividade de rede do CloudTrail.
  • aws_cloudtrail_digest : Arquivos de resumo, que listam os arquivos de log entregues na hora anterior com valores de hash para validação da integridade do arquivo de log.
  • aws_cloudtrail_insight : Eventos do CloudTrail percepções, que registram atividades incomuns de taxa de chamadas de API.

Cada tabela analisada também transporta as colunas gerenciadas pelo Lakewatch:

  • lw_id: Uma string não nula que o Lakewatch usa como key primária, suportando a eliminação de duplicatas em leituras incrementais.
  • time: Um timestamp de evento não nulo.
  • lw_meta: Metadados de processamento padrão do Lakewatch.
  • lw_observables: Valores extraídos de campos marcados como observáveis de segurança no analisador.

Para obter mais informações, consulte a Referência do parser.

aws_cloudtrail​

Esquematiza eventos padrão do CloudTrail. Analisa time a partir do campo eventTime.

Esquema da tabela analisada

O analisador aws_cloudtrail grava as seguintes colunas (geradas a partir da definição do analisador):

Coluna

Tipo de dados

additionalEventData

VARIANT

apiVersion

STRING

awsRegion

STRING

errorCode

STRING

errorMessage

STRING

eventID

STRING

eventName

STRING

eventSource

STRING

time

TIMESTAMP

eventType

STRING

eventVersion

STRING

managementEvent

BOOLEAN

readOnly

BOOLEAN

recipientAccountId

STRING

requestID

STRING

requestParameters

VARIANT

resources

ARRAY<STRUCT<arn: STRING, accountId: STRING, type: STRING>>

responseElements

VARIANT

serviceEventDetails

VARIANT

sharedEventID

STRING

sourceIPAddress

STRING

userAgent

STRING

userIdentity

STRUCT<type: STRING, principalId: STRING, arn: STRING, accountId: STRING, accessKeyId: STRING, userName: STRING, sessionContext: STRUCT<attributes: STRUCT<mfaAuthenticated: STRING, creationDate: STRING>, sessionIssuer: STRUCT<type: STRING, principalId: STRING, arn: STRING, accountId: STRING, userName: STRING>, webIdFederationData: STRUCT<federatedProvider: STRING, attributes: VARIANT>, ec2RoleDelivery: STRING, sourceIdentity: STRING>, invokedBy: STRING, identityProvider: STRING, onBehalfOf: STRUCT<userId: STRING, identityStoreArn: STRING>, inScopeOf: STRUCT<sourceArn: STRING, sourceAccount: STRING, issuerType: STRING, credentialsIssuedTo: STRING>, credentialId: STRING>

vpcEndpointId

STRING

eventCategory

STRING

sessionCredentialFromConsole

BOOLEAN

edgeDeviceDetails

VARIANT

tlsDetails

STRUCT<tlsVersion: STRING, cipherSuite: STRING, clientProvidedHostHeader: STRING>

addendum

STRUCT<reason: STRING, updatedFields: STRING, originalRequestID: STRING, originalEventID: STRING>

Coluna

Tipo de dados

additionalEventData

VARIANT

apiVersion

STRING

awsRegion

STRING

errorCode

STRING

errorMessage

STRING

eventID

STRING

eventName

STRING

eventSource

STRING

time

TIMESTAMP

eventType

STRING

eventVersion

STRING

managementEvent

BOOLEAN

readOnly

BOOLEAN

recipientAccountId

STRING

requestID

STRING

requestParameters

VARIANT

resources

ARRAY<STRUCT<arn: STRING, accountId: STRING, type: STRING>>

responseElements

VARIANT

serviceEventDetails

VARIANT

sharedEventID

STRING

sourceIPAddress

STRING

userAgent

STRING

userIdentity

STRUCT<type: STRING, principalId: STRING, arn: STRING, accountId: STRING, accessKeyId: STRING, userName: STRING, sessionContext: STRUCT<attributes: STRUCT<mfaAuthenticated: STRING, creationDate: STRING>, sessionIssuer: STRUCT<type: STRING, principalId: STRING, arn: STRING, accountId: STRING, userName: STRING>, webIdFederationData: STRUCT<federatedProvider: STRING, attributes: VARIANT>, ec2RoleDelivery: STRING, sourceIdentity: STRING>, invokedBy: STRING, identityProvider: STRING, onBehalfOf: STRUCT<userId: STRING, identityStoreArn: STRING>, inScopeOf: STRUCT<sourceArn: STRING, sourceAccount: STRING, issuerType: STRING, credentialsIssuedTo: STRING>, credentialId: STRING>

vpcEndpointId

STRING

eventCategory

STRING

sessionCredentialFromConsole

BOOLEAN

edgeDeviceDetails

VARIANT

tlsDetails

STRUCT<tlsVersion: STRING, cipherSuite: STRING, clientProvidedHostHeader: STRING>

addendum

STRUCT<reason: STRING, updatedFields: STRING, originalRequestID: STRING, originalEventID: STRING>

Observáveis do analisador

O analisador extrai os seguintes campos em lw_observables (gerados a partir da definição do analisador):

campo

Observável

recipientAccountId

aws_account_id

resources[].arn

aws_arn

resources[].accountId

aws_account_id

sourceIPAddress

hostname

userIdentity.principalId

actor_id

userIdentity.arn

aws_arn

userIdentity.accountId

aws_account_id

userIdentity.accessKeyId

trace_id

userIdentity.userName

username

userIdentity.sessionContext.sessionIssuer.principalId

actor_id

userIdentity.sessionContext.sessionIssuer.arn

aws_arn

userIdentity.sessionContext.sessionIssuer.accountId

aws_account_id

userIdentity.sessionContext.sessionIssuer.userName

username

userIdentity.sessionContext.webIdFederationData.federatedProvider

aws_arn

userIdentity.onBehalfOf.identityStoreArn

aws_arn

userIdentity.inScopeOf.sourceArn

aws_arn

userIdentity.inScopeOf.sourceAccount

aws_account_id

campo

Observável

recipientAccountId

aws_account_id

resources[].arn

aws_arn

resources[].accountId

aws_account_id

sourceIPAddress

hostname

userIdentity.principalId

actor_id

userIdentity.arn

aws_arn

userIdentity.accountId

aws_account_id

userIdentity.accessKeyId

trace_id

userIdentity.userName

username

userIdentity.sessionContext.sessionIssuer.principalId

actor_id

userIdentity.sessionContext.sessionIssuer.arn

aws_arn

userIdentity.sessionContext.sessionIssuer.accountId

aws_account_id

userIdentity.sessionContext.sessionIssuer.userName

username

userIdentity.sessionContext.webIdFederationData.federatedProvider

aws_arn

userIdentity.onBehalfOf.identityStoreArn

aws_arn

userIdentity.inScopeOf.sourceArn

aws_arn

userIdentity.inScopeOf.sourceAccount

aws_account_id

Os seguintes campos de VARIANT são verificados em busca de observáveis, combinando nomes de key aninhadas. Os tipos de observáveis extraídos de cada um:

campo

Tipos observáveis digitalizados

additionalEventData

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

requestParameters

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

responseElements

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

serviceEventDetails

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

userIdentity.sessionContext.webIdFederationData.attributes

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

campo

Tipos observáveis digitalizados

additionalEventData

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

requestParameters

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

responseElements

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

serviceEventDetails

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

userIdentity.sessionContext.webIdFederationData.attributes

actor_id, aws_account_id, aws_arn, aws_instance_id, domain, ip, resource_tag, trace_id, username

aws_cloudtrail_digest​

Esquematiza arquivos de resumo do CloudTrail, que suportam a validação de integridade de arquivos de log. Analisa time do campo digestEndTime.

Esquema da tabela analisada

O analisador aws_cloudtrail_digest grava as seguintes colunas (geradas a partir da definição do analisador):

Coluna

Tipo de dados

awsAccountId

STRING

digestStartTime

TIMESTAMP

digestS3Bucket

STRING

digestS3Object

STRING

newestEventTime

TIMESTAMP

oldestEventTime

TIMESTAMP

previousDigestS3Bucket

STRING

previousDigestS3Object

STRING

previousDigestHashValue

STRING

previousDigestHashAlgorithm

STRING

previousDigestSignature

STRING

digestPublicKeyFingerprint

STRING

digestSignatureAlgorithm

STRING

logFiles

ARRAY<STRUCT<s3Bucket: STRING, s3Object: STRING, hashValue: STRING, hashAlgorithm: STRING, newestEventTime: TIMESTAMP, oldestEventTime: TIMESTAMP>>

time

TIMESTAMP

Coluna

Tipo de dados

awsAccountId

STRING

digestStartTime

TIMESTAMP

digestS3Bucket

STRING

digestS3Object

STRING

newestEventTime

TIMESTAMP

oldestEventTime

TIMESTAMP

previousDigestS3Bucket

STRING

previousDigestS3Object

STRING

previousDigestHashValue

STRING

previousDigestHashAlgorithm

STRING

previousDigestSignature

STRING

digestPublicKeyFingerprint

STRING

digestSignatureAlgorithm

STRING

logFiles

ARRAY<STRUCT<s3Bucket: STRING, s3Object: STRING, hashValue: STRING, hashAlgorithm: STRING, newestEventTime: TIMESTAMP, oldestEventTime: TIMESTAMP>>

time

TIMESTAMP

Observáveis do analisador

O analisador extrai os seguintes campos em lw_observables (gerados a partir da definição do analisador):

campo

Observável

awsAccountId

aws_account_id

previousDigestHashValue

hash

logFiles[].hashValue

hash

campo

Observável

awsAccountId

aws_account_id

previousDigestHashValue

hash

logFiles[].hashValue

hash

aws_cloudtrail_insight​

Schematizes CloudTrail percepções eventos, que registram atividade incomum de taxa de chamada de API. Analisa time do campo eventTime.

Esquema da tabela analisada

O analisador aws_cloudtrail_insight grava as seguintes colunas (geradas a partir da definição do analisador):

Coluna

Tipo de dados

eventVersion

STRING

awsRegion

STRING

eventID

STRING

eventType

STRING

recipientAccountId

STRING

sharedEventID

STRING

insightDetails

STRUCT<state: STRING, eventSource: STRING, eventName: STRING, insightType: STRING, insightContext: STRUCT<statistics: STRUCT<baseline: STRUCT<average: DOUBLE>, insight: STRUCT<average: DOUBLE>, insightDuration: DOUBLE>>>

eventCategory

STRING

time

TIMESTAMP

Coluna

Tipo de dados

eventVersion

STRING

awsRegion

STRING

eventID

STRING

eventType

STRING

recipientAccountId

STRING

sharedEventID

STRING

insightDetails

STRUCT<state: STRING, eventSource: STRING, eventName: STRING, insightType: STRING, insightContext: STRUCT<statistics: STRUCT<baseline: STRUCT<average: DOUBLE>, insight: STRUCT<average: DOUBLE>, insightDuration: DOUBLE>>>

eventCategory

STRING

time

TIMESTAMP

Observáveis do analisador

O analisador extrai os seguintes campos em lw_observables (gerados a partir da definição do analisador):

campo

Observável

recipientAccountId

aws_account_id

sharedEventID

trace_id

campo

Observável

recipientAccountId

aws_account_id

sharedEventID

trace_id