Last active
March 17, 2023 01:22
-
-
Save ollytheninja/1222d59ca68ce6a896f8a4c77504b5e1 to your computer and use it in GitHub Desktop.
Athena Table for querying a centralised CloudTrail log store. You will need to replace S3BUCKETNAME, ORGID and 111111111111,222222222222 with your desired values, your bucket may also not use quite the same path.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE EXTERNAL TABLE cloudtrail_logs ( | |
eventVersion STRING, | |
userIdentity STRUCT< | |
type: STRING, | |
principalId: STRING, | |
arn: STRING, | |
accountId: STRING, | |
invokedBy: 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>, | |
ec2RoleDelivery: STRING, | |
webIdFederationData: MAP<STRING,STRING>>>, | |
eventTime STRING, | |
eventSource STRING, | |
eventName STRING, | |
awsRegion STRING, | |
sourceIpAddress STRING, | |
userAgent STRING, | |
errorCode STRING, | |
errorMessage STRING, | |
requestParameters STRING, | |
responseElements STRING, | |
additionalEventData STRING, | |
requestId STRING, | |
eventId STRING, | |
resources ARRAY<STRUCT< | |
arn: STRING, | |
accountId: STRING, | |
type: STRING>>, | |
eventType STRING, | |
apiVersion STRING, | |
readOnly STRING, | |
recipientAccountId STRING, | |
serviceEventDetails STRING, | |
sharedEventID STRING, | |
vpcEndpointId STRING, | |
tlsDetails STRUCT< | |
tlsVersion: STRING, | |
cipherSuite: STRING, | |
clientProvidedHostHeader: STRING> | |
) | |
PARTITIONED BY ( | |
`timestamp` string, | |
`region` string, | |
`account` string | |
) | |
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' | |
STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' | |
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' | |
LOCATION | |
's3://S3BUCKETNAME/ORGID/AWSLogs/ORGID/' | |
TBLPROPERTIES ( | |
'projection.enabled'='true', | |
'projection.account.type'='enum', | |
'projection.account.values'='111111111111,222222222222', | |
'projection.region.type'='enum', | |
'projection.region.values'='us-east-2,us-east-1,us-west-1,us-west-2,af-south-1,ap-east-1,ap-south-1,ap-northeast-3,ap-northeast-2,ap-southeast-1,ap-southeast-2,ap-northeast-1,ca-central-1,eu-central-1,eu-west-1,eu-west-2,eu-south-1,eu-west-3,eu-north-1,me-south-1,sa-east-1', | |
'projection.timestamp.format'='yyyy/MM/dd', | |
'projection.timestamp.interval'='1', | |
'projection.timestamp.interval.unit'='DAYS', | |
'projection.timestamp.range'='2020/01/01,NOW', | |
'projection.timestamp.type'='date', | |
'storage.location.template'='s3://S3BUCKETNAME/ORGID/AWSLogs/ORGID/${account}/CloudTrail/${region}/${timestamp}' | |
) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment