Skip to content

Commit e911031

Browse files
amee-sumokimsauce
andauthored
AWS IAM Users (c2c) (#5664)
* AWS IAM Users (c2c) * Update blog-service/2025-08-07-collection.md Co-authored-by: Kim (Sumo Logic) <56411016+kimsauce@users.noreply.github.com> * Update static/files/c2c/aws-iam-users/example.json Co-authored-by: Kim (Sumo Logic) <56411016+kimsauce@users.noreply.github.com> * Update aws-iam-users-source.md * Update example.tf * Update example.json * Update static/files/c2c/aws-iam-users/example.json Co-authored-by: Kim (Sumo Logic) <56411016+kimsauce@users.noreply.github.com> --------- Co-authored-by: Kim (Sumo Logic) <56411016+kimsauce@users.noreply.github.com>
1 parent 30a24eb commit e911031

File tree

9 files changed

+173
-1
lines changed

9 files changed

+173
-1
lines changed

blog-service/2025-08-07-collection.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: AWS IAM Users Source (Collection)
3+
image: https://help.sumologic.com/img/reuse/rss-image.jpg
4+
keywords:
5+
- c2c
6+
- aws-iam-users-source
7+
hide_table_of_contents: true
8+
---
9+
10+
import useBaseUrl from '@docusaurus/useBaseUrl';
11+
12+
We're excited to announce the release of our new cloud-to-cloud source for AWS IAM Users. This source collects the IAM User Inventory logs from the AWS SDK and sends them to Sumo Logic for streamlined analysis. [Learn more](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-iam-users-source).

cid-redirects.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2803,6 +2803,7 @@
28032803
"/cid/17343": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/automox-source",
28042804
"/cid/17344": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/smartsheet-source",
28052805
"/cid/20172": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/cisco-vulnerability-management-source",
2806+
"/cid/20173": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-iam-users-source",
28062807
"/cid/19880": "/docs/metrics/metrics-operators/predict",
28072808
"/cid/19881": "/docs/metrics/metrics-operators/accum",
28082809
"/cid/19882": "/docs/metrics/metrics-operators/along",

docs/integrations/product-list/product-list-a-l.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ For descriptions of the different types of integrations Sumo Logic offers, see [
109109
| <img src={useBaseUrl('img/send-data/AWSGovCloudUS-Logo.jpeg')} alt="Thumbnail icon" width="50"/> | [AWS GovCloud](https://aws.amazon.com/govcloud-us) | Collector: [Collection from AWS GovCloud](/docs/send-data/hosted-collectors/amazon-aws/collection-aws-govcloud/) |
110110
| <img src={useBaseUrl('img/integrations/amazon-aws/aws-ground-station-logo.png')} alt="Thumbnail icon" width="50"/> | [AWS Ground Station](https://aws.amazon.com/ground-station/) | App: [AWS Ground Station](/docs/integrations/amazon-aws/aws-ground-station/) |
111111
| <img src={useBaseUrl('img/integrations/amazon-aws/aws-healthlake-logo.png')} alt="Thumbnail icon" width="50"/> | [AWS HealthLake](https://aws.amazon.com/healthlake/) | App: [AWS HealthLake](/docs/integrations/amazon-aws/aws-healthlake/) |
112-
| <img src={useBaseUrl('img/integrations/misc/aws-iam-logo.png')} alt="Thumbnail icon" width="50"/> | [AWS Identity and Access Management](https://aws.amazon.com/iam/) | Automation Integration: [AWS IAM](/docs/platform-services/automation-service/app-central/integrations/aws-iam/) |
112+
| <img src={useBaseUrl('img/integrations/misc/aws-iam-logo.png')} alt="Thumbnail icon" width="50"/> | [AWS Identity and Access Management](https://aws.amazon.com/iam/) | Automation Integration: [AWS IAM](/docs/platform-services/automation-service/app-central/integrations/aws-iam/)<br/>Collector: [AWS IAM Users](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-iam-users-source) |
113113
| <img src={useBaseUrl('img/integrations/amazon-aws/lambda.png')} alt="Thumbnail icon" width="50"/> | [AWS Lambda](https://aws.amazon.com/pm/lambda/) | App: [AWS Lambda](/docs/integrations/amazon-aws/lambda/) <br/>Collectors: <br/>- [Create a Sumo Lambda Function](/docs/send-data/collect-from-other-data-sources/create-amazon-lambda-function/) <br/>- [Collect AWS Lambda Logs using an Extension](/docs/send-data/collect-from-other-data-sources/collect-aws-lambda-logs-extension/) <br/>- [AWS Lambda Extension Performance Impact and Failover Handling](/docs/send-data/collect-from-other-data-sources/performance-impact-failover-handling/) <br/>Webhook: [Webhook Connection for AWS Lambda](/docs/alerts/webhook-connections/aws-lambda/) |
114114
| <img src={useBaseUrl('img/integrations/amazon-aws/network-firewall.png')} alt="Thumbnail icon" width="50"/> | [AWS Network Firewall](https://aws.amazon.com/network-firewall/) | App: [AWS Network Firewall](/docs/integrations/amazon-aws/network-firewall/) <br/>Automation integration: [AWS Network Firewall](/docs/platform-services/automation-service/app-central/integrations/aws-network-firewall/) <br/>Cloud SIEM integration: [Amazon AWS - Network Firewall](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/products/3a82061c-2ca3-4289-9c9b-78756001aa38.md) |
115115
| <img src={useBaseUrl('img/integrations/amazon-aws/networkLoadBalancer.png')} alt="Thumbnail icon" width="50"/> | [AWS Network Load Balancer](https://aws.amazon.com/elasticloadbalancing/network-load-balancer/) | App: [AWS Network Load Balancer](/docs/integrations/amazon-aws/network-load-balancer/) |
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
id: aws-iam-users-source
3+
title: AWS IAM Users Source
4+
sidebar_label: AWS IAM Users
5+
tags:
6+
- cloud-to-cloud
7+
- aws-iam-users-source
8+
description: Learn how to collect the IAM User Inventory logs from the AWS SDK and send them to Sumo Logic.
9+
---
10+
11+
import useBaseUrl from '@docusaurus/useBaseUrl';
12+
13+
<img src={useBaseUrl('img/integrations/misc/aws-iam-logo.png')} alt="logo" width="80" />
14+
15+
Amazon Web Services (AWS) is a leading cloud platform that offers scalable computing, storage, databases, AI/ML, and security solutions. Its global infrastructure and pay-as-you-go model support secure, high-performance application deployment for businesses of all sizes, driving digital transformation.
16+
17+
AWS IAM Users are individual identities within AWS Identity and Access Management (IAM) that you create to represent a person or service that interacts with your AWS resources.
18+
19+
## Data collected
20+
21+
The data will be collected from the OneLogin database using the following log:
22+
23+
| Polling Interval | Data |
24+
| :--- | :--- |
25+
| 12 hours | [ListUsers (IAM Service)](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html) |
26+
27+
## Setup
28+
29+
### Vendor configuration
30+
31+
You can use the following authentication methods for accessing AWS services using the Go SDK:
32+
- **[Method 1: Role Based Access (Recommended)](#method-1-role-based-access-recommended)**
33+
- **[Method 2: Key Access](#method-2-key-access)**
34+
35+
#### Method 1: Role Based Access (Recommended)
36+
37+
To generate a Role ARN, you can click the dropdown and select one of the following options:
38+
- Manually create an IAM Role.
39+
- Generate role-based access template.
40+
41+
#### Method 2: Key Access
42+
43+
To generate the AWS access ID and AWS access key, see [Create access keys for the root user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user_manage_add-key.html).
44+
45+
Once you have all the required values, set up the source configuration to collect your desired log types available in the configuration section.
46+
47+
### Source configuration
48+
49+
When you create a AWS IAM Users source, you add it to a Hosted Collector. Before creating the Source, identify the Hosted Collector you want to use or create a new Hosted Collector. For instructions, see [Configure a Hosted Collector and Source](/docs/send-data/hosted-collectors/configure-hosted-collector).
50+
51+
To configure a AWS IAM Users source:
52+
1. [**Classic UI**](/docs/get-started/sumo-logic-ui-classic). In the main Sumo Logic menu, select **Manage Data > Collection > Collection**. <br/>[**New UI**](/docs/get-started/sumo-logic-ui). In the Sumo Logic top menu select **Configuration**, and then under **Data Collection** select **Collection**. You can also click the **Go To...** menu at the top of the screen and select **Collection**.
53+
1. On the Collection page, click **Add Source** next to a Hosted Collector.
54+
1. Search for and select **AWS IAM Users**.
55+
1. Enter a **Name** for the Source. The description is optional.
56+
1. (Optional) For **Source Category**, enter any string to tag the output collected from the source. Category metadata is stored in a searchable field called `_sourceCategory`.
57+
1. (Optional) **Fields**. Click the **+Add** button to define the fields you want to associate. Each field needs a name (key) and value.
58+
* ![green check circle.png](/img/reuse/green-check-circle.png) A green circle with a check mark is shown when the field exists and is enabled in the Fields table schema.
59+
* ![orange exclamation point.png](/img/reuse/orange-exclamation-point.png) An orange triangle with an exclamation point is shown when the field doesn't exist, or is disabled in the Fields table schema. In this case, you'll see an option to automatically add or enable the nonexistent fields to the Fields table schema. If a field is sent to Sumo Logic but isn’t present or enabled in the schema, it’s ignored and marked as **Dropped**.
60+
1. **Regions**. Provide a list of AWS regions to query IAM users. Use ["all"] to support all regions. For example, `us-east-2`.
61+
1. **AWS Access**. Select one of the following authentication methods for accessing AWS services using the Go SDK:
62+
- **[Method 1: Role Based Access (Recommended)](#vendor-configuration)**
63+
- **[Method 2: Key Access](#vendor-configuration)**
64+
1. (Optional) **Path Prefix**. Provide the path prefix for filtering the results. It defaults to a slash (/), listing all user names.
65+
1. **Polling Interval**. The polling interval is set for 12 hours by default and can be configured from a minimum of 1 hour to a maximum of 24 hours. You can adjust it based on your needs. This sets how often the source checks for new data.
66+
1. **Processing Rules for Logs**. Configure any desired filters, such as allowlist, denylist, hash, or mask, as described in [Create a Processing Rule](/docs/send-data/collection/processing-rules/create-processing-rule).
67+
1. When you are finished configuring the source, click **Save**.
68+
69+
## JSON schema
70+
71+
Sources can be configured using UTF-8 encoded JSON files with the Collector Management API. See [Use JSON to Configure Sources](/docs/send-data/use-json-configure-sources) for details. 
72+
73+
| Parameter | Type | Value | Required | Description |
74+
|:--|:--|:--|:--|:--|
75+
| schemaRef | JSON Object | `{“type”: “AWS IAM Users”}` | Yes | Define the specific schema type. |
76+
| sourceType | String | `"Universal"` | Yes | Type of source. |
77+
| config | JSON Object | [Configuration object](#configuration-object) | Yes | Source type specific values. |
78+
79+
### Configuration Object
80+
81+
| Parameter | Type | Required | Default | Description | Example |
82+
|:--|:--|:--|:--|:--|:--|
83+
| name | String | Yes | `null` | Type a desired name of the source. The name must be unique per Collector. This value is assigned to the [metadata](/docs/search/get-started-with-search/search-basics/built-in-metadata) field `_source`. | `"mySource"` |
84+
| description | String | No | `null` | Type a description of the source. | `"Testing source"` |
85+
| category | String | No | `null` | Type a category of the source. This value is assigned to the [metadata](/docs/search/get-started-with-search/search-basics/built-in-metadata) field `_sourceCategory`. See [best practices](/docs/send-data/best-practices) for details. | `"mySource/test"`
86+
| fields | JSON Object | No | `null` | JSON map of key-value fields (metadata) to apply to the Collector or source. Use the boolean field _siemForward to enable forwarding to SIEM.|`{"_siemForward": false, "fieldA": "valueA"}` |
87+
| limitToRegions | []String | Yes | `null` | The list of AWS regions to query IAM users. Use ["all"] to support all regions. | `us-east-2` |
88+
| authentication.type | String | Yes | `AWSRoleBasedAuthentication` | The method for Sumo Logic to access your AWS account. | |
89+
| authentication.roleARN | String | Yes | `null` | The IAM Role ARN you want to use to authenticate collection requests. | |
90+
| authentication.awsId | String | Yes | `null` | The IAM User access key ID you want to use to authenticate collection requests. | |
91+
| authentication.awsKey | String | Yes | `null` | The secret key you want to use to authenticate collection requests. | |
92+
| pathPrefix | String | No | `null` | The path prefix for filtering the results. It defaults to a slash (/), listing all user names. | |
93+
| pollingInterval | Integer | Yes | `12 hours` | Time interval (in hours) after which the source will check for new data.<br/>Min: 1 hour<br/>Max: 24 hours | |
94+
95+
### JSON example
96+
97+
```json reference
98+
https://github.com/SumoLogic/sumologic-documentation/blob/main/static/files/c2c/aws-iam-users/example.json
99+
```
100+
101+
### Terraform example
102+
103+
```sh reference
104+
https://github.com/SumoLogic/sumologic-documentation/blob/main/static/files/c2c/aws-iam-users/example.tf
105+
```
106+
107+
## FAQ
108+
109+
:::info
110+
Click [here](/docs/c2c/info) for more information about Cloud-to-Cloud sources.
111+
:::

docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@ In this section, we'll introduce the following concepts:
120120
<p>Learn to collect cost and usage reports from AWS Cost Explorer Source.</p>
121121
</div>
122122
</div>
123+
<div className="box smallbox card">
124+
<div className="container">
125+
<a href="/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-iam-users-source"><img src={useBaseUrl('img/integrations/misc/aws-iam-logo.png')} alt="icon" width="50"/><h4>AWS IAM Users</h4></a>
126+
<p>Learn to collect the IAM User Inventory logs from the AWS SDK and send them to Sumo Logic for analysis.</p>
127+
</div>
128+
</div>
123129
<div className="box smallbox card">
124130
<div className="container">
125131
<a href="/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/azure-event-hubs-source"><img src={useBaseUrl('img/send-data/azure-event-hub.svg')} alt="icon" width="40"/><h4>Azure Event Hubs</h4></a>

sidebars.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,7 @@ module.exports = {
438438
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/atlassian-source',
439439
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/automox-source',
440440
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-cost-explorer-source',
441+
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-iam-users-source',
441442
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/azure-event-hubs-source',
442443
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/bitwarden-source',
443444
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/box-source',
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"api.version": "v1",
3+
"source": {
4+
"config": {
5+
"name": "AWS IAM Users",
6+
"limitToRegions": ["all"],
7+
"authentication": {
8+
"type": "S3BucketAuthentication",
9+
"awsId": "AKIA88SVJKHFHI6WVKL4",
10+
"awsKey": "LY7k0C+gIz+t4dSKLOkRarPOGQ/a8AxbPSIseBOo"
11+
},
12+
"pathPrefix": "/division_abc/subdivision_xyz/",
13+
"pollingIntervalHour": 12
14+
},
15+
"schemaRef": {
16+
"type": "AWS IAM Users"
17+
},
18+
"sourceType": "Universal"
19+
}
20+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
resource "sumologic_cloud_to_cloud_source" "aws-iam-users-source" {
2+
collector_id = sumologic_collector.collector.id
3+
schema_ref = {
4+
type = "AWS IAM Users"
5+
}
6+
config = jsonencode({
7+
"name": "AWS IAM Users",
8+
"limitToRegions": ["all"],
9+
"authentication": {
10+
"type": "S3BucketAuthentication",
11+
"awsId": "AKIA88SVJKHFHI6WVKL4",
12+
"awsKey": "LY7k0C+gIz+t4dSKLOkRarPOGQ/a8AxbPSIseBOo"
13+
},
14+
"pathPrefix": "/division_abc/subdivision_xyz/",
15+
"pollingIntervalHour": 12
16+
})
17+
}
18+
resource "sumologic_collector" "collector" {
19+
name = "my-collector"
20+
description = "Just testing this"
21+
}
17.2 KB
Loading

0 commit comments

Comments
 (0)