Skip to content

Commit 3127726

Browse files
author
yelevin
committed
Draft for review
1 parent 54b5380 commit 3127726

File tree

1 file changed

+51
-25
lines changed

1 file changed

+51
-25
lines changed

articles/sentinel/connect-aws.md

Lines changed: 51 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
title: Connect Microsoft Sentinel to Amazon Web Services to ingest AWS service log data
33
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.
44
author: yelevin
5-
ms.topic: how-to
6-
ms.date: 12/12/2022
75
ms.author: yelevin
6+
ms.topic: how-to
7+
ms.date: 01/31/2024
88
---
99

1010
# Connect Microsoft Sentinel to Amazon Web Services to ingest AWS service log data
@@ -52,7 +52,9 @@ This graphic and the following text show how the parts of this connector solutio
5252

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

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. For Fairfax, we utilize Entra ID for authenticating with AWS through AWS Single Sign-On, establishing an Identity Provider with OpenID Connect and an assumed role.
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.
5658

5759
## Connect the S3 connector
5860

@@ -70,7 +72,7 @@ This graphic and the following text show how the parts of this connector solutio
7072

7173
- **In Microsoft Sentinel:**
7274

73-
- Enable and configure the **AWS S3 Connector** in the Microsoft Sentinel portal. See the instructions below.
75+
- Enable and configure the **AWS S3 Connector** in the Microsoft Sentinel portal. [See the instructions below]().
7476

7577
## Automatic setup
7678

@@ -173,19 +175,23 @@ The following instructions apply for public **Azure Commercial clouds** only. Fo
173175

174176
1. In a different browser window or tab, open the AWS console.
175177

176-
1. 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).
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).
179+
177180
| Parameter | Selection/Value | Comments |
178181
| - | - | - |
179-
| **Account type** | *Another AWS account* | Instead of default *This account*.|
180-
| **Account ID** | `197857026523` | Microsoft Sentinel's service account ID for AWS, identifying you as a Microsoft Sentinel user. |
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.|
181184
| **Options** | *Require external ID* | *Do not* select *Require MFA* |
182-
| **External ID** | Your Microsoft Sentinel *Workspace ID*,<br>pasted from your clipboard. | This identifies *your specific Microsoft Sentinel account* to AWS.
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+
188+
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.
183189

184190
#### For Azure Government: Use identity federation
185191

186192
1. In a different browser window or tab, open the AWS console.
187193

188-
1. 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).
194+
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).
189195

190196
| Parameter | Selection/Value | Comments |
191197
| - | - | - |
@@ -195,22 +201,42 @@ The following instructions apply for public **Azure Commercial clouds** only. Fo
195201
| **Thumbprint** | `626d44e704d1ceabe3bf0d53397464ac8080142c` | If created in the IAM console, selecting **Get thumbprint** should give you this result. |
196202
| **Audience** | `api://d4230588-5f84-4281-a9c7-2c15194b28f7` | |
197203

198-
- *Create an assume role* 
199-
- *Go to AWS IAM Click on Roles. Click on Create role* 
200-
- *Select “Web Identity” as trusted entity* 
201-
- *From the Identity Provider drop down, select the identity provider created in previous stage.* 
202-
- *Select audience `api://1462b192-27f7-4cb9-8523-0f4ecb54b47e`
203-
204-
- Assign the necessary permissions policies. These policies include:
205-
- `AmazonSQSReadOnlyAccess`
206-
- `AWSLambdaSQSQueueExecutionRole`
207-
- `AmazonS3ReadOnlyAccess`
208-
- `ROSAKMSProviderPolicy`
209-
- Additional policies for ingesting the different types of AWS service logs.
210-
- 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.
211-
212-
- Name the role with a meaningful name that includes a reference to Microsoft Sentinel. Example: "*MicrosoftSentinelRole*".
213-
- For FairFax, edit Trust policy and add another condition: "sts:RoleSessionName":"MicrosoftDefenderForClouds_<CustomerTenantID_OR_WorkSpaceID(Sentinel)>"
204+
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).
205+
206+
| Parameter | Selection/Value | Comments |
207+
| - | - | - |
208+
| **Trusted entity type** | *Web identity* | Instead of default *AWS service*. |
209+
| **Identity provider** | `sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/` | The provider you created in the previous step. |
210+
| **Audience** | `api://d4230588-5f84-4281-a9c7-2c15194b28f7` | The audience you defined for the identity provider in the previous step. |
211+
| **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. |
212+
| **Name** | Example: "*MicrosoftSentinelRole*". | Choose a meaningful name that includes a reference to Microsoft Sentinel. |
213+
214+
215+
1. Edit the new role's trust policy and add another condition: `"sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"`
216+
217+
The trust policy should look like this:
218+
219+
```json
220+
{
221+
"Version": "2012-10-17",
222+
"Statement": [
223+
{
224+
"Effect": "Allow",
225+
"Principal": {
226+
"Federated": "arn:aws:iam::123456789000:oidc-provider/sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/"
227+
},
228+
"Action": "sts:AssumeRoleWithWebIdentity",
229+
"Condition": {
230+
"StringEquals": {
231+
"sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/:aud": "api://d4230588-5f84-4281-a9c7-2c15194b28f7",
232+
"sts:RoleSessionName": "MicrosoftSentinel_12341234-abab-cdcd-efef-567890567890"
233+
}
234+
}
235+
}
236+
]
237+
}
238+
```
239+
Update the policy when you're done editing.
214240

215241
### Add the AWS role and queue information to the S3 data connector
216242

0 commit comments

Comments
 (0)