Skip to content

[ASIM] Web Session AWS WAF#14496

Open
manuelhauch wants to merge 3 commits into
Azure:masterfrom
manuelhauch:bluevoyant/asimwebsession/awswaf
Open

[ASIM] Web Session AWS WAF#14496
manuelhauch wants to merge 3 commits into
Azure:masterfrom
manuelhauch:bluevoyant/asimwebsession/awswaf

Conversation

@manuelhauch

@manuelhauch manuelhauch commented Jun 16, 2026

Copy link
Copy Markdown

Change(s):

Added WebSession ASIM parser for AWS WAF logs in the AWSWAF table.

Reason for Change(s):

Support AWS WAF logs in WebSession ASIM.

Version Updated:

Yes

Top level Web Session ASIM parsers updated to 0.5.7 (for ASimWebSession) and 0.6.5 (for imWebSession)

Testing Completed:

Yes

Checked that the validations are passing and have addressed any issues that are present:

Yes

manuel.hauch added 2 commits June 16, 2026 15:30
@manuelhauch manuelhauch requested review from a team as code owners June 16, 2026 13:48
@manuelhauch

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree company="BlueVoyant"

@manuelhauch manuelhauch changed the title Bluevoyant/asimwebsession/awswaf [ASIM] Web Session AWS WAF Jun 16, 2026
@v-maheshbh v-maheshbh requested a review from Copilot June 17, 2026 04:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds AWS WAF support to the ASIM WebSession normalization layer by introducing dedicated AWS WAF parsers and wiring them into the top-level WebSession aggregators, with accompanying ARM deployment assets and test artifacts.

Changes:

  • Added new AWS WAF WebSession parsers (ASimWebSessionAWSAWSWAF, vimWebSessionAWSAWSWAF) and associated ARM templates/README/changelogs.
  • Updated top-level ASimWebSession / imWebSession parsers to include the new AWS WAF implementations and bumped versions.
  • Added sample schema and parser test result CSVs for AWS WAF.

Reviewed changes

Copilot reviewed 20 out of 21 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Sample Data/ASIM/AWSWAF_schema.csv Adds AWSWAF table schema sample used for validation/testing.
Parsers/ASimWebSession/Tests/AWS_AWS WAF_vimWebSession_SchemaTest.csv Captures schema-test output for the filtering parser.
Parsers/ASimWebSession/Tests/AWS_AWS WAF_vimWebSession_DataTest.csv Captures data-test output for the filtering parser.
Parsers/ASimWebSession/Tests/AWS_AWS WAF_ASimWebSession_SchemaTest.csv Captures schema-test output for the normalization parser.
Parsers/ASimWebSession/Tests/AWS_AWS WAF_ASimWebSession_DataTest.csv Captures data-test output for the normalization parser.
Parsers/ASimWebSession/Parsers/vimWebSessionAWSAWSWAF.yaml New source-specific filtering + normalization parser for AWS WAF.
Parsers/ASimWebSession/Parsers/imWebSession.yaml Wires AWS WAF filtering parser into the top-level imWebSession union and bumps version/date.
Parsers/ASimWebSession/Parsers/ASimWebSessionAWSAWSWAF.yaml New source-specific normalization parser for AWS WAF.
Parsers/ASimWebSession/Parsers/ASimWebSession.yaml Wires AWS WAF normalization parser into the top-level ASimWebSession union and bumps version/date.
Parsers/ASimWebSession/CHANGELOG/vimWebSessionAWSAWSWAF.md New changelog for the AWS WAF filtering parser.
Parsers/ASimWebSession/CHANGELOG/imWebSession.md Records new AWS WAF parser addition for imWebSession.
Parsers/ASimWebSession/CHANGELOG/ASimWebSessionAWSAWSWAF.md New changelog for the AWS WAF normalization parser.
Parsers/ASimWebSession/CHANGELOG/ASimWebSession.md Records new AWS WAF parser addition for ASimWebSession.
Parsers/ASimWebSession/ARM/vimWebSessionAWSAWSWAF/vimWebSessionAWSAWSWAF.json Adds ARM template to deploy the filtering parser function.
Parsers/ASimWebSession/ARM/vimWebSessionAWSAWSWAF/README.md Adds deployment documentation for the filtering parser.
Parsers/ASimWebSession/ARM/imWebSession/imWebSession.json Updates deployed imWebSession function to union in the AWS WAF filtering parser.
Parsers/ASimWebSession/ARM/FullDeploymentWebSession.json Adds linked deployments for the new AWS WAF parsers in the full deployment template.
Parsers/ASimWebSession/ARM/ASimWebSessionAWSAWSWAF/README.md Adds deployment documentation for the normalization parser.
Parsers/ASimWebSession/ARM/ASimWebSessionAWSAWSWAF/ASimWebSessionAWSAWSWAF.json Adds ARM template to deploy the normalization parser function.
Parsers/ASimWebSession/ARM/ASimWebSession/ASimWebSession.json Updates deployed ASimWebSession function to union in the AWS WAF normalization parser.

Comment on lines +173 to +185
| extend hostIsClean = host matches regex @'^[A-Za-z0-9\.\-\:\[\]_]+$'
| extend hostIsIp = hostIsClean and (host matches regex @'^\d{1,3}(\.\d{1,3}){3}$' or host contains ':')
| extend hostHasDomain = hostIsClean and not(hostIsIp) and array_length(split(host, '.')) > 1
| extend
DstIpAddr = iff(isnotnull(parse_ipv4(host)), host, ''),
DstHostname = case(
isnotnull(parse_ipv4(host)), host,
hostIsIp, '',
hostIsClean, tostring(split(host, '.')[0]),
''
),
DstFQDN = iff(hostHasDomain, host, ''),
DstDomain = iff(hostHasDomain, strcat_array(array_slice(split(host, '.'), 1, -1), '.'), '')
Comment on lines +135 to +147
| extend hostIsClean = host matches regex @'^[A-Za-z0-9\.\-\:\[\]_]+$'
| extend hostIsIp = hostIsClean and (host matches regex @'^\d{1,3}(\.\d{1,3}){3}$' or host contains ':')
| extend hostHasDomain = hostIsClean and not(hostIsIp) and array_length(split(host, '.')) > 1
| extend
DstIpAddr = iff(isnotnull(parse_ipv4(host)), host, ''),
DstHostname = case(
isnotnull(parse_ipv4(host)), host,
hostIsIp, '',
hostIsClean, tostring(split(host, '.')[0]),
''
),
DstFQDN = iff(hostHasDomain, host, ''),
DstDomain = iff(hostHasDomain, strcat_array(array_slice(split(host, '.'), 1, -1), '.'), '')
Comment on lines +1 to +5
# AWS WAF ASIM WebSession Normalization Parser

ARM template for ASIM WebSession schema parser for AWS WAF.

This ASIM parser supports filtering and normalizing AWS Web Application Firewall (WAF) web session logs from the AWSWAF table to the ASIM Web Session normalized schema.
@@ -0,0 +1,35 @@
ColumnName,ColumnOrdinal,DataType,ColumnType
@v-atulyadav

Copy link
Copy Markdown
Collaborator

Hi @manuelhauch,
Please address the validation failures below and incorporate the Copilot-suggested changes as part of your updates. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants