Skip to content

AWS IAM Users (c2c) #5664

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Aug 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions blog-service/2025-08-07-collection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: AWS IAM Users Source (Collection)
image: https://help.sumologic.com/img/reuse/rss-image.jpg
keywords:
- c2c
- aws-iam-users-source
hide_table_of_contents: true
---

import useBaseUrl from '@docusaurus/useBaseUrl';

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).
1 change: 1 addition & 0 deletions cid-redirects.json
Original file line number Diff line number Diff line change
Expand Up @@ -2803,6 +2803,7 @@
"/cid/17343": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/automox-source",
"/cid/17344": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/smartsheet-source",
"/cid/20172": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/cisco-vulnerability-management-source",
"/cid/20173": "/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-iam-users-source",
"/cid/19880": "/docs/metrics/metrics-operators/predict",
"/cid/19881": "/docs/metrics/metrics-operators/accum",
"/cid/19882": "/docs/metrics/metrics-operators/along",
Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/product-list/product-list-a-l.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ For descriptions of the different types of integrations Sumo Logic offers, see [
| <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/) |
| <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/) |
| <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/) |
| <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/) |
| <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) |
| <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/) |
| <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) |
| <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/) |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
id: aws-iam-users-source
title: AWS IAM Users Source
sidebar_label: AWS IAM Users
tags:
- cloud-to-cloud
- aws-iam-users-source
description: Learn how to collect the IAM User Inventory logs from the AWS SDK and send them to Sumo Logic.
---

import useBaseUrl from '@docusaurus/useBaseUrl';

<img src={useBaseUrl('img/integrations/misc/aws-iam-logo.png')} alt="logo" width="80" />

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.

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.

## Data collected

The data will be collected from the OneLogin database using the following log:

| Polling Interval | Data |
| :--- | :--- |
| 12 hours | [ListUsers (IAM Service)](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html) |

## Setup

### Vendor configuration

You can use the following authentication methods for accessing AWS services using the Go SDK:
- **[Method 1: Role Based Access (Recommended)](#method-1-role-based-access-recommended)**
- **[Method 2: Key Access](#method-2-key-access)**

#### Method 1: Role Based Access (Recommended)

To generate a Role ARN, you can click the dropdown and select one of the following options:
- Manually create an IAM Role.
- Generate role-based access template.

#### Method 2: Key Access

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).

Once you have all the required values, set up the source configuration to collect your desired log types available in the configuration section.

### Source configuration

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).

To configure a AWS IAM Users source:
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**.
1. On the Collection page, click **Add Source** next to a Hosted Collector.
1. Search for and select **AWS IAM Users**.
1. Enter a **Name** for the Source. The description is optional.
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`.
1. (Optional) **Fields**. Click the **+Add** button to define the fields you want to associate. Each field needs a name (key) and value.
* ![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.
* ![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**.
1. **Regions**. Provide a list of AWS regions to query IAM users. Use ["all"] to support all regions. For example, `us-east-2`.
1. **AWS Access**. Select one of the following authentication methods for accessing AWS services using the Go SDK:
- **[Method 1: Role Based Access (Recommended)](#vendor-configuration)**
- **[Method 2: Key Access](#vendor-configuration)**
1. (Optional) **Path Prefix**. Provide the path prefix for filtering the results. It defaults to a slash (/), listing all user names.
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.
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).
1. When you are finished configuring the source, click **Save**.

## JSON schema

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. 

| Parameter | Type | Value | Required | Description |
|:--|:--|:--|:--|:--|
| schemaRef | JSON Object | `{“type”: “AWS IAM Users”}` | Yes | Define the specific schema type. |
| sourceType | String | `"Universal"` | Yes | Type of source. |
| config | JSON Object | [Configuration object](#configuration-object) | Yes | Source type specific values. |

### Configuration Object

| Parameter | Type | Required | Default | Description | Example |
|:--|:--|:--|:--|:--|:--|
| 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"` |
| description | String | No | `null` | Type a description of the source. | `"Testing source"` |
| 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"`
| 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"}` |
| limitToRegions | []String | Yes | `null` | The list of AWS regions to query IAM users. Use ["all"] to support all regions. | `us-east-2` |
| authentication.type | String | Yes | `AWSRoleBasedAuthentication` | The method for Sumo Logic to access your AWS account. | |
| authentication.roleARN | String | Yes | `null` | The IAM Role ARN you want to use to authenticate collection requests. | |
| authentication.awsId | String | Yes | `null` | The IAM User access key ID you want to use to authenticate collection requests. | |
| authentication.awsKey | String | Yes | `null` | The secret key you want to use to authenticate collection requests. | |
| pathPrefix | String | No | `null` | The path prefix for filtering the results. It defaults to a slash (/), listing all user names. | |
| 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 | |

### JSON example

```json reference
https://github.com/SumoLogic/sumologic-documentation/blob/main/static/files/c2c/aws-iam-users/example.json
```

### Terraform example

```sh reference
https://github.com/SumoLogic/sumologic-documentation/blob/main/static/files/c2c/aws-iam-users/example.tf
```

## FAQ

:::info
Click [here](/docs/c2c/info) for more information about Cloud-to-Cloud sources.
:::
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,12 @@ In this section, we'll introduce the following concepts:
<p>Learn to collect cost and usage reports from AWS Cost Explorer Source.</p>
</div>
</div>
<div className="box smallbox card">
<div className="container">
<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>
<p>Learn to collect the IAM User Inventory logs from the AWS SDK and send them to Sumo Logic for analysis.</p>
</div>
</div>
<div className="box smallbox card">
<div className="container">
<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>
Expand Down
1 change: 1 addition & 0 deletions sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,7 @@ module.exports = {
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/atlassian-source',
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/automox-source',
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-cost-explorer-source',
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/aws-iam-users-source',
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/azure-event-hubs-source',
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/bitwarden-source',
'send-data/hosted-collectors/cloud-to-cloud-integration-framework/box-source',
Expand Down
20 changes: 20 additions & 0 deletions static/files/c2c/aws-iam-users/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"api.version": "v1",
"source": {
"config": {
"name": "AWS IAM Users",
"limitToRegions": ["all"],
"authentication": {
"type": "S3BucketAuthentication",
"awsId": "AKIA88SVJKHFHI6WVKL4",
"awsKey": "LY7k0C+gIz+t4dSKLOkRarPOGQ/a8AxbPSIseBOo"
},
"pathPrefix": "/division_abc/subdivision_xyz/",
"pollingIntervalHour": 12
},
"schemaRef": {
"type": "AWS IAM Users"
},
"sourceType": "Universal"
}
}
21 changes: 21 additions & 0 deletions static/files/c2c/aws-iam-users/example.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
resource "sumologic_cloud_to_cloud_source" "aws-iam-users-source" {
collector_id = sumologic_collector.collector.id
schema_ref = {
type = "AWS IAM Users"
}
config = jsonencode({
"name": "AWS IAM Users",
"limitToRegions": ["all"],
"authentication": {
"type": "S3BucketAuthentication",
"awsId": "AKIA88SVJKHFHI6WVKL4",
"awsKey": "LY7k0C+gIz+t4dSKLOkRarPOGQ/a8AxbPSIseBOo"
},
"pathPrefix": "/division_abc/subdivision_xyz/",
"pollingIntervalHour": 12
})
}
resource "sumologic_collector" "collector" {
name = "my-collector"
description = "Just testing this"
}
Binary file added static/img/send-data/aws-iam-users.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.