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
Add logical multi-tenancy to rsigma engine daemon so one process can serve many tenants without cross-tenant leakage in correlation state, alert/risk stores, sink routing, rules, enrichment, snapshots, or control-plane API reads. Tenant identity is bound only from an authenticated principal, never from event payload fields or unsigned headers.
Motivation
MSSP and SaaS deployments ingest logs for many customers into one detection pipe. Today correlation windows, alert dedup, risk entities, and API reads are daemon-global, so identical group_by keys from different customers share state. Community PR #163 proposed isolating correlation by an event field (--tenant-field); that is client-controlled content and is not a security boundary.
Summary
Add logical multi-tenancy to
rsigma engine daemonso one process can serve many tenants without cross-tenant leakage in correlation state, alert/risk stores, sink routing, rules, enrichment, snapshots, or control-plane API reads. Tenant identity is bound only from an authenticated principal, never from event payload fields or unsigned headers.Motivation
MSSP and SaaS deployments ingest logs for many customers into one detection pipe. Today correlation windows, alert dedup, risk entities, and API reads are daemon-global, so identical
group_bykeys from different customers share state. Community PR #163 proposed isolating correlation by an event field (--tenant-field); that is client-controlled content and is not a security boundary.Design principle
Aligned with OWASP Multi Tenant Security:
Proposed approach
Allowed bindings
token.tenanton the shipped daemon API auth principal.tenant:when the whole pipe is one tenant by construction.Isolation surfaces
StateKeyincludingTenantId; snapshot schema bump.{tenant}sink routing with validated tenant charset.rules/tenants/<tenant>/) and enricher tenant filters.tenants:*escape).Out of scope
X-Rsigma-Tenantas identity.TenantIdin keys once this ships).Tasks
TenantIdvalidation,TenantContext, config/CLI skeleton, threadingStateKey+ snapshot v2 +tenant_idon all resultsReferences
AuthIdentity)