You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: external-import/google-secops-siem-incidents/README.md
+25-25Lines changed: 25 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@
24
24
25
25
## Introduction
26
26
27
-
This connector fetches SIEM rule alerts from the Google SecOps Chronicle API and imports them into OpenCTI as STIX 2.1 objects. Each Chronicle rule alert is mapped to an OpenCTI Incident, enriched with related observables (IP addresses, hostnames, user accounts, files) and linked via STIX relationships.
27
+
This connector fetches SIEM rule alerts from the Google SecOps API and imports them into OpenCTI as STIX 2.1 objects. Each rule alert is mapped to an OpenCTI Incident, enriched with related observables (IP addresses, hostnames, user accounts, files) and linked via STIX relationships.
28
28
29
29
The connector uses forward-sliding pagination: on first run it fetches alerts back to a configurable lookback window; on subsequent runs it resumes from the last processed alert timestamp.
30
30
@@ -33,8 +33,8 @@ The connector uses forward-sliding pagination: on first run it fetches alerts ba
33
33
### Requirements
34
34
35
35
- OpenCTI Platform version >= 6.x
36
-
- Google SecOps Chronicle access with a GCP service account authorized for the `https://www.googleapis.com/auth/cloud-platform` scope
37
-
-Chronicle project ID, region, instance UUID, and service account credentials
36
+
- Google SecOps access with a GCP service account authorized for the `https://www.googleapis.com/auth/cloud-platform` scope
37
+
-Google SecOps project ID, region, instance UUID, and service account credentials
38
38
39
39
## Configuration variables
40
40
@@ -61,19 +61,19 @@ There are a number of configuration options, which are set either in `docker-com
|Chronicle base URL |`GOOGLE_SECOPS_SIEM_INCIDENTS_CHRONICLE_BASE_URL`|`https://chronicle.googleapis.com`| No |Chronicle API base URL. A region prefix is prepended at runtime.|
65
-
| GCP project ID |`GOOGLE_SECOPS_SIEM_INCIDENTS_CHRONICLE_PROJECT_ID`| / | Yes | Google Cloud project ID associated with the Chronicle instance.|
|Base URL |`GOOGLE_SECOPS_SIEM_INCIDENTS_BASE_URL`|`https://chronicle.googleapis.com`| No |Google SecOps API base URL. A region prefix is prepended at runtime. |
65
+
| GCP project ID |`GOOGLE_SECOPS_SIEM_INCIDENTS_PROJECT_ID`| / | Yes | Google Cloud project ID associated with the Google SecOps instance. |
| TLP level |`GOOGLE_SECOPS_SIEM_INCIDENTS_TLP_LEVEL`|`amber`| No | TLP marking applied to all imported entities. Values: `clear`, `white`, `green`, `amber`, `amber+strict`, `red`. |
74
74
| First start time |`GOOGLE_SECOPS_SIEM_INCIDENTS_FIRST_START_TIME`|`P1D`| No | How far back to fetch alerts on the very first run (ISO 8601 duration). Only used when no prior state exists. |
75
75
76
-
> **Tip β service account JSON:** All `CHRONICLE_*`credential fields map directly to the fields inside a GCP service account JSON key file. You can source them from there directly.
76
+
> **Tip β service account JSON:** All credential fields map directly to the fields inside a GCP service account JSON key file. You can source them from there directly.
77
77
78
78
## Deployment
79
79
@@ -91,14 +91,14 @@ Register the connector in your main OpenCTI `docker-compose.yml`:
@@ -132,14 +132,14 @@ To force an immediate run, navigate to **Data management β Ingestion β Conne
132
132
133
133
- On **first run**, fetches alerts from `now - FIRST_START_TIME` to `now`.
134
134
- On **subsequent runs**, resumes from the last processed alert `detection_timestamp + 1s` (persisted in connector state as `last_alert_timestamp`); the +1s offset ensures the boundary alert is not re-fetched on the next run.
135
-
- If the Chronicle API returns `tooManyAlerts=true`, the query window slides **backward**: the `endTime` is replaced by the oldest `detection_timestamp` in the current batch, and fetching continues until all pages are consumed.
135
+
- If the API returns `tooManyAlerts=true`, the query window slides **backward**: the `endTime` is replaced by the oldest `detection_timestamp` in the current batch, and fetching continues until all pages are consumed.
136
136
- Each alert batch is converted to STIX objects and sent as a bundle before advancing state β ensuring no data loss on partial runs.
137
137
- If a paginated run is **interrupted** (crash, restart), the connector persists a `pagination_checkpoint` after each truncated batch. On the next run it detects the checkpoint and resumes the backward-pagination window from where it left off, then clears the checkpoint on clean completion.
Below is an exhaustive enumeration of all configurable parameters available, each accompanied by detailed explanations of their purposes, default behaviors, and usage guidelines to help you understand and utilize them effectively.
4
+
5
+
### Type: `object`
6
+
7
+
| Property | Type | Required | Possible values | Default | Description |
| OPENCTI_URL |`string`| β | Format: [`uri`](https://json-schema.org/understanding-json-schema/reference/string#built-in-formats)|| The base URL of the OpenCTI instance. |
10
+
| OPENCTI_TOKEN |`string`| β | string || The API token to connect to OpenCTI. |
| CONNECTOR_DURATION_PERIOD |`string`|| Format: [`duration`](https://json-schema.org/understanding-json-schema/reference/string#built-in-formats)|`"PT1H"`| The period of time to await between two runs of the connector. |
24
+
| GOOGLE_SECOPS_SIEM_INCIDENTS_BASE_URL |`string`|| string |`"https://chronicle.googleapis.com"`| Chronicle API base URL (region prefix added at runtime). |
| GOOGLE_SECOPS_SIEM_INCIDENTS_TLP_LEVEL |`string`||`clear``white``green``amber``amber+strict``red`|`"amber"`| Default TLP level of the imported entities. |
29
+
| GOOGLE_SECOPS_SIEM_INCIDENTS_FIRST_START_TIME |`string`|| Format: [`duration`](https://json-schema.org/understanding-json-schema/reference/string#built-in-formats)|`"P1D"`| How far back to fetch alerts on the very first run (ISO-8601 duration, e.g. P1D). Used only when no prior state exists. |
0 commit comments