Skip to content

Commit 56c3dfc

Browse files
committed
feat: improve AWS S3 acess log regex for S3 key
Signed-off-by: Kavindu Dodanduwa <kavindu.dodanduwa@elastic.co>
1 parent ec1a5be commit 56c3dfc

File tree

5 files changed

+58
-2
lines changed

5 files changed

+58
-2
lines changed

packages/aws/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: "5.3.2"
3+
changes:
4+
- description: S3 Access logs, improve S3KEY regex to handle special characters.
5+
type: enhancement
6+
link: https://github.com/elastic/integrations/pull/16695
27
- version: "5.3.1"
38
changes:
49
- description: Add `cookies` field in cloudfront logs datastream.

packages/aws/data_stream/s3access/_dev/test/pipeline/test-s3-server-access.log

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
67797214d75628047d9c76b18a78cded1a4b069b71f2a9d5a53649c38da8770b flow-log-test [14/Jul/2021:18:57:31 +0000] - svc:delivery.logs.amazonaws.com MVGXZXEVN3IG9S24 REST.PUT.OBJECT AWSLogs/000000000000/vpcflowlogs/us-gov-east-1/2021/07/13/000000000000_vpcflowlogs_us-gov-east-1_fl-_20210713T1855Z_f12aa632.log.gz "PUT /AWSLogs/000000000000/vpcflowlogs/us-gov-east-1/2021/07/13/000000000000_vpcflowlogs_us-gov-east-1_fl-0e7c13bf00cf15bfe_20210713T1855Z_f12aa632.log.gz HTTP/1.1" - - - 773 103 13 "-" "-" - 02SxwfXpO5UysN0GsKGa3uGDQ6E/W7+Hwo/luRH8p1VEexULoe66RCM+nja0dEq2JqLrtgjocvVRRkVt4= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader flow-log-test.s3.us-gov-west-1.amazonaws.com TLSv1.2 arn:aws:s3:us-west-1:123456789012:accesspoint/example-AP -
1010
b854390a51155554b82ce2759564a1135bce83133d004f4d2001f157e13985d7 flow-log-test [25/Mar/2025:19:28:02 +0000] - AmazonS3 366DB3C4B325AB11 S3.EXPIRE.OBJECT 0/chum/_vars/logtests/PlannerModule/5f6ea3b7da96ab304a77225d5b2b2a55e54b74e4ddfdf14b9b1d853d77515b88_9febba22f08b11ef8cf6020058a9efab/2024/12/30/164700/kitt_189/_spcu_sride__state_svx__feature__flags.sst "-" - - - 317 - - "-" "-" qsEq9bDa2VyxyZ4cz0c7oBnF67VYTTij DMlPb9al4CvVBck150CgpEIIYgtSI3HC/atetNVYwPtHZffW6jfpg+BrffhbT9/B - - - - - - -
1111
b854390a51155554b82ce2759564a1135bce83133d004f4d2001f157e13985d7 flow-log-test [25/Mar/2025:19:28:02 +0000] - AmazonS3 366DB3C4B325AB11 S3.EXPIRE.OBJECT 0/chum/_vars/logtests/PlannerModule/5f6ea3b7da96ab304a77225d5b2b2a55e54b74e4ddfdf14b9b1d853d77515b88_9febba22f08b11ef8cf6020058a9efab/2024/12/30/164700/kitt_189/_spcu_sride__state_svx__feature__flags.sst "-" - - - 317 - - "-" "-" qsEq9bDa2VyxyZ4cz0c7oBnF67VYTTij DMlPb9al4CvVBck150CgpEIIYgtSI3HC/atetNVYwPtHZffW6jfpg+BrffhbT9/B - - - - - - Yes
12+
b854390a51155554b82ce2759564a1135bce83133d004f4d2001f157e13985d7 flow-log-test [25/Mar/2025:19:28:02 +0000] - AmazonS3 366DB3C4B325AB11 S3.PUT.OBJECT test/special(chars*'!%)/75*75/log.txt "-" - - - 317 - - "-" "-" qsEq9bDa2VyxyZ4cz0c7oBnF67VYTTij DMlPb9al4CvVBck150CgpEIIYgtSI3HC/atetNVYwPtHZffW6jfpg+BrffhbT9/B - - - - - - Yes

packages/aws/data_stream/s3access/_dev/test/pipeline/test-s3-server-access.log-expected.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,6 +1005,56 @@
10051005
"tags": [
10061006
"preserve_original_event"
10071007
]
1008+
},
1009+
{
1010+
"@timestamp": "2025-03-25T19:28:02.000Z",
1011+
"aws": {
1012+
"s3access": {
1013+
"aclrequired": "Yes",
1014+
"bucket": "flow-log-test",
1015+
"bucket_owner": "b854390a51155554b82ce2759564a1135bce83133d004f4d2001f157e13985d7",
1016+
"host_id": "DMlPb9al4CvVBck150CgpEIIYgtSI3HC/atetNVYwPtHZffW6jfpg+BrffhbT9/B",
1017+
"key": "test/special(chars*'!%)/75*75/log.txt",
1018+
"object_size": 317,
1019+
"operation": "S3.PUT.OBJECT",
1020+
"request_id": "366DB3C4B325AB11",
1021+
"request_uri": "-",
1022+
"requester": "AmazonS3",
1023+
"version_id": "qsEq9bDa2VyxyZ4cz0c7oBnF67VYTTij"
1024+
}
1025+
},
1026+
"client": {
1027+
"user": {
1028+
"id": "AmazonS3"
1029+
}
1030+
},
1031+
"cloud": {
1032+
"provider": "aws"
1033+
},
1034+
"ecs": {
1035+
"version": "8.11.0"
1036+
},
1037+
"event": {
1038+
"action": "S3.PUT.OBJECT",
1039+
"category": [
1040+
"web"
1041+
],
1042+
"id": "366DB3C4B325AB11",
1043+
"kind": "event",
1044+
"original": "b854390a51155554b82ce2759564a1135bce83133d004f4d2001f157e13985d7 flow-log-test [25/Mar/2025:19:28:02 +0000] - AmazonS3 366DB3C4B325AB11 S3.PUT.OBJECT test/special(chars*'!%)/75*75/log.txt \"-\" - - - 317 - - \"-\" \"-\" qsEq9bDa2VyxyZ4cz0c7oBnF67VYTTij DMlPb9al4CvVBck150CgpEIIYgtSI3HC/atetNVYwPtHZffW6jfpg+BrffhbT9/B - - - - - - Yes",
1045+
"outcome": "success",
1046+
"type": [
1047+
"access"
1048+
]
1049+
},
1050+
"related": {
1051+
"user": [
1052+
"b854390a51155554b82ce2759564a1135bce83133d004f4d2001f157e13985d7"
1053+
]
1054+
},
1055+
"tags": [
1056+
"preserve_original_event"
1057+
]
10081058
}
10091059
]
10101060
}

packages/aws/data_stream/s3access/elasticsearch/ingest_pipeline/default.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ processors:
3838
S3REQUESTER: "[a-zA-Z0-9\\/_\\.\\-%:@]+"
3939
S3REQUESTID: "[a-zA-Z0-9]+"
4040
S3OPERATION: "%{WORD}.%{WORD}.%{WORD}"
41-
S3KEY: "[a-zA-Z0-9\\/_\\.\\-%+]+"
41+
S3KEY: "[a-zA-Z0-9\\/\\_\\!\\-\\.\\*\\'\\(\\)\\%\\+]+"
4242
S3ID: "[a-zA-Z0-9\\/_\\.\\-%+=]+"
4343
S3VERSION: "[a-zA-Z0-9.]+"
4444
- grok:

packages/aws/manifest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
format_version: 3.3.2
22
name: aws
33
title: AWS
4-
version: "5.3.1"
4+
version: "5.3.2"
55
description: Collect logs and metrics from Amazon Web Services (AWS) with Elastic Agent.
66
type: integration
77
categories:

0 commit comments

Comments
 (0)