You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When accessing S3 buckets in another AWS account, configure `role_arn` and optionally use temporary credentials. The assumed role must have the S3 and SQS permissions above. The target role's trust policy must allow assumption from the source account, with optional `ExternalId` condition for Security Lake scenarios.
151
+
:::
152
+
98
153
The Amazon S3 device operates as an event-driven pull-type data source that processes S3 objects based on SQS notifications. The device continuously polls an SQS queue for S3 event messages, downloads the referenced objects, and processes their contents through the telemetry pipeline.
99
154
100
155
**Event Processing Flow**: The device receives S3 event notifications from SQS containing bucket name and object key information. For each ObjectCreated event (Put, Post, Copy, CompleteMultipartUpload), the device downloads the S3 object and processes it according to its file type. After successful processing, the SQS message is deleted to prevent reprocessing.
Security Lake typically requires cross-account access via `role_arn` with `external_id`. The calling identity needs `sts:AssumeRole` on the target role. The target role's trust policy must allow assumption from the source account with the configured `ExternalId` condition. The assumed role must have the S3 and SQS permissions above attached to it.
169
+
:::
170
+
103
171
The Amazon Security Lake device implements a pull-type consumer pattern that integrates with Amazon Security Lake's S3-backed architecture. Security Lake stores normalized security data in OCSF format as Parquet files, and publishes S3 ObjectCreated events to an SQS queue. The device polls this queue, downloads referenced Parquet files, and ingests OCSF events into DataStream.
104
172
105
173
**OCSF Schema Validation**: When enabled, the device validates each Parquet record against OCSF schema requirements. Invalid records generate warnings but do not halt file processing. Disable validation for performance-critical scenarios or when processing pre-validated data.
Copy file name to clipboardExpand all lines: docs/configuration/devices/azure-blob-storage.mdx
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,6 +71,23 @@ Avoid hardcoding `connection_string` and `client_secret` in plain text. Prefer r
71
71
72
72
## Details
73
73
74
+
### IAM Permissions
75
+
76
+
When using service principal authentication, the following Azure RBAC roles are required:
77
+
78
+
|Azure Role|Scope|Purpose|
79
+
|---|---|---|
80
+
|`Storage Blob Data Reader`|Storage Account or Container|Read blobs and blob properties|
81
+
|`Storage Queue Data Message Processor`|Storage Account or Queue|Dequeue and delete queue messages|
82
+
83
+
:::note Connection String Authentication
84
+
When using connection string authentication, Azure RBAC roles are not applicable. The shared key embedded in the connection string provides full storage account access.
85
+
:::
86
+
87
+
:::note Startup Validation
88
+
The device validates connectivity at startup by reading blob service properties and queue metadata. The recommended roles above may not fully cover these validation calls. If startup validation fails, either use a custom role with the exact data actions or assign `Storage Queue Data Contributor` instead of `Storage Queue Data Message Processor` for broader queue access.
89
+
:::
90
+
74
91
The Azure Blob Storage device operates as a pull-type data source that periodically scans Azure storage containers for new files. The device supports multiple file formats and provides flexible authentication options for enterprise environments.
75
92
76
93
**File Format Processing**: The device automatically detects and processes files based on the configured format. JSON files are parsed as individual objects, JSONL files process each line as a separate record, and Parquet files are read using columnar processing for efficient large-data handling.
Copy file name to clipboardExpand all lines: docs/configuration/devices/event-hubs.mdx
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,23 @@ To enhance performance and achieve better message handling, the following settin
118
118
|`reuse`|N|`true`|Enable multi-worker mode|
119
119
|`workers`|N|`4`|Number of worker processes when reuse enabled|
120
120
121
+
## Details
122
+
123
+
### IAM Permissions
124
+
125
+
When using service principal authentication, the following Azure RBAC roles are required:
126
+
127
+
|Azure Role|Scope|Purpose|
128
+
|---|---|---|
129
+
|`Azure Event Hubs Data Receiver`|Event Hubs Namespace or Event Hub|Consume events and read hub properties|
130
+
|`Storage Blob Data Contributor`|Storage Account or Container|Read, write, and list checkpoint blobs|
131
+
132
+
The checkpoint storage requires `Contributor` (not just `Reader`) because the device writes checkpoint state and manages ownership blobs for partition load balancing.
133
+
134
+
:::note Connection String Authentication
135
+
When using connection string authentication, Azure RBAC roles are not needed for Event Hubs access. The Shared Access Policy embedded in the connection string governs access (typically `Listen` claim for consumers). Checkpoint storage still requires either a connection string or RBAC role assignment.
Copy file name to clipboardExpand all lines: docs/configuration/devices/microsoft-sentinel.mdx
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,6 +64,22 @@ The following fields are used to define the device:
64
64
|---|---|---|---|
65
65
|`batch_size`|N|`1000`|Number of incidents to fetch per batch|
66
66
67
+
## Details
68
+
69
+
### IAM Permissions
70
+
71
+
The service principal requires the following Azure RBAC role:
72
+
73
+
|Azure Role|Scope|Purpose|
74
+
|---|---|---|
75
+
|`Microsoft Sentinel Reader`|Log Analytics Workspace|Read incidents from Microsoft Sentinel|
76
+
77
+
The device is strictly read-only — it only lists incidents using `Microsoft.SecurityInsights/incidents/read`. No create, update, or delete operations are performed.
78
+
79
+
:::note Scope
80
+
Assign the role at the Log Analytics Workspace level rather than the subscription or resource group level for least-privilege access.
Copy file name to clipboardExpand all lines: docs/configuration/targets/_managed-identity.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Azure targets support **Managed Identity** authentication for credential-free ac
17
17
- Azure Kubernetes Service (AKS)
18
18
- Azure Functions
19
19
20
-
**Required permissions**: The Managed Identity must be granted appropriate roles on the target Azure resource (e.g., `Storage Blob Data Contributor` for Blob Storage, `Azure Event Hubs Data Sender` for Event Hubs).
20
+
**Required permissions**: The Managed Identity must be granted the appropriate Azure RBAC roles documented in each target's **IAM Permissions** section.
21
21
22
22
:::note
23
23
Managed Identity eliminates credential management overhead and is the recommended authentication method for Azure-hosted Director deployments.
Per the AWS Service Authorization Reference, `s3:PutObject` covers `CreateMultipartUpload`, `UploadPart`, and `CompleteMultipartUpload`. Only `s3:AbortMultipartUpload` requires its own IAM action.
Copy file name to clipboardExpand all lines: docs/configuration/targets/aws/amazon-cloudwatch.mdx
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -90,6 +90,48 @@ Amazon CloudWatch Logs supports a maximum of 10,000 log events per PutLogEvents
90
90
91
91
Supports static credentials (access key and secret key) with optional session tokens for temporary credentials. When deployed on AWS infrastructure, can leverage IAM role-based authentication without explicit credentials.
92
92
93
+
All authentication methods call `sts:GetCallerIdentity` during initialization to validate credentials before proceeding.
94
+
95
+
### IAM Permissions
96
+
97
+
When using IAM role-based authentication, the following permissions are required:
98
+
99
+
|IAM Action|Purpose|
100
+
|---|---|
101
+
|`sts:GetCallerIdentity`|Validate credentials at initialization|
102
+
|`logs:CreateLogGroup`|Create log group if it does not exist|
103
+
|`logs:CreateLogStream`|Create log stream if it does not exist|
104
+
|`logs:PutLogEvents`|Send log events to the stream|
Copy file name to clipboardExpand all lines: docs/configuration/targets/aws/amazon-kinesis.mdx
+33Lines changed: 33 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,6 +92,39 @@ Amazon Kinesis Data Streams is a fully managed streaming data service that captu
92
92
93
93
Supports static credentials (access key and secret key) with optional session tokens for temporary credentials. When deployed on AWS infrastructure, can leverage IAM role-based authentication without explicit credentials.
94
94
95
+
All authentication methods call `sts:GetCallerIdentity` during initialization to validate credentials before proceeding.
96
+
97
+
### IAM Permissions
98
+
99
+
When using IAM role-based authentication, the following permissions are required:
100
+
101
+
|IAM Action|Purpose|
102
+
|---|---|
103
+
|`sts:GetCallerIdentity`|Validate credentials at initialization|
104
+
|`kinesis:PutRecords`|Send batch of records to stream|
0 commit comments