Amazon Security Lake with Cribl Stream

Feed the AWS security data lake with OCSF-normalized data, from Stream's two security-lake pages.

What Amazon Security Lake is

Amazon Security Lake is AWS's security data lake service. Security data lands in one shared lake, backed by S3 buckets and stored as Parquet files, instead of each product pushing its own format into analytics tools.

That structure is OCSF, the Open Cybersecurity Schema Framework: an open schema with classes for sign-ins, detections, process activity, and identity events, each with standardized fields, making events from different products comparable. AWS Security Hub is a different service, a posture dashboard rather than a lake.

Sending data to it

The Amazon Security Lake Destination in Cribl Stream delivers data to Amazon Security Lake, which the destination reference describes as fully managed. It is a Non-Streaming type with TLS support, lists PQ support as No, and is unavailable on Windows and macOS.

Security Lake ingests events described by OCSF and conveyed as Parquet files, and this Destination sends those Parquet files in batches. Cribl Stream does not read or replay the data it sends. The page documents how files are written rather than a normalization pass, and pins no OCSF version to Stream's output.

New Destination general settings:

The Authentication Method must be left at its default, Auto: short-lived credentials from the EC2-attached IAM role via the AWS instance's metadata service, or from the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, working only when running on AWS. Assume Role takes values from the custom source: AssumeRole ARN (the Provider role ARN), External ID (the trust relationship's ExternalId), and Duration (seconds), default 3600, minimum 900, maximum 43200.

Processing Settings add a Pipeline drop-down for data processed before sending, plus a System fields list (none by default) such as cribl_host and cribl_output.

Parquet Settings: the Automatic schema toggle (off by default) generates the schema from each file's events; when off, the Parquet schema drop-down exposes the schema library. Parquet version defaults to 2.6. Optional Metadata key-value pairs go into file metadata; the page's example tags events as the security findings OCSF category with Key OCSF Event Class and Value 2001.

Advanced Settings:

The Destination's always-needed IAM permissions, copied from the destination reference one per line:

s3:ListBucket
s3:GetBucketLocation
s3:PutObject

Multipart uploads need two more, copied from the destination reference:

kms:GenerateDataKey
kms:Decrypt

Reading from it

Cribl Stream supports receiving data from Amazon Security Lake. The source reference lists a Pull type with TLS support (secure API) and Event Breaker support; Parquet reading requires Linux, via the .parquet, .parq, or .pqt filename extension.

The page describes Security Lake as aggregating, normalizing, and storing security-related data from an AWS system, outputting it in OCSF. Use it to transform, trim, or shape incoming data for a downstream Destination, or to collect from multiple AWS environments or Regions.

The Source functions nearly identically to the Amazon S3 Source. Both receive data via Security Lake event subscriptions or S3 bucket event notifications through SQS; the underlying data formats differ, and Stream supports both. Pulling data from HTTPS endpoints is not currently supported. Security Lake pushes the Parquet object to a queue in an S3 bucket and notifies Cribl Stream of its location; Stream pulls and deserializes it.

General Settings: the Input ID (clones get -CLONE appended) and the Queue, the name, URL, or ARN of the SQS queue. A non-AWS URL uses this format, copied from the source reference:

{url}/<queueName>
https://host:port/<queueName>

Optional Settings: Filename filter, a regex defaulting to .* evaluated against the S3 key's full path; Region, required unless the Queue entry includes one; and Tags for filtering and grouping in the UI.

Authentication offers three methods. Auto, the default, has the AWS SDK for JavaScript attempt credentials in a fixed order (environment variables, IAM Identity Center (SSO), the shared credentials file, IAM Roles for Amazon EC2/ECS, a JSON file on disk, and other providers). Manual, when not running on AWS, takes a static Access key and Secret key. Secret, also when not running on AWS, selects a stored Secret key pair from the internal secrets manager or an external KMS, with its C.Secret() reference expressions copied from the source reference:

${C.Secret('myKeyPair', 'keypair').apiKey}
${C.Secret('myKeyPair', 'keypair').secretKey}

Assume Role reaches resources in a different Region: Enable for Amazon S3 on by default, Enable for Amazon SQS off by default, Duration (seconds) defaulting to 3600 (the Destination's 900 to 43200 bounds), and AWS account ID naming the queue owner in a different account.

Processing: Event Breakers apply rulesets in order (default System Default Rule, buffer timeout defaulting to 10000 ms or 10 sec); Fields adds or modifies fields with JavaScript expressions; Include notification metadata adds the S3 event notification payload to a __sqsMetadata field on every event from the corresponding S3 file.

Advanced Settings:

Checkpointing, off by default, tracks how many events were processed per file; on resume the Source skips the first N seen and starts at N+1. Checkpoints live in memory, are written to disk once per second and on Worker shutdown, and are never shared between Worker Processes or Nodes.

The page offers Job Inspector, Live Data, Logs, and Monitoring for troubleshooting. Its internal fields are __final, __inputId, __source, and _time.

What the docs flag

Frequently asked questions

How does Cribl Stream send data to Amazon Security Lake?

Through the Amazon Security Lake Destination, which sends Parquet files in batches to the S3 bucket you name in its S3 bucket name setting. It is Non-Streaming, and its page documents file mechanics, not an OCSF normalization pass.

Which authentication method must be left selected on the Cribl Stream Amazon Security Lake Destination?

The default Auto method, which is the only method the Destination page documents. It uses the AWS instance metadata service to obtain short-lived credentials from the EC2 IAM role, or the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, and works only when running on AWS.

Can the Cribl Stream Amazon Security Lake Source read Parquet files on Windows or macOS?

No, Cribl Stream must run on Linux for this Source to read Parquet files, which it identifies by the .parquet, .parq, or .pqt filename extension. The Destination carries its own platform note: it is unavailable on Windows and macOS.

Why do the Cribl docs recommend cloning a Parquet schema before modifying it for the Amazon Security Lake Destination?

Modifying an existing schema in the Schema Library does not propagate your modifications to the Destination's copy of the schema. Cloning and renaming removes any doubt that the Destination will use the new version.

Source

Verified against Cribl Stream 4.20 documentation on August 25, 2026.