Skip to content

Commit 135368b

Browse files
authored
Merge pull request #268078 from yaelrbergman/docs-editor/connect-aws-1709639057
Update connect-aws.md
2 parents ebe8827 + 6eb95ad commit 135368b

File tree

1 file changed

+30
-42
lines changed

1 file changed

+30
-42
lines changed

articles/sentinel/connect-aws.md

Lines changed: 30 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@ This connector is available in two versions: the legacy connector for CloudTrail
1818
- [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
1919
- [AWS CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) - [CloudWatch logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)
2020

21-
> [!IMPORTANT]
22-
>
23-
> - The Amazon Web Services S3 connector is currently in **PREVIEW**. See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
24-
2521
# [S3 connector (new)](#tab/s3)
2622

2723
This tab explains how to configure the AWS S3 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.
@@ -52,9 +48,7 @@ This graphic and the following text show how the parts of this connector solutio
5248

5349
- The connector reads the message with the path, then fetches the files from the S3 bucket.
5450

55-
- To connect to the SQS queue and the S3 bucket, Microsoft Sentinel uses AWS credentials and connection information embedded in the AWS S3 connector's configuration. The AWS credentials are configured with a role and a permissions policy giving them access to those resources. Similarly, the Microsoft Sentinel workspace ID is embedded in the AWS configuration, so there is in effect two-way authentication.
56-
57-
For customers in **Azure Government clouds**, Microsoft Sentinel uses a federated web identity provider (Microsoft Entra ID) for authenticating with AWS through OpenID Connect (OIDC), and assuming an AWS IAM role.
51+
- To connect to the SQS queue and the S3 bucket, Microsoft Sentinel uses a federated web identity provider (Microsoft Entra ID) for authenticating with AWS through OpenID Connect (OIDC), and assuming an AWS IAM role. The role is configured with a permissions policy giving it access to those resources.
5852

5953
## Connect the S3 connector
6054

@@ -64,9 +58,11 @@ This graphic and the following text show how the parts of this connector solutio
6458

6559
- Create a **Simple Queue Service (SQS) queue** to provide notification.
6660

67-
- Create an **assumed role** to grant permissions to your Microsoft Sentinel account (external ID) to access your AWS resources.
61+
- Create a **web identity provider** to authenticate users to AWS through OpenID Connect (OIDC).
6862

69-
- Attach the appropriate **IAM permissions policies** to grant Microsoft Sentinel access to the appropriate resources (S3 bucket, SQS).
63+
- Create an **assumed role** to grant permissions to users authenticated by the OIDC web identity provider to access your AWS resources.
64+
65+
- Attach the appropriate **IAM permissions policies** to grant the assumed role access to the appropriate resources (S3 bucket, SQS).
7066

7167
We have made available, in our GitHub repository, a script that **automates the AWS side of this process**. See the instructions for [automatic setup](#automatic-setup) later in this document.
7268

@@ -80,15 +76,17 @@ To simplify the onboarding process, Microsoft Sentinel has provided a [PowerShel
8076

8177
The script takes the following actions:
8278

83-
- Creates an *IAM assumed role* with the minimal necessary permissions, to grant Microsoft Sentinel access to your logs in a given S3 bucket and SQS queue.
79+
- Creates an OIDC web identity provider, to authenticate Microsoft Entra ID users to AWS.
80+
81+
- Creates an *IAM assumed role* with the minimal necessary permissions, to grant OIDC-authenticated users access to your logs in a given S3 bucket and SQS queue.
8482

8583
- Enables specified AWS services to send logs to that S3 bucket, and notification messages to that SQS queue.
8684

8785
- If necessary, creates that S3 bucket and that SQS queue for this purpose.
8886

8987
- Configures any necessary IAM permissions policies and applies them to the IAM role created above.
9088

91-
For Azure Government clouds, a specialized script first creates an OIDC identity provider, to which it assigns the IAM assumed role. It then performs all the other steps above.
89+
For Azure Government clouds, a specialized script creates a different OIDC web identity provider, to which it assigns the IAM assumed role.
9290

9391
### Prerequisites for automatic setup
9492

@@ -169,50 +167,41 @@ Microsoft recommends using the automatic setup script to deploy this connector.
169167

170168
1. Under **Configuration**, expand **Setup with PowerShell script (recommended)**, then copy the **External ID (Workspace ID)** to your clipboard.
171169

172-
### Create an AWS assumed role and grant access to the AWS Sentinel account
173-
174-
The following instructions apply for public **Azure Commercial clouds** only. For granting access to AWS from Azure Government clouds, see [For Azure Government: Use identity federation](#for-azure-government-use-identity-federation).
170+
### Create an Open ID Connect (OIDC) web identity provider and an AWS assumed role
175171

176172
1. In a different browser window or tab, open the AWS console.
177173

178-
1. Create an **IAM assumed role**. Follow these instructions in the AWS documentation:<br>[Creating a role to delegate permissions to an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).
174+
1. Create a **web identity provider**. Follow these instructions in the AWS documentation:<br>[Creating OpenID Connect (OIDC) identity providers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html).
179175

180176
| Parameter | Selection/Value | Comments |
181177
| - | - | - |
182-
| **Trusted entity type** | *AWS account* | Instead of default *AWS service*. |
183-
| **Which account** | *Another AWS account*,<br>Account ID `197857026523` | Instead of the default *This account*,<br>Microsoft Sentinel's application service account.|
184-
| **Options** | *Require external ID* | *Do not* select *Require MFA* |
185-
| **External ID** | Your Microsoft Sentinel *Workspace ID*,<br>pasted from your clipboard. | This identifies *your specific Microsoft Sentinel account* to AWS. |
186-
| **Permissions to assign** | <ul><li>`AmazonSQSReadOnlyAccess`<li>`AWSLambdaSQSQueueExecutionRole`<li>`AmazonS3ReadOnlyAccess`<li>`ROSAKMSProviderPolicy`<li>Additional policies for ingesting the different types of AWS service logs. | For information on these policies, see the [AWS S3 connector permissions policies page](https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/AWS-S3/AwsRequiredPolicies.md) in the Microsoft Sentinel GitHub repository. |
187-
| **Name** | Example: "*MicrosoftSentinelRole*". | Choose a meaningful name that includes a reference to Microsoft Sentinel. |
188-
189-
1. Continue with [Add the AWS role and queue information to the S3 data connector](#add-the-aws-role-and-queue-information-to-the-s3-data-connector) below.
190-
191-
#### For Azure Government: Use identity federation
192-
193-
1. In a different browser window or tab, open the AWS console.
178+
| **Client ID** | - | Ignore this, you already have it. See **Audience** line below. |
179+
| **Provider type** | *OpenID Connect* | Instead of default *SAML*.|
180+
| **Provider URL** | Commercial:<br>`sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/`<br><br>Government:<br>`sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/` | |
181+
| **Thumbprint** | `626d44e704d1ceabe3bf0d53397464ac8080142c` | If created in the IAM console, selecting **Get thumbprint** should give you this result. |
182+
| **Audience** | Commercial:<br>`api://1462b192-27f7-4cb9-8523-0f4ecb54b47e`<br><br>Government:<br>`api://d4230588-5f84-4281-a9c7-2c15194b28f7` | |
183+
184+
3. Create an **IAM assumed role**. Follow these instructions in the AWS documentation:<br>[Creating a role for web identity or OpenID Connect Federation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html#idp_oidc_Create).
194185

195-
1. Create a **web identity provider**. Follow these instructions in the AWS documentation:<br>[Creating OpenID Connect (OIDC) identity providers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html).
186+
**Use the values in this table for Azure Commercial Cloud.**
196187

197188
| Parameter | Selection/Value | Comments |
198189
| - | - | - |
199-
| **Client ID** | Ignore this, you already have it. See **Audience** line below. | |
200-
| **Provider type** | *OpenID Connect* | Instead of default *SAML*.|
201-
| **Provider URL** | `https://sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/` | |
202-
| **Thumbprint** | `626d44e704d1ceabe3bf0d53397464ac8080142c` | If created in the IAM console, selecting **Get thumbprint** should give you this result. |
203-
| **Audience** | `api://d4230588-5f84-4281-a9c7-2c15194b28f7` | |
204-
205-
1. Create an **IAM assumed role**. Follow these instructions in the AWS documentation:<br>[Creating a role for web identity or OpenID Connect Federation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html#idp_oidc_Create).
190+
| **Trusted entity type** | *Web identity* | Instead of default *AWS service*. |
191+
| **Identity provider** | `sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/` | The provider you created in the previous step. |
192+
| **Audience** | `api://1462b192-27f7-4cb9-8523-0f4ecb54b47e` | The audience you defined for the identity provider in the previous step. |
193+
| **Permissions to assign** | <ul><li>`AmazonSQSReadOnlyAccess`<li>`AWSLambdaSQSQueueExecutionRole`<li>`AmazonS3ReadOnlyAccess`<li>`ROSAKMSProviderPolicy`<li>Additional policies for ingesting the different types of AWS service logs | For information on these policies, see the [AWS S3 connector permissions policies page](https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/AWS-S3/AwsRequiredPolicies.md), in the Microsoft Sentinel GitHub repository. |
194+
| **Name** | Example: "OIDC_*MicrosoftSentinelRole*". | Choose a meaningful name that includes a reference to Microsoft Sentinel.<br><br>The name must include the exact prefix `OIDC_`, otherwise the connector will not function properly. |
206195

196+
**Use the values in this table for Azure Government Cloud.**
197+
207198
| Parameter | Selection/Value | Comments |
208199
| - | - | - |
209200
| **Trusted entity type** | *Web identity* | Instead of default *AWS service*. |
210201
| **Identity provider** | `sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/` | The provider you created in the previous step. |
211202
| **Audience** | `api://d4230588-5f84-4281-a9c7-2c15194b28f7` | The audience you defined for the identity provider in the previous step. |
212203
| **Permissions to assign** | <ul><li>`AmazonSQSReadOnlyAccess`<li>`AWSLambdaSQSQueueExecutionRole`<li>`AmazonS3ReadOnlyAccess`<li>`ROSAKMSProviderPolicy`<li>Additional policies for ingesting the different types of AWS service logs. | For information on these policies, see the [AWS S3 connector permissions policies page](https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/AWS-S3/AwsRequiredPoliciesForGov.md) for Government, in the Microsoft Sentinel GitHub repository. |
213-
| **Name** | Example: "*MicrosoftSentinelRole*". | Choose a meaningful name that includes a reference to Microsoft Sentinel. |
214-
215-
204+
| **Name** | Example: "OIDC_*MicrosoftSentinelRole*". | Choose a meaningful name that includes a reference to Microsoft Sentinel.<br><br>The name must include the exact prefix `OIDC_`, otherwise the connector will not function properly. |
216205
1. Edit the new role's trust policy and add another condition:<br>`"sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"`
217206

218207
> [!IMPORTANT]
@@ -319,7 +308,7 @@ This tab explains how to configure the AWS CloudTrail connector. The process of
319308
## Connect AWS CloudTrail
320309

321310
Setting up this connector has two steps:
322-
- [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)
311+
- [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)
323312
- [Add the AWS role information to the AWS CloudTrail data connector](#add-the-aws-role-information-to-the-aws-cloudtrail-data-connector)
324313

325314
#### Create an AWS assumed role and grant access to the AWS Sentinel account
@@ -358,9 +347,8 @@ Setting up this connector has two steps:
358347

359348
1. To use the relevant schema in Log Analytics for AWS events, search for **AWSCloudTrail**.
360349

361-
> [!IMPORTANT]
362-
> As of December 1, 2020, the **AwsRequestId** field has been replaced by the **AwsRequestId_** field (note the added underscore). The data in the old **AwsRequestId** field will be preserved through the end of the customer's specified data retention period.
363-
350+
> [!IMPORTANT]
351+
> As of December 1, 2020, the **AwsRequestId** field has been replaced by the **AwsRequestId_** field (note the added underscore). The data in the old **AwsRequestId** field will be preserved through the end of the customer's specified data retention period.
364352
365353
---
366354

0 commit comments

Comments
 (0)