How can I send S3 notification messages to Panther directly via AWS EventBridge?
Last updated: November 26, 2025
QUESTION
I encountered the error: `"msg":"failed to parse notification" in the panther-log-router. How can I use AWS EventBridge to filter and route S3 notifications to Panther via SNS and SQS without forwarding?
ANSWER
While Panther supports EventBridge as a data transport, S3 notifications sent through EventBridge require a transformation to match Panther's expected format. You can accomplish this using EventBridge's input transformer feature.
Here's how to configure the input transformer in your AWS EventBridge target:
1. Define the input paths to extract the required fields:
{
"bucket": "$.detail.bucket.name",
"key": "$.detail.object.key"
}2. Set up the input template to transform the data into Panther's expected format:
{
"s3Bucket": "<your-bucket>",
"s3ObjectKey": ["<your-key>"]
}If you're using Terraform to manage, you can implement this transformation using the following configuration:
resource "aws_cloudwatch_event_target"
"panther_sns_target" {
target_id = "panther-siem-notifier-sns-topic"
rule = aws_cloudwatch_event_rule.panther_s3_object_create_event_capture.name
arn = module.panther_siem_notifier_sns_topic.topic_arn
input_transformer {
input_paths = {
"bucket" = "$.detail.bucket.name"
"key" = "$.detail.object.key"
}
input_template = <<EOF"
{
"s3Bucket": "<your-bucket>",
"s3ObjectKey": ["<your-key>"]
}
EOF
}
}