AWS Security Lake
The AWS Security Lake destination exports OCSF-formatted logs as Parquet files to an Amazon Security Lake custom source, written to the Security Lake S3 bucket and partitioned by custom source, region, account, and event day. It exports logs only. Logs must already be in OCSF format when they reach this destination, so add the OCSF Standardization processor upstream in the pipeline.
This destination is in Alpha stability.
Supported Telemetry Types
✓
Prerequisites
You need an Amazon Security Lake custom source already registered in your AWS account, plus credentials that allow the collector to write to the Security Lake S3 bucket.
A Security Lake custom source registered for each OCSF event class you intend to export. Each custom source is created with a unique source name and an associated OCSF event class. Record the source name and the OCSF class ID for the
custom_sourcesmapping below.The Security Lake S3 bucket name and the AWS region it resides in.
The AWS account ID used in the S3 partition path.
AWS credentials available to the collector through the standard AWS credential chain (environment variables, shared credentials file, or an attached IAM role). The credentials must permit
s3:PutObjectto the Security Lake bucket. To assume a different role for the writes, set therole_arnparameter and grant the collector's identitysts:AssumeRoleon that role.
Logs must be transformed into OCSF format before reaching this destination. Records that are not valid OCSF are dropped with a warning. Add the OCSF Standardization processor upstream to avoid data loss.
Configuration

Destination
Region
Enum
Yes
us-east-1
The AWS region where the Security Lake S3 bucket resides. Includes GovCloud regions (us-gov-east-1, us-gov-west-1). A custom value can be entered if the region is not listed.
S3 Bucket
String
Yes
(empty)
The name of the Security Lake S3 bucket.
Account ID
String
Yes
(empty)
The AWS account ID used in the S3 partition path.
OCSF Version
Enum
Yes
1.3.0
The OCSF schema version used for the Parquet output. One of 1.0.0, 1.1.0, 1.2.0, 1.3.0.
Custom Sources
Map
Yes
(empty)
A mapping of custom source names registered in Security Lake to their OCSF class IDs. The key is the custom source name; the value is the integer OCSF class ID. At least one entry is required.
Advanced
Role ARN
String
No
(empty)
An optional IAM role ARN to assume for S3 writes.
Endpoint
String
No
(empty)
An optional custom endpoint for S3 writes. Useful for testing with LocalStack or MinIO. Leave empty to use the default AWS endpoint.
Timeout
Int
No
5
The timeout, in seconds, for S3 write operations.
Batch Size
Int
No
10000
The number of events per OCSF class ID to buffer before flushing to S3.
Batch Timeout
Int
No
5
The maximum time, in minutes, to wait before flushing a batch to S3, regardless of batch size.
Retry on Failure
Enable Retry on Failure
Bool
No
true
Attempt to resend logs that failed to transmit to the destination.
Initial Interval
Int
No
5
Time, in seconds, to wait after the first failure before retrying. Applies when retry on failure is enabled.
Max Interval
Int
No
30
The upper bound, in seconds, on backoff. Applies when retry on failure is enabled.
Max Elapsed Time
Int
No
300
The maximum time, in seconds, spent trying to send a batch, used to avoid a never-ending retry loop. Applies when retry on failure is enabled.
Sending Queue
Enable Sending Queue
Bool
No
true
Buffer logs temporarily before sending to help ensure data is not lost during a temporary network outage.
Number of Consumers
Int
No
10
Number of consumers that dequeue batches. Applies when the sending queue is enabled.
Queue Size
Int
No
5000
Maximum number of batches kept in memory before dropping. Applies when the sending queue is enabled.
Enable Persistent Queuing
Bool
No
true
Buffer telemetry data to disk before sending to help ensure data is not lost during network outages or collector restarts. Applies when the sending queue is enabled.
Persistent Queue Storage
Extension
Yes
File storage extension
The storage to use for the persistent queue. Applies when the sending queue and persistent queuing are both enabled.
Examples
Export authentication and file-system activity logs to a Security Lake custom source in us-east-1. Each entry in custom_sources maps a registered custom source name to the OCSF class ID it carries.
Configuration Tips
The OCSF event class you select when registering each custom source in Security Lake must match the OCSF class ID you map it to in
custom_sources. A mismatch causes records to be written under the wrong source prefix or skipped.Batch Sizeapplies per OCSF class ID. To buffer independently per class, configure a separate destination instance for each class, each with a singlecustom_sourcesentry.Keep the persistent queue enabled in production so buffered logs survive collector restarts. Point
Persistent Queue Storageat a file storage extension on durable disk.
Troubleshooting
Access denied writing to S3
Symptoms: writes fail with a permission or access-denied error and no Parquet objects appear in the bucket.
Solutions:
Confirm the collector's AWS credentials are resolvable through the standard credential chain and permit
s3:PutObjectto the Security Lake bucket.If using
role_arn, confirm the collector's identity is allowed tosts:AssumeRoleon that role and the role can write to the bucket.
Records are dropped
Symptoms: logs leave the pipeline but objects are missing, with warnings about skipped or invalid records.
Solutions:
Add the OCSF Standardization processor upstream. Records that are not valid OCSF are dropped with a warning.
Confirm each record's OCSF class ID has a matching entry in
custom_sources. Records whose class does not match any configured source are skipped.
Wrong region or bucket
Symptoms: connection failures or objects written to an unexpected location.
Solutions:
Verify
Regionmatches the region of the Security Lake S3 bucket.Verify
S3 BucketandAccount IDmatch the Security Lake deployment. The account ID is used in the S3 partition path.
Standalone Destination
Related Resources
Last updated
Was this helpful?