brexhq / substation

Substation is a toolkit for routing, normalizing, and enriching security event and audit logs.
https://substation.readme.io
MIT License
330 stars 21 forks source link

feat: HTTP Processing & Secrets Retrieval #77

Closed jshlbrd closed 1 year ago

jshlbrd commented 1 year ago

Description

Motivation and Context

Similar to the DNS processor, the HTTP processor lets users enrich data by making HTTP requests (GET or POST). This one is more complex than DNS for two reasons:

We're addressing authentication through a feature referred to as secrets retrieval. Components across the system (conditions, processors, sinks) can opt in to secrets retrieval and interpolate secrets with configuration files during runtime. Here's a summary of how this works:

Secrets retrieval is designed similar to internal/file, so new secrets locations can be added as needed.

We're addressing the diversity of content and use cases by allowing more flexibility in the processor's data and object handling patterns compared to other processors. These are the known use cases it supports, though there may be more:

How Has This Been Tested?

The changes were integration tested using the two new examples files. The HTTP processor use cases was tested with these external services:

Types of changes

Checklist: