Cloud SIEM AWS EC2 Inventory Source
The Cloud SIEM AWS EC2 Inventory Source provides a secure endpoint to receive event data from the EC2 describe instances API. It securely stores the required authentication, scheduling, and state tracking information.
For information on how inventory data is used in Cloud SIEM, see Inventory Sources and Data.
Data collected
Polling Interval | Data |
---|---|
10 hours | Event data |
Setup
Vendor configuration
Inventory data mapped
The table below shows the AWS source fields that Cloud SIEM maps to Cloud SIEM schema attributes.
Cloud SIEM schema attribute | AWS source field |
---|---|
ip | PublicIpAddress . If null, then PrivateIpAddress |
hostname | PublicDnsName . If null, then PrivateDnsName |
uniqueId | AccountId from ARN-InstanceId |
Authentication
The IAM policy needs the ec2:DescribeInstances
and ec2:DescribeImages
permissions.
Source configuration
When you create a Cloud SIEM AWS EC2 Inventory 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.
To configure a Cloud SIEM AWS EC2 Inventory Source:
- Classic UI. In the main Sumo Logic menu, select Manage Data > Collection > Collection.
New 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. - On the Collection page, click Add Source next to a Hosted Collector.
- Select AWS EC2 Inventory.
- Enter a Name for the Source. The description is optional.
- (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
. - Forward to SIEM. Check the checkbox to forward your data to Cloud SIEM. note
Select Forward to SIEM only if you have Cloud SIEM installed.
- (Optional) Fields. Click the +Add Field link to define the fields you want to associate, each field needs a name (key) and value.
- A green circle with a check mark is shown when the field exists in the Fields table schema.
- An orange triangle with an exclamation point is shown when the field doesn't exist in the Fields table schema. In this case, an option to automatically add the nonexistent fields to the Fields table schema is provided. If a field is sent to Sumo that does not exist in the Fields schema it is ignored, known as dropped.
- AWS Access. The integration is configured for either role based AWS authentication or key based AWS authentication.
- Role Based Access. AWS Role ARN is required for Role based Access. Use the information provided on the source page to configure the role.
- Key Access. Enter the IAM user access key ID and secret key you want to use to authenticate collection requests.
- Role Based Access. AWS Role ARN is required for Role based Access. Use the information provided on the source page to configure the role.
- Regions. Provide a list of AWS regions to query EC2 instances, such as
us-east-2
. - (Optional) The Polling Interval is set for 600 minutes by default, you can adjust it based on your needs.
- Processing Rules for Logs (Optional). Configure any desired filters, such as allowlist, denylist, hash, or mask, as described in Create a Processing Rule.
- When you are finished configuring the Source, click Save.
Metadata fields
Field | Value | Description |
---|---|---|
_siemVendor | Amazon | Set when Forward To SIEM is checked. |
_siemProduct | AWS EC2 Inventory | Set when Forward To SIEM is checked. |
_siemDataType | Inventory | Set when Forward To SIEM is checked. |
JSON schema
Sources can be configured using UTF-8 encoded JSON files with the Collector Management API. See how to use JSON to configure Sources for details.
Parameter | Type | Value | Required | Description |
---|---|---|---|---|
schemaRef | JSON Object | {"type":"Cloud SIEM AWS EC2 Inventory"} | Yes | Define the specific schema type. |
sourceType | String | "Universal" | Yes | Type of source. |
config | JSON 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 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 field _sourceCategory . See 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 array | Yes | Provide a list of AWS regions to query EC2 instances, such as us-east-2 . Use ["all"] to support all regions. | modifiable | |
authentication.type | String | Yes | null | AWS Role Based Authentication | Select how Sumo Logic should access your AWS account. |
authentication.roleARN | String | Yes | null | Provide the IAM Role ARN you want to use to authenticate collection requests. | |
authentication.awsId | String | Yes | null | Provide the IAM User access key ID you want to use to authenticate collection requests. | |
authentication.roleARN | String | Yes | null | Provide the Secret Key you want to use to authenticate collection requests. | |
polling_interval | Integer | No | 600 | The minutes in between checks for new data. |
JSON example
{
"api.version":"v1",
"source":{
"config":{
"name":"AWS Inventory",
"fields":{
"_siemForward":true
},
"category":"aws/inventory",
"limitToRegions":["all"],
"authentication":{
"type": "AWSRoleBasedAuthentication",
"roleARN": "arn:aws:iam::9568827XXXX:role/C2C_EC2InventoryTest"
},
"polling_interval":600
},
"state":{
"state":"Collecting"
},
"schemaRef":{
"type":"Cloud SIEM AWS EC2 Inventory"
},
"sourceType":"Universal"
}
}
{
"api.version":"v1",
"source":{
"config":{
"name":"AWS Inventory",
"fields":{
"_siemForward":true
},
"category":"aws/inventory",
"limitToRegions":["all"],
"authentication":{
"type": "S3BucketAuthentication",
"awsId": "XXXXXXSVHNHFXXXXXXX",
"awsKey": "XXXXXtrrIqHvXgMYJEQcwLfEQtyNXXXXXXXX"
},
"polling_interval":600
},
"state":{
"state":"Collecting"
},
"schemaRef":{
"type":"Cloud SIEM AWS EC2 Inventory"
},
"sourceType":"Universal"
}
}
Terraform example
resource "sumologic_cloud_to_cloud_source" "cloud_siem_aws_ec2_inventory_source" {
collector_id = sumologic_collector.collector.id
schema_ref = {
type = "Cloud SIEM AWS EC2 Inventory"
}
config = jsonencode({
"name":"AWS Inventory",
"fields":{
"_siemForward":true
},
"category":"aws/inventory",
"limitToRegions":["all"],
"authentication":{
"type": "AWSRoleBasedAuthentication",
"roleARN": "arn:aws:iam::9568827XXXX:role/C2C_EC2InventoryTest"
},
"polling_interval":600
})
}
resource "sumologic_collector" "collector" {
name = "my-collector"
description = "Just testing this"
}
resource "sumologic_cloud_to_cloud_source" "cloud_siem_aws_ec2_inventory_source" {
collector_id = sumologic_collector.collector.id
schema_ref = {
type = "Cloud SIEM AWS EC2 Inventory"
}
config = jsonencode({
"name":"AWS Inventory",
"fields":{
"_siemForward":true
},
"category":"aws/inventory",
"limitToRegions":["all"],
"authentication":{
"type": "S3BucketAuthentication",
"awsId": "XXXXXXSVHNHFXXXXXXX",
"awsKey": "XXXXXtrrIqHvXgMYJEQcwLfEQtyNXXXXXXXX"
},
"polling_interval":600
})
}
resource "sumologic_collector" "collector" {
name = "my-collector"
description = "Just testing this"
}
FAQ
Click here for more information about Cloud-to-Cloud sources.