Connect Microsoft Sentinel to Amazon Web Services to Ingest AWS Service Log Data
In brief
The page now clarifies S3 and legacy CloudTrail connector instructions, AWS resource descriptions, Azure Government role assignment, credential locations, prerequisites, and troubleshooting links. The title and page metadata were also refreshed.
What Defender admins need to know
Administrators have clearer guidance when configuring or troubleshooting the AWS connectors; no configuration change is required.
Summaries are generated from the documentation change itself.
Documentation change
The comparison below shows only the changed extract. Use the full-page view for complete context.
title: Connect Microsoft Sentinel to Amazon Web Services to ingestIngest AWS service log dataService Log Data
description: Use the AWS connector to delegate Microsoft Sentinel access to AWS resource logs, creating a trust relationship between Amazon Web Services and Microsoft Sentinel.
ms.author: edbaynash
author: EdB-MSFT
ms.reviewer: krishsa
ms.topic: how-to
ms.date: 06/09/202507/01/2026
ai-usage: ai-assisted
ms.custom: msecd-doc-authoring-1016
#Customer intent: As a security engineer, I want to connect AWS service logs to Microsoft Sentinel so that analysts can centralize log management and enhance threat detection capabilities.
- AWS CloudTrail - Management and data events
- AWS CloudWatch - CloudWatch logs
S3 connector (new)
ThisThe S3 connector tab explains how to configure the AWS S3 connector using one of two methods:
- Automatic setup (Recommended)
- Manual setup
Prerequisites
Installation instructions for the AWS CLI (from AWS documentation)
Make sure that the logs from your selected AWS service use the format accepted by Microsoft Sentinel:
- Amazon VPC: .csv file in GZIP format with headers; delimiter: space.
- Amazon GuardDuty: json-line and GZIP formats.
- AWS CloudTrail: .json file in a GZIP format.
- CloudWatch: .csv file in a GZIP format without a header. If you need to convert your logs to this format, you can use this CloudWatch lambda function.
Automatic setup
To simplify the onboarding process, Microsoft Sentinel has provided a PowerShell script to automate the setup of the AWS side of the connector -connector; the required AWS resources, credentials, and permissions.
The script:
Enables specified AWS services to send logs to that S3 bucket, and notification messages to that SQS queue.
If necessary, creates
thatthe S3 bucket for log storage andthatthe SQS queue forthis purpose.notifications.Configures any necessary IAM permissions policies and applies them to the IAM role created above.
For Azure Government clouds, a specialized script creates a different OIDC web identity provider, to which itprovider and assigns the IAM assumed role.role to that provider.
Instructions
:::image type="content" source="media/connect-aws/aws-run-script.png" alt-text="Screenshot of command to run setup script and workspace ID." lightbox="media/connect-aws/aws-run-script.png":::
When the script finishes running, copy the Role ARN and the SQS URL from the script's output
(see example in first screenshot below)and paste them in their respective fields in the connector page under 2. Add connection(see second screenshot below).:::image type="content" source="media/connect-aws/aws-script-output.png" alt-text="Screenshot of output of A W S connector setup script." lightbox="media/connect-aws/aws-script-output.png":::
Set up your AWS environment as described in Set up your Amazon Web Services environment to collect AWS logs to Microsoft Sentinel.
In the AWS console:
- Enter the Identity and Access Management (IAM) service and navigate to the list of Roles. Select the role you created above.
In the details pane for the connector, select Open connector page.
Under 2. Add connection:
- Paste the IAM role ARN you copied
two steps agofrom the AWS IAM console into the Role to add field. - Paste the
URL of theSQS queue URL you copiedinfrom thelast stepAWS Simple Queue Service console into the SQS URL field. - Select a data type from the Destination table drop-down list. This tells the connector which AWS service's logs this connection is being established to collect, and into which Log Analytics table it stores the ingested data.
- Select Add connection.
- Paste the IAM role ARN you copied
Troubleshooting
Learn how toFor troubleshooting steps, see Troubleshoot Amazon Web Services S3 connector issues.
CloudTrail connector (legacy)
ThisThe CloudTrail connector (legacy) tab explains how to configure the AWS CloudTrail connector. The process of setting it up has two parts: the AWS side and the Microsoft Sentinel side. Each side's process produces information used by the other side. This two-way authentication creates secure communication.
Connect AWS CloudTrail
Setting up this connector has two steps:
- Create an AWS assumed role and grant access to the AWS Sentinel account
- Add the AWS role information to the AWS CloudTrail data connector
Create an AWS assumed role and grant access to the AWS Sentinel account
In Microsoft Sentinel, select Data connectors from the navigation menu.
Select Amazon Web Services from the data connectors gallery.
If you don't see the connector,
installverify that you installed the Amazon Web Services solutionfromas described in theContent Hubin Microsoft Sentinel. For more information, see Discover and manage Microsoft Sentinel out-of-the-box contentPrerequisites.In the details pane for the connector, select Open connector page.
Under Configuration, copy the Microsoft account ID and the External ID (Workspace ID) to your clipboard.
In a different browser window or tab, open the AWS console. Follow the instructions in the AWS documentation for creating a role for an AWS account.
- For the account type, instead of This account, choose Another AWS account.
Send formatted CloudWatch events to S3 using a lambda function (optional)
If your CloudWatch logs aren't in the format accepted by Microsoft Sentinel - .csv file in a GZIP format without a header - use a lambda function view the source code within AWS to send CloudWatch events to an S3 bucket in the accepted format..csv GZIP format without a header.
The lambda function uses Python 3.12 runtime and x86_64 architecture.
- Select Test to see how the event appears in the S3 bucket.
Next stepsRelated content
In this document, you learned how to connect to AWS resources to ingest their logs into Microsoft Sentinel. To learn more about Microsoft Sentinel, see the following articles:
Learn how toVisualize collected data on the Overview page.Get started detecting threats with Microsoft Sentinel.Threat detection in Microsoft Sentinel- Visualize and monitor your data by using workbooks in Microsoft Sentinel
to monitor your data.
@@ -1,11 +1,13 @@ ----title: Connect Microsoft Sentinel to Amazon Web Services to ingest AWS service log data+title: Connect Microsoft Sentinel to Amazon Web Services to Ingest AWS Service Log Data description: Use the AWS connector to delegate Microsoft Sentinel access to AWS resource logs, creating a trust relationship between Amazon Web Services and Microsoft Sentinel. ms.author: edbaynash author: EdB-MSFT ms.reviewer: krishsa ms.topic: how-to-ms.date: 06/09/2025+ms.date: 07/01/2026+ai-usage: ai-assisted+ms.custom: msecd-doc-authoring-1016 #Customer intent: As a security engineer, I want to connect AWS service logs to Microsoft Sentinel so that analysts can centralize log management and enhance threat detection capabilities.@@ -21,12 +23,11 @@ The Amazon Web Services (AWS) service log connector is available in two versions - [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) - [Management](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) and [data](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) events - [AWS CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) - [CloudWatch logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) - # [S3 connector (new)](#tab/s3) -This tab explains how to configure the AWS S3 connector using one of two methods: +The **S3 connector** tab explains how to configure the AWS S3 connector using one of two methods: -- [Automatic setup](#automatic-setup) (Recommended) +- [Automatic setup](#automatic-setup) (Recommended) - [Manual setup](#manual-setup) ## Prerequisites@@ -38,15 +39,14 @@ This tab explains how to configure the AWS S3 connector using one of two methods - [Installation instructions for the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) (from AWS documentation) - Make sure that the logs from your selected AWS service use the format accepted by Microsoft Sentinel: - - **Amazon VPC**: .csv file in GZIP format with headers; delimiter: space.- - **Amazon GuardDuty**: json-line and GZIP formats.- - **AWS CloudTrail**: .json file in a GZIP format.- - **CloudWatch**: .csv file in a GZIP format without a header. If you need to convert your logs to this format, you can use this [CloudWatch lambda function](#send-formatted-cloudwatch-events-to-s3-using-a-lambda-function-optional).-+ - **Amazon VPC**: .csv file in GZIP format with headers; delimiter: space.+ - **Amazon GuardDuty**: json-line and GZIP formats.+ - **AWS CloudTrail**: .json file in a GZIP format.+ - **CloudWatch**: .csv file in a GZIP format without a header. If you need to convert your logs to this format, you can use this [CloudWatch lambda function](#send-formatted-cloudwatch-events-to-s3-using-a-lambda-function-optional). ## Automatic setup -To simplify the onboarding process, Microsoft Sentinel has provided a [PowerShell script to automate the setup](https://github.com/Azure/Azure-Sentinel/tree/master/DataConnectors/AWS-S3) of the AWS side of the connector - the required AWS resources, credentials, and permissions.+To simplify the onboarding process, Microsoft Sentinel has provided a [PowerShell script to automate the setup](https://github.com/Azure/Azure-Sentinel/tree/master/DataConnectors/AWS-S3) of the AWS side of the connector; the required AWS resources, credentials, and permissions. The script: @@ -56,11 +56,11 @@ The script: - Enables specified AWS services to send logs to that S3 bucket, and notification messages to that SQS queue. -- If necessary, creates that S3 bucket and that SQS queue for this purpose.+- If necessary, creates the S3 bucket for log storage and the SQS queue for notifications. - Configures any necessary IAM permissions policies and applies them to the IAM role created above. -For Azure Government clouds, a specialized script creates a different OIDC web identity provider, to which it assigns the IAM assumed role.+For Azure Government clouds, a specialized script creates a different OIDC web identity provider and assigns the IAM assumed role to that provider. ### Instructions @@ -89,7 +89,7 @@ To run the script to set up the connector, use the following steps: :::image type="content" source="media/connect-aws/aws-run-script.png" alt-text="Screenshot of command to run setup script and workspace ID." lightbox="media/connect-aws/aws-run-script.png"::: -1. When the script finishes running, copy the **Role ARN** and the **SQS URL** from the script's output (see example in first screenshot below) and paste them in their respective fields in the connector page under **2. Add connection** (see second screenshot below).+1. When the script finishes running, copy the **Role ARN** and the **SQS URL** from the script's output and paste them in their respective fields in the connector page under **2. Add connection**. :::image type="content" source="media/connect-aws/aws-script-output.png" alt-text="Screenshot of output of A W S connector setup script." lightbox="media/connect-aws/aws-script-output.png"::: @@ -106,7 +106,7 @@ We recommend using the automatic setup script to deploy this connector. If for w 1. Set up your AWS environment as described in [Set up your Amazon Web Services environment to collect AWS logs to Microsoft Sentinel](connect-aws-configure-environment.md#manual-setup). -1. In the AWS console: +1. In the AWS console: 1. Enter the **Identity and Access Management (IAM)** service and navigate to the list of **Roles**. Select the role you created above. @@ -123,8 +123,8 @@ We recommend using the automatic setup script to deploy this connector. If for w 1. In the details pane for the connector, select **Open connector page**. 1. Under **2. Add connection**:- 1. Paste the IAM role ARN you copied two steps ago into the **Role to add** field.- 1. Paste the URL of the SQS queue you copied in the last step into the **SQS URL** field.+ 1. Paste the IAM role ARN you copied from the AWS IAM console into the **Role to add** field.+ 1. Paste the SQS queue URL you copied from the AWS Simple Queue Service console into the **SQS URL** field. 1. Select a data type from the **Destination table** drop-down list. This tells the connector which AWS service's logs this connection is being established to collect, and into which Log Analytics table it stores the ingested data. 1. Select **Add connection**. @@ -142,11 +142,11 @@ We recommend using the automatic setup script to deploy this connector. If for w ### Troubleshooting -Learn how to [troubleshoot Amazon Web Services S3 connector issues](aws-s3-troubleshoot.md).+For troubleshooting steps, see [Troubleshoot Amazon Web Services S3 connector issues](aws-s3-troubleshoot.md). # [CloudTrail connector (legacy)](#tab/ct) -This tab explains how to configure the AWS CloudTrail connector. The process of setting it up has two parts: the AWS side and the Microsoft Sentinel side. Each side's process produces information used by the other side. This two-way authentication creates secure communication.+The **CloudTrail connector (legacy)** tab explains how to configure the AWS CloudTrail connector. The process of setting it up has two parts: the AWS side and the Microsoft Sentinel side. Each side's process produces information used by the other side. This two-way authentication creates secure communication. > [!NOTE] > AWS CloudTrail has [built-in limitations](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) in its LookupEvents API. It allows no more than two transactions per second (TPS) per account, and each query can return a maximum of 50 records. If a single tenant constantly generates more than 100 records per second in one region, backlogs and delays in data ingestion will result.@@ -164,21 +164,22 @@ This tab explains how to configure the AWS CloudTrail connector. The process of ## Connect AWS CloudTrail Setting up this connector has two steps:+ - [Create an AWS assumed role and grant access to the AWS Sentinel account](#create-an-aws-assumed-role-and-grant-access-to-the-aws-sentinel-account) - [Add the AWS role information to the AWS CloudTrail data connector](#add-the-aws-role-information-to-the-aws-cloudtrail-data-connector) -#### Create an AWS assumed role and grant access to the AWS Sentinel account+### Create an AWS assumed role and grant access to the AWS Sentinel account 1. In Microsoft Sentinel, select **Data connectors** from the navigation menu. 1. Select **Amazon Web Services** from the data connectors gallery. - If you don't see the connector, install the Amazon Web Services solution from the **Content Hub** in Microsoft Sentinel. For more information, see [Discover and manage Microsoft Sentinel out-of-the-box content](sentinel-solutions-deploy.md).+ If you don't see the connector, verify that you installed the Amazon Web Services solution as described in the [Prerequisites](#prerequisites-1). 1. In the details pane for the connector, select **Open connector page**. 1. Under **Configuration**, copy the **Microsoft account ID** and the **External ID (Workspace ID)** to your clipboard.- + 1. In a different browser window or tab, open the AWS console. Follow the [instructions in the AWS documentation for creating a role for an AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html). - For the account type, instead of **This account**, choose **Another AWS account**.@@ -210,7 +211,7 @@ Setting up this connector has two steps: ## Send formatted CloudWatch events to S3 using a lambda function (optional) -If your CloudWatch logs aren't in the format accepted by Microsoft Sentinel - .csv file in a GZIP format without a header - use a lambda function [view the source code](https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/AWS-S3/CloudWatchLambdaFunction.py) within AWS to send CloudWatch events to an S3 bucket in the accepted format.+If your CloudWatch logs aren't in the format accepted by Microsoft Sentinel - .csv file in a GZIP format without a header - use a lambda function [view the source code](https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/AWS-S3/CloudWatchLambdaFunction.py) within AWS to send CloudWatch events to an S3 bucket in .csv GZIP format without a header. The lambda function uses Python 3.12 runtime and x86_64 architecture. @@ -245,9 +246,8 @@ To deploy the lambda function: 1. Select **Test** to see how the event appears in the S3 bucket. -## Next steps+## Related content -In this document, you learned how to connect to AWS resources to ingest their logs into Microsoft Sentinel. To learn more about Microsoft Sentinel, see the following articles:-- Learn how to [get visibility into your data, and potential threats](get-visibility.md).-- Get started [detecting threats with Microsoft Sentinel](detect-threats-built-in.md).-- [Use workbooks](monitor-your-data.md) to monitor your data.+- [Visualize collected data on the Overview page](get-visibility.md)+- [Threat detection in Microsoft Sentinel](threat-detection.md)+- [Visualize and monitor your data by using workbooks in Microsoft Sentinel](monitor-your-data.md) 