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
Copy file name to clipboardExpand all lines: articles/sentinel/connect-aws-eks.md
+41-41Lines changed: 41 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
2
title: Connect Microsoft Sentinel to Amazon Web Services to ingest AWS EKS logs
3
3
description: Use the Amazon Web Services (AWS) S3-based Elastic Kubernetes Service (EKS) connector to ingest AWS EKS audit logs, collected in AWS S3 buckets, to Microsoft Sentinel.
4
-
author: batamig
5
-
ms.author: bagol
4
+
author: EdB-MSFT
5
+
ms.author: edbaynash
6
6
ms.topic: how-to
7
-
ms.date: 03/27/2026
7
+
ms.date: 04/15/2026
8
8
appliesto:
9
9
- Microsoft Sentinel in the Microsoft Defender portal
10
10
- Microsoft Sentinel in the Azure portal
@@ -39,7 +39,7 @@ This article explains how to configure the Amazon Web Services S3 EKS connector.
39
39
40
40
- You must have write permission on the Microsoft Sentinel workspace.
41
41
42
-
- Install the Amazon Web Services solution from the **Content Hub** in Microsoft Sentinel. If you have an earlier version of the solution already installed, update the solution in the content hub to ensure you have the latest version that includes this connector. For more information, see [Discover and manage Microsoft Sentinel out-of-the-box content](sentinel-solutions-deploy.md).
42
+
- Install the Amazon Web Services solution from the **Content Hub** in Microsoft Sentinel. If you already installed an earlier version of the solution, update the solution in the content hub to ensure you have the latest version that includes this connector. For more information, see [Discover and manage Microsoft Sentinel out-of-the-box content](sentinel-solutions-deploy.md).
43
43
44
44
- You must have an existing AWS EKS cluster with audit logging enabled, or the ability to enable audit logging on your EKS cluster during the setup process.
45
45
@@ -54,11 +54,11 @@ This article explains how to configure the Amazon Web Services S3 EKS connector.
54
54
55
55
## Enable and configure the Amazon Web Services S3 EKS connector
56
56
57
-
The process of enabling and configuring the connector consists of the following tasks:
57
+
To enable and configure the connector, complete the following tasks:
58
58
59
59
-**In your AWS environment:**
60
60
61
-
The **Amazon Web Services S3 EKS** connector page in Microsoft Sentinel contains downloadable AWS CloudFormation stack templates that automate the following AWS tasks:
61
+
The **Amazon Web Services S3 EKS** connector page in Microsoft Sentinel provides downloadable AWS CloudFormation stack templates that automate the following AWS tasks:
62
62
63
63
- Configure your AWS EKS cluster to send audit logs to **CloudWatch Logs**.
64
64
@@ -82,14 +82,14 @@ The process of enabling and configuring the connector consists of the following
82
82
83
83
## Set up the AWS environment
84
84
85
-
To simplify the onboarding process, the **Amazon Web Services S3 EKS** connector page in Microsoft Sentinel contains downloadable templates for you to use with the AWS CloudFormation service. The CloudFormation service uses these templates to automatically create resource stacks in AWS. These stacks include the resources themselves as described in this article, and credentials, permissions, and policies.
85
+
To simplify the onboarding process, the **Amazon Web Services S3 EKS** connector page in Microsoft Sentinel provides downloadable templates for use with the AWS CloudFormation service. The CloudFormation service uses these templates to automatically create resource stacks in AWS. These stacks include the resources described in this article, along with credentials, permissions, and policies.
86
86
87
87
> [!NOTE]
88
-
> We strongly recommend using the automatic setup process. For special cases, see the [manual setup instructions](connect-aws-configure-environment.md#manual-setup).
88
+
> Use the automatic setup process. For special cases, see the [manual setup instructions](connect-aws-configure-environment.md#manual-setup).
89
89
90
90
### Prepare the template files
91
91
92
-
To run the script to set up the AWS environment, use the following steps:
92
+
To run the script that sets up the AWS environment, use the following steps:
93
93
94
94
1. In the Azure portal, from the Microsoft Sentinel navigation menu, expand **Configuration**, and select **Data connectors**.
95
95
@@ -103,7 +103,7 @@ To run the script to set up the AWS environment, use the following steps:
103
103
104
104
:::image type="content" source="media/connect-aws-s3-waf/find-aws-waf-connector.png" alt-text="Screenshot of data connectors gallery showing AWS S3 EKS connector.":::
105
105
106
-
1. In the **Configuration** section, under **1. AWS CloudFormation Deployment**, select the [AWS CloudFormation Stacks](https://aka.ms/awsCloudFormationLink#/stacks/create) link. This opens the AWS console in a new browser tab.
106
+
1. In the **Configuration** section, under **1. AWS CloudFormation Deployment**, select the [AWS CloudFormation Stacks](https://aka.ms/awsCloudFormationLink#/stacks/create) link. This action opens the AWS console in a new browser tab.
107
107
108
108
1. Return to the tab of the portal where you have Microsoft Sentinel open. Select **Download** under *Template 1: OpenID Connect authentication deployment* to download the template that creates the OIDC web identity provider. The template is downloaded as a JSON file to your designated downloads folder.
109
109
@@ -118,18 +118,18 @@ To run the script to set up the AWS environment, use the following steps:
118
118
119
119
Return to the AWS Console browser tab, which is open to the AWS CloudFormation page for creating a stack.
120
120
121
-
If you're not already logged in to AWS, log in now, and you're redirected to the AWS CloudFormation page.
121
+
If you're not already signed in to AWS, sign in now. You're redirected to the AWS CloudFormation page.
122
122
123
123
#### Create the OIDC web identity provider
124
124
125
125
> [!IMPORTANT]
126
-
> If you already have the OIDC web identity provider from a previous AWS connector setup, skip this step and proceed to [Create the remaining AWS resources](#create-the-remaining-aws-resources).<br>If you already have an OIDC Connect provider set up for Microsoft Defender for Cloud, add Microsoft Sentinel as an audience to your existing provider (Commercial: `api://1462b192-27f7-4cb9-8523-0f4ecb54b47e`, Government:`api://d4230588-5f84-4281-a9c7-2c15194b28f7`). Do not try to create a new OIDC provider for Microsoft Sentinel.
126
+
> If you already have the OIDC web identity provider from a previous AWS connector setup, skip this step and proceed to [Create the remaining AWS resources](#create-the-remaining-aws-resources).<br>If you already have an OIDC Connect provider set up for Microsoft Defender for Cloud, add Microsoft Sentinel as an audience to your existing provider (Commercial: `api://1462b192-27f7-4cb9-8523-0f4ecb54b47e`, Government:`api://d4230588-5f84-4281-a9c7-2c15194b28f7`). Don't try to create a new OIDC provider for Microsoft Sentinel.
127
127
128
128
Follow the instructions on the AWS Console page for creating a new stack.
129
129
130
130
1. Specify a template and upload a template file.
131
131
132
-
1. Select **Choose file** and locate the "*Template 1: OpenID connect authentication deployment.json*" file you downloaded.
132
+
1. Select **Choose file** and locate the *Template 1: OpenID connect authentication deployment.json* file you downloaded.
133
133
134
134
1. Choose a name for the stack.
135
135
@@ -139,66 +139,66 @@ Follow the instructions on the AWS Console page for creating a new stack.
139
139
140
140
1. Return to the AWS CloudFormation stacks page and create a new stack.
141
141
142
-
1. Select **Choose file** and locate the "*Template 2: AWS EKS resources deployment.json*" file you downloaded.
142
+
1. Select **Choose file** and locate the *Template 2: AWS EKS resources deployment.json* file you downloaded.
143
143
144
144
1. Choose a name for the stack.
145
145
146
-
1.Where prompted, enter the following parameters:
146
+
1.When prompted, enter the following parameters:
147
147
148
148
-**EKSClusterName**: Enter the name of your existing EKS cluster.
149
149
-**Microsoft Sentinel Workspace ID**: To find your Workspace ID:
150
150
- In the Azure portal, in the Microsoft Sentinel navigation menu, expand **Configuration** and select **Settings**. Select the **Workspace settings** tab, and find the Workspace ID on the Log Analytics workspace page.
151
151
- In the Defender portal, in the quick launch menu, expand **System** and select **Settings**. Select **Microsoft Sentinel**, then select **Log Analytics settings** under **Settings for `[WORKSPACE_NAME]`**. Find the Workspace ID on the Log Analytics workspace page, which opens in a new browser tab.
152
-
-**BucketName**: Enter a unique name for the S3 bucket where EKS audit logs will be stored.
152
+
-**BucketName**: Enter a unique name for the S3 bucket where EKS audit logs are stored.
153
153
-**SentinelSQSQueueName**: Enter a name for the SQS queue (default: MicrosoftSentinelEKSSqs).
154
154
-**AwsRoleName**: Enter a name for the IAM role (must start with "OIDC_", default: OIDC_MicrosoftSentinelRoleEKS).
155
155
156
156
1. Advance through the rest of the process and create the stack.
157
157
158
-
1. After the stack creation is complete, navigate to the **Outputs** section of the CloudFormation stack and note the following values:
158
+
1. After the stack creation is complete, go to the **Outputs** section of the CloudFormation stack and note the following values:
159
159
-**SentinelRoleArn**: The ARN of the IAM role created for Microsoft Sentinel access.
160
160
-**SentinelSQSQueueURL**: The URL of the SQS queue.
161
161
-**Step1EnableEKSAuditLogging**: AWS CLI command to enable EKS audit logging.
162
162
-**Step2CreateSubscriptionFilter**: AWS CLI command to create the CloudWatch Logs subscription filter.
163
163
164
164
### Enable EKS audit logging and configure log streaming
165
165
166
-
After the CloudFormation stacks are created, you need to enable audit logging on your EKS cluster and configure log streaming:
166
+
After creating the CloudFormation stacks, enable audit logging on your EKS cluster and configure log streaming:
167
167
168
-
1. If audit logging is not already enabled on your EKS cluster, run the command provided in the **Step1EnableEKSAuditLogging** output from the CloudFormation stack.
168
+
1. If audit logging isn't already enabled on your EKS cluster, run the command provided in the **Step1EnableEKSAuditLogging** output from the CloudFormation stack.
169
169
170
-
2. Wait approximately 5 minutes for audit logs to start appearing in CloudWatch Logs.
170
+
1. Wait about five minutes for audit logs to start appearing in CloudWatch Logs.
171
171
172
-
3. Run the command provided in the **Step2CreateSubscriptionFilter** output to create a subscription filter that streams audit logs from CloudWatch to the Kinesis Data Firehose delivery stream.
172
+
1. Run the command provided in the **Step2CreateSubscriptionFilter** output to create a subscription filter that streams audit logs from CloudWatch to the Kinesis Data Firehose delivery stream.
173
173
174
-
4. The Lambda function will automatically transform the EKS audit logs into the format expected by Microsoft Sentinel and deliver them to S3, where they will trigger SQS notifications for ingestion.
174
+
1. The Lambda function automatically transforms the EKS audit logs into the format expected by Microsoft Sentinel and delivers them to S3, where they trigger SQS notifications for ingestion.
175
175
176
176
## Add log collectors
177
177
178
-
When the resource stacks are all created and EKS audit logging is configured, return to the browser tab open to the data connector page in Microsoft Sentinel, and begin the second part of the configuration process.
178
+
When you create the resource stacks and configure EKS audit logging, return to the browser tab open to the data connector page in Microsoft Sentinel, and begin the second part of the configuration process.
179
179
180
180
1. In the **Configuration** section, under **2. Connect new collectors**, select **Add new collector**.
181
181
182
182
:::image type="content" source="media/connect-aws-s3-waf/add-new-collector.png" alt-text="Screenshot of second part of AWS EKS connector configuration." lightbox="media/connect-aws-s3-waf/add-new-collector.png":::
183
183
184
-
1.Input the role ARN of the IAM role that was created. Use the value from the **SentinelRoleArn** output of your CloudFormation stack (e.g., `arn:aws:iam::{AWS_ACCOUNT_ID}:role/OIDC_MicrosoftSentinelRoleEKS`).
184
+
1.Enter the role ARN of the IAM role that you created. Use the value from the **SentinelRoleArn** output of your CloudFormation stack (for example, `arn:aws:iam::{AWS_ACCOUNT_ID}:role/OIDC_MicrosoftSentinelRoleEKS`).
185
185
186
-
1.Input the SQS queue URL that was created. Use the value from the **SentinelSQSQueueURL** output of your CloudFormation stack (e.g., `https://sqs.{AWS_REGION}.amazonaws.com/{AWS_ACCOUNT_ID}/MicrosoftSentinelEKSSqs`).
186
+
1.Enter the SQS queue URL that you created. Use the value from the **SentinelSQSQueueURL** output of your CloudFormation stack (for example, `https://sqs.{AWS_REGION}.amazonaws.com/{AWS_ACCOUNT_ID}/MicrosoftSentinelEKSSqs`).
187
187
188
-
1. Select **Connect** to add the collector. This creates a data collection rule for the Azure Monitor Agent to retrieve the logs and ingest them into the dedicated *AWSEKSLogs_CL* table in your Log Analytics workspace.
188
+
1. Select **Connect** to add the collector. This action creates a data collection rule for the Azure Monitor Agent to retrieve the logs and ingest them into the dedicated *AWSEKSLogs_CL* table in your Log Analytics workspace.
189
189
190
190
:::image type="content" source="media/connect-aws-s3-waf/enter-collector-details.png" alt-text="Screenshot of adding new collector for EKS logs.":::
191
191
192
192
## Verify data ingestion
193
193
194
-
1. After the connector is set up, go to the **Logs** page (or the **Advanced hunting** page in the Defender portal) and run the following query. If you get any results, the connector is working properly.
194
+
1. After setting up the connector, go to the **Logs** page (or the **Advanced hunting** page in the Defender portal) and run the following query. If you get any results, the connector is working properly.
195
195
196
196
```kusto
197
197
AWSEKSLogs_CL
198
198
| take 10
199
199
```
200
200
201
-
2. You can also run more specific queries to explore your EKS audit data:
201
+
1. You can also run more specific queries to explore your EKS audit data.
202
202
203
203
```kusto
204
204
// View recent EKS audit events by verb (API action)
@@ -228,7 +228,7 @@ When the resource stacks are all created and EKS audit logging is configured, re
228
228
229
229
## Schema reference
230
230
231
-
The EKS audit logs are ingested into the **AWSEKSLogs_CL** table with the following schema:
231
+
The EKS audit logs ingest into the **AWSEKSLogs_CL** table with the following schema:
232
232
233
233
| Column | Type | Description |
234
234
|--------|------|-------------|
@@ -250,25 +250,25 @@ The EKS audit logs are ingested into the **AWSEKSLogs_CL** table with the follow
250
250
251
251
### Common issues and solutions
252
252
253
-
- **No data appearing in AWSEKSLogs_CL table:**
254
-
- Verify that EKS audit logging is enabled on your cluster
255
-
- Check that the CloudWatch Logs subscription filter is correctly configured
256
-
- Ensure the Lambda function is processing logs without errors (check CloudWatch Logs for Lambda function logs)
257
-
- Verify that S3 bucket notifications are configured correctly to trigger SQS messages
253
+
- **No data appears in AWSEKSLogs_CL table:**
254
+
- Verify that EKS audit logging is enabled on your cluster.
255
+
- Check that the CloudWatch Logs subscription filter is correctly configured.
256
+
- Ensure the Lambda function processes logs without errors. Check CloudWatch Logs for Lambda function logs.
257
+
- Verify that S3 bucket notifications are configured correctly to trigger SQS messages.
258
258
259
259
- **CloudFormation stack creation fails:**
260
-
- Ensure you have sufficient IAM permissions to create all required resources
261
-
- Check that the EKS cluster name you provided exists in your account
262
-
- Verify that the S3 bucket name is globally unique
260
+
- Ensure you have sufficient IAM permissions to create all required resources.
261
+
- Check that the EKS cluster name you provided exists in your account.
262
+
- Verify that the S3 bucket name is globally unique.
263
263
264
264
- **Authentication errors:**
265
-
- Verify that the OIDC web identity provider is correctly configured
266
-
- Ensure the IAM role permissions are sufficient for accessing S3 and SQS resources
267
-
- Check that the workspace ID used in the CloudFormation template matches your Microsoft Sentinel workspace
265
+
- Verify that the OIDC web identity provider is correctly configured.
266
+
- Ensure the IAM role permissions are sufficient for accessing S3 and SQS resources.
267
+
- Check that the workspace ID used in the CloudFormation template matches your Microsoft Sentinel workspace.
268
268
269
269
### Advanced monitoring
270
270
271
-
If you haven't already done so, we recommend that you implement **data connector health monitoring** so that you can know when connectors aren't receiving data or have other issues. For more information, see [Monitor the health of your data connectors](monitor-data-connector-health.md).
271
+
If you haven't already done so, implement data connector health monitoring so that you can know when connectors aren't receiving data or have other issues. For more information, see [Monitor the health of your data connectors](monitor-data-connector-health.md).
0 commit comments