Designing Microsoft Sentinel Around Normalized Signals

Use ASIM and source-aware design to make Microsoft Sentinel detections more durable across changing Azure and hybrid telemetry sources.

After collection comes interpretation. Microsoft Sentinel can ingest data from many Azure, Microsoft, third-party, and custom sources, but raw ingestion alone does not make a detection program resilient. If every analytic rule is tightly coupled to one vendor table or one proprietary schema, the detection library becomes fragile.

Normalization is not a data-engineering luxury; it is how security content survives source diversity.

This post focuses on using normalized signals, especially the Advanced Security Information Model, to make Sentinel content more portable, readable, and maintainable.

The Mental Model

Microsoft Sentinel is most valuable when it becomes a security reasoning layer, not just a log bucket. Analysts and detection engineers need to ask questions that cut across sources: authentication, network sessions, process activity, audit events, file activity, DNS activity, and alerts. Those concepts are more stable than individual table names.

ASIM provides a normalization layer between diverse data sources and the people or content that use the data. Microsoft describes ASIM as following the robustness principle: be strict in what you send and flexible in what you accept. In practice, ASIM maps proprietary source telemetry into normalized schemas with consistent field names and meanings.

That matters because security operations rarely stay inside a single product boundary. An identity investigation may involve Microsoft Entra logs, endpoint data, firewall records, cloud app telemetry, and custom application logs. Without normalization, each investigation becomes a manual translation exercise. With normalization, the team can reason in common concepts.

The mental model is to separate source onboarding from detection intent. A source-specific parser should understand the source. A detection should express the behavior it cares about. That separation lets new sources improve existing content instead of requiring every rule to be rewritten.

How It Really Works

ASIM uses normalized schemas and parsers. The schemas define common event types such as authentication, DNS, network session, process event, audit event, file activity, and user management. Parsers map source-specific tables into those schemas. Sentinel content can then query normalized views rather than hard-coding every source table.

flowchart LR A[Source Tables] --> B[ASIM Parsers] B --> C[Normalized Schemas] C --> D[Analytics Rules] C --> E[Hunting Queries] C --> F[Workbooks] D --> G[Incidents]

There are two important normalization patterns. Query-time parsers present a normalized view over existing data without changing the original table. This is flexible and useful because parser fixes can apply to existing data. Ingest-time normalization writes data into normalized tables, which can improve query performance for large or frequently used data sets.

The trade-off is familiar: flexibility versus performance and operational complexity. Query-time parsing is often easier to adopt and iterate. Ingest-time normalization may be better for high-volume, high-value schemas where query performance and cost predictability matter.

Sentinel content should be designed around source-agnostic intent where possible. For example, a brute-force detection should care about authentication failure and success patterns, entities, result codes, and source addresses. It should not need a separate rule for every identity source if normalized authentication events can represent the behavior consistently.

Normalization does not remove the need to understand source detail. It reduces unnecessary coupling. Detection engineers still need to know where fields came from, which parser versions are in use, how timestamps behave, and where source-specific semantics matter.

Real-World Impact

The biggest operational gain is maintainability. Without normalization, each new telemetry source increases detection library complexity. A new firewall, identity provider, or endpoint source may require duplicate rules, duplicate workbooks, and duplicate hunting queries. With normalized schemas, new sources can expand the coverage of existing content.

During an investigation, normalization reduces cognitive load. Analysts can ask consistent questions: what account, what source, what destination, what action, what result, what device, what process? They do not need to memorize every vendor-specific column before they can make progress.

Normalization also improves content governance. Detection owners can define which rules are source-specific and which are source-agnostic. They can track parser health as part of telemetry readiness. They can test whether onboarding a new source improves coverage for existing analytics. That is a more mature operating model than counting connectors.

For hybrid and multi-cloud environments, ASIM is especially useful. Azure environments often coexist with on-premises systems, SaaS platforms, endpoint telemetry, and other clouds. A Sentinel program that assumes all security data looks like Azure-native data will struggle. A normalized program can accept diversity without letting it dominate every rule.

There is also a resilience benefit. Vendors change schemas, teams replace tools, and log sources evolve. Normalization creates a buffer between source churn and detection intent. The buffer is not perfect, but it gives security engineering a place to manage change deliberately.

Gotchas and Edge Cases

The first gotcha is believing normalization is automatic. Deploying Sentinel does not mean every source is normalized. You need to know which parsers exist, which sources they support, which schemas are relevant, and whether your content actually uses them.

The second gotcha is ignoring parser quality. A normalized field is only useful if it is mapped correctly. If source semantics are misunderstood, normalized content can produce misleading results. Parser validation should be part of onboarding, especially for custom sources.

Performance can also surprise teams. Query-time parsers are flexible, but complex parsing over large data sets can slow queries. High-volume detections may need optimization, summarized data, or ingest-time normalization. A beautiful normalized query that times out is not operationally useful.

Another edge case is over-normalization. Some detections depend on source-specific nuance. Forcing everything through a common schema can hide details that matter. The right pattern is not “only ASIM.” It is “use normalized schemas where the behavior is common, and keep source-specific logic where the source detail changes the decision.”

Finally, ownership matters. Parsers, workbooks, analytic rules, and connectors are often managed by different people. If nobody owns the normalization layer, it will drift. Treat parser health and schema coverage as part of the Sentinel platform.

Best Practices

Build an ASIM adoption map. List the detection domains you care about, such as authentication, network, process, DNS, audit, and user management. Then map which data sources feed each domain, which parsers exist, and which rules use normalized schemas.

Prefer normalized content for common behavioral detections. Brute force, impossible travel, suspicious process patterns, DNS anomalies, and network session patterns are good candidates when the underlying schema supports them. Keep source-specific detections for source-specific capabilities.

Test parser output with known events. Do not validate only by checking that a parser returns rows. Validate entity fields, action fields, result fields, timestamps, source and destination fields, and error handling. Analysts need meaning, not just rows.

Monitor query performance. If a normalized query becomes a core analytic rule, measure execution time and cost. Consider optimization or ingest-time normalization for high-volume paths.

Document the contract. Detection content should state whether it depends on ASIM, which schema it expects, which sources are covered, and what assumptions are made. That documentation helps future engineers avoid breaking detection coverage during source changes.

Practical ASIM-aligned authentication query

This example uses the Microsoft Sentinel imAuthentication filtering parser so the detection intent is expressed through ASIM authentication fields rather than one source table. It looks for a common investigation pattern: many failed logons followed by a success for the same target user and logon method.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
let lookback = 1d;
let failureThreshold = 10;
imAuthentication(starttime = ago(lookback), endtime = now())
| where EventType == "Logon"
| where EventResult in ("Failure", "Success")
| summarize
    FailedLogons = countif(EventResult == "Failure"),
    SuccessfulLogons = countif(EventResult == "Success"),
    FirstSeen = min(EventStartTime),
    LastSeen = max(EventEndTime),
    SourceIps = make_set(SrcIpAddr, 10),
    Products = make_set(EventProduct, 10)
    by TargetUsername, TargetUserId, LogonMethod
| where FailedLogons >= failureThreshold and SuccessfulLogons > 0
| project TargetUsername, TargetUserId, LogonMethod, FailedLogons, SuccessfulLogons, FirstSeen, LastSeen, SourceIps, Products
| order by FailedLogons desc

The source assumption is that your workspace has authentication sources covered by supported ASIM parsers. Microsoft documents fields such as EventType, EventResult, EventStartTime, EventEndTime, TargetUsername, TargetUserId, LogonMethod, and SrcIpAddr in the ASIM authentication schema. Before promoting this to an analytic rule, test it with known events and confirm the parser maps your identity sources correctly.

🍺
Brewed Insight: Normalization is working when a new source improves detection coverage without forcing the team to relearn the entire investigation model - not when it becomes a new set of hunting queries nobody else can maintain.

Learn More