Armis API Integration Source
Armis API is a device security platform that discover devices, tracks behavior, detects threats, and takes action to protect your business. The Source integration ingests alert and device data from the Armis platform.
Armis and Sumo Logic recommend using the Armis SIEM Integration, which pushes logs from Armis to a Sumo Logic HTTP source. There is a known limitation with the Armis API’s time query parameters, which can result in missing logs when using the Cloud-to-Cloud source. To avoid this, we advise using the Armis-side integration instead.
Data collected
Polling Interval | Data |
---|---|
5 min | Alerts data |
24 hours | Device data |
Setup
Vendor configuration
In this configuration, you will set up an Armis source account and configure it to be authorized and authenticated to use device logs and alerts from Armis API. To obtain an Armis auth token, follow the steps below:
- Log into the Armis application.
- Navigate to Settings > API Management on your Armis application.
- Create a new API secret key if you haven't created one yet by clicking the Create button from the API Management page.
- Click Show to view the secret key.
- A popup window will be displayed. Copy and paste the secret key to a folder location. Remember, you will need to enter this key while creating the Armis Cloud-to-Cloud Source.
Source configuration
When you create an Armis 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 an Armis 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.
- Search for and select Armis.
- 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
. - (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 checkmark 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 Logic that does not exist in the Fields schema it is ignored (i.e., dropped).
- In Instance URL, enter the Armis hostname.
info
Armis Instance URL is the Armis hostname. For example,
https://armis-instance.armis.com
. - In Secret Key, enter your API secret key that you have generated in Vendor configuration section.
- In Armis API selection. Choose the data sources from which you want to ingest data. The integration provides the option to you to select either one or both of the data sources.
- If Alert API is selected, the integration will fetch alert data.
- Permission
Alert>Read
must be provided to fetch alert data. - Data for an alert will be fetched every 5 minutes.
- Permission
- If Device API is selected, the integration will fetch device data.
- Permission
Device>Read
must be provided to fetch device data. - Data for the device will be fetched every 24 hours.
- Permission
noteThis step is mandatory, ensure you select one data source.
- If Alert API is selected, the integration will fetch alert data.
- (Optional) In Processing Rules for Logs, 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 Submit.
JSON configuration
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":"Armis"} | 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"} |
instanceUrl | String | Yes | null | Armis Instance URL | |
apiSecretKey | String | Yes | null | Armis API secret key | |
apiType | Array | Yes | You may use either or both sources of data, that is, Alerts and devices. |
JSON example
{
"api.version": "v1",
"source": {
"config": {
"name": "armis",
"description": "description",
"category": "source_category",
"instanceURL": "http://armis-instance.armis.com",
"secretKey": "*********",
"apiType": [
"alertLogs",
"deviceLogs"
],
"fields": {
"_siemForward": false
}
},
"schemaRef": {
"type": "Armis"
},
"sourceType": "Universal"
}
}
Terraform example
resource "sumologic_cloud_to_cloud_source" "armis_source" {
collector_id = sumologic_collector.collector.id
schema_ref = {
type = "Armis"
}
config = jsonencode({
"name": "armis",
"description": "description",
"category": "source_category",
"instanceURL": "http://armis-instance.armis.com",
"secretKey": "*********",
"apiType": [
"alertLogs",
"deviceLogs"
],
"fields": {
"_siemForward": false
}
})
}
resource "sumologic_collector" "collector" {
name = "my-collector"
description = "Just testing this"
}
FAQ
Click here for more information about Cloud-to-Cloud sources.