JFrog Xray Source
Our JFrog Xray source collects JFrog Xray violations by querying the API for new policy violations when they occur.
Data collected
Polling Interval | Data |
---|---|
5 minutes | Get Violations Endpoint |
Setup
Vendor configuration
Make sure that you've set up Xray's policies correctly. This source will capture violation logs triggered by those policies. To configure this source, you'll need the domain of your JFrog instance and your JFrog username/password. We recommend creating a dedicated user account specifically for this purpose.
Source configuration
When you create a JFrog Xray 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 the JFrog Xray 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 Collectors page, click Add Source next to a Hosted Collector.
- Search for and select the JFrog Xray icon.
- Enter a Name to display for the Source in Sumo Logic. 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 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 Logic that does not exist in the Fields schema it is ignored, known as dropped.
- In JFrog Base URL, enter your JFrog instance domain (for example,
https://acme.jfrog.io
). - In HTTP Basic Auth Username, enter your JFrog username you created.
- In HTTP Basic Auth Password, enter your JFrog password you created.
- In Collect Violation Details, only toggle this on if you need the full violation details. This will require 1 extra API call per violation log.
- (Optional) The Polling Interval is set for 5 minutes by default. You can adjust it based on your needs.
- 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 How to Use JSON to Configure Sources for details.
Parameter | Type | Value | Required | Description |
---|---|---|---|---|
schemaRef | JSON Object | {"type":"JFrog Xray"} | 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" |
base_url | String | Yes | null | Your JFrog instance domain. | "https://acme.jfrog.io" |
username | String | Yes | null | Your JFrog account username. | "sumo-collection" |
password | String | Yes | null | Your JFrog account password. | |
collect_violation_details | Boolean | No | false | This will require 1 extra API call per violation log. | |
pollingInterval | String | No | 5m | This sets how often the Source checks for data. | "30m" |
JSON example
{
"api.version":"v1",
"source":{
"config":{
"name": "JFrog Xray Source",
"base_url": "https://acme.jfrog.io",
"username": "sumo-source",
"password": "********",
"collect_violation_details": false,
"polling_interval": "5m"
},
"schemaRef":{
"type":"JFrog Xray"
},
"sourceType":"Universal"
}
}
Terraform example
resource "sumologic_cloud_to_cloud_source" "jfrog-xray_source" {
collector_id = sumologic_collector.collector.id
schema_ref = {
type = "JFrog Xray"
}
config = jsonencode({
"name":"JFrog Xray Source",
"base_url":"https://acme.jfrog.io",
"username":"sumo-source",
"password":"********",
"collect_violation_details":"false",
"polling_interval":"5m",
})
}
resource "sumologic_collector" "collector" {
name = "my-collector"
description = "Just testing this"
}
FAQ
Click here for more information about Cloud-to-Cloud sources.