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
> - 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
-
25
21
# [S3 connector (new)](#tab/s3)
26
22
27
23
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
52
48
53
49
- The connector reads the message with the path, then fetches the files from the S3 bucket.
54
50
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.
58
52
59
53
## Connect the S3 connector
60
54
@@ -64,9 +58,11 @@ This graphic and the following text show how the parts of this connector solutio
64
58
65
59
- Create a **Simple Queue Service (SQS) queue** to provide notification.
66
60
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).
68
62
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).
70
66
71
67
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.
72
68
@@ -80,15 +76,17 @@ To simplify the onboarding process, Microsoft Sentinel has provided a [PowerShel
80
76
81
77
The script takes the following actions:
82
78
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.
84
82
85
83
- Enables specified AWS services to send logs to that S3 bucket, and notification messages to that SQS queue.
86
84
87
85
- If necessary, creates that S3 bucket and that SQS queue for this purpose.
88
86
89
87
- Configures any necessary IAM permissions policies and applies them to the IAM role created above.
90
88
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.
92
90
93
91
### Prerequisites for automatic setup
94
92
@@ -169,50 +167,41 @@ Microsoft recommends using the automatic setup script to deploy this connector.
169
167
170
168
1. Under **Configuration**, expand **Setup with PowerShell script (recommended)**, then copy the **External ID (Workspace ID)** to your clipboard.
171
169
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
175
171
176
172
1. In a different browser window or tab, open the AWS console.
177
173
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).
179
175
180
176
| Parameter | Selection/Value | Comments |
181
177
| - | - | - |
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.|
|**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*.|
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).
194
185
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.**
196
187
197
188
| Parameter | Selection/Value | Comments |
198
189
| - | - | - |
199
-
|**Client ID**| Ignore this, you already have it. See **Audience** line below. ||
200
-
|**Provider type**|*OpenID Connect*| Instead of default *SAML*.|
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. |
206
195
196
+
**Use the values in this table for Azure Government Cloud.**
197
+
207
198
| Parameter | Selection/Value | Comments |
208
199
| - | - | - |
209
200
|**Trusted entity type**|*Web identity*| Instead of default *AWS service*. |
210
201
|**Identity provider**|`sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/`| The provider you created in the previous step. |
211
202
|**Audience**|`api://d4230588-5f84-4281-a9c7-2c15194b28f7`| The audience you defined for the identity provider in the previous step. |
212
203
|**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. |
216
205
1. Edit the new role's trust policy and add another condition:<br>`"sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"`
217
206
218
207
> [!IMPORTANT]
@@ -319,7 +308,7 @@ This tab explains how to configure the AWS CloudTrail connector. The process of
319
308
## Connect AWS CloudTrail
320
309
321
310
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)
323
312
-[Add the AWS role information to the AWS CloudTrail data connector](#add-the-aws-role-information-to-the-aws-cloudtrail-data-connector)
324
313
325
314
#### Create an AWS assumed role and grant access to the AWS Sentinel account
@@ -358,9 +347,8 @@ Setting up this connector has two steps:
358
347
359
348
1. To use the relevant schema in Log Analytics for AWS events, search for **AWSCloudTrail**.
360
349
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.
0 commit comments