A security architect is designing an incident classification taxonomy in XSOAR for a multi-tenant MSSP environment. Different clients require different playbook execution paths based on their subscription tier. Where should the architect configure this logic?
Trap 1: Inside the server configuration (Settings > About >…
Server-level JSON overrides apply globally across all tenants, so they cannot express per-client subscription-tier branching. It is tempting because troubleshooting settings do accept configuration edits, and would be correct for instance-wide defaults, not tenant-specific playbook routing, which belongs in classification and mapping or playbook inputs.
Trap 2: Within the integration instance configuration parameter list as…
Integration instance parameters are static per instance and cannot branch execution by tenant tier. They exist to hold connection credentials and endpoint values for one integration. Tier-based routing belongs in the playbook or classifier logic, which can evaluate tenant metadata at run time.
Trap 3: By hardcoding tenant checks into every individual task script using…
Embedding tenant checks in each task script scatters routing logic across hundreds of scripts, so taxonomy changes require editing every one. Centralised classification mapping or playbook-level conditional tasks suit multi-tenant routing; per-task Python is tempting for its flexibility when logic genuinely varies within a single task.
- A
Inside the server configuration (Settings > About > Troubleshooting) using global JSON overrides.
Why it fails: Server-level JSON overrides apply globally across all tenants, so they cannot express per-client subscription-tier branching. It is tempting because troubleshooting settings do accept configuration edits, and would be correct for instance-wide defaults, not tenant-specific playbook routing, which belongs in classification and mapping or playbook inputs.
- B
Within the integration instance configuration parameter list as static environment variables.
Why it fails: Integration instance parameters are static per instance and cannot branch execution by tenant tier. They exist to hold connection credentials and endpoint values for one integration. Tier-based routing belongs in the playbook or classifier logic, which can evaluate tenant metadata at run time.
- C
By hardcoding tenant checks into every individual task script using Python sys.argv.
Why it fails: Embedding tenant checks in each task script scatters routing logic across hundreds of scripts, so taxonomy changes require editing every one. Centralised classification mapping or playbook-level conditional tasks suit multi-tenant routing; per-task Python is tempting for its flexibility when logic genuinely varies within a single task.
- D
In Incident Types and Classifiers, mapping incoming tags to specific incident types and default playbooks.
Incident Types and Classifiers map incoming tags to incident types and their default playbooks, which is exactly the per-tenant routing mechanism. Classifiers run on ingestion, so each client's subscription tier tag selects the appropriate playbook path automatically.