Skip to content

[Akamai Connector] SIEM parser decoding while preserving events with empty fields - #14991

Open
Bhagya Lakshmi Kukula (Bhagya767) wants to merge 3 commits into
Azure:masterfrom
Bhagya767:akamaiparserchange
Open

[Akamai Connector] SIEM parser decoding while preserving events with empty fields#14991
Bhagya Lakshmi Kukula (Bhagya767) wants to merge 3 commits into
Azure:masterfrom
Bhagya767:akamaiparserchange

Conversation

@Bhagya767

@Bhagya767 Bhagya Lakshmi Kukula (Bhagya767) commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Changes

  • Decode URL-encoded and Base64-encoded Akamai rule fields in the AkamaiSIEMEvent parser.
  • Expose human-readable values under the standard column names.
  • Preserve original encoded values in *Raw columns.
  • Decode HTTP request and response headers.
  • Ensure events with empty or null rule fields are not dropped.
  • Regenerate the Akamai DDOS Protection solution package as version 3.0.2.

Reason

The Akamai CCF connector stores API payloads in AkamaiSIEMEvent_CL using the source encoding. Customers querying the parser expected human-readable values. The decoding logic also needed to preserve records containing empty rule fields.

Testing

image image

@v-atulyadav
v-atulyadav requested a lite review from Copilot August 27, 2026 04:12
@v-atulyadav v-atulyadav self-assigned this Aug 27, 2026
@v-atulyadav v-atulyadav added the Solution Solution specialty review needed label Aug 27, 2026

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.

Updates the AkamaiSIEMEvent parser and solution artifacts to version 3.0.2, decoding encoded rule/header fields into human-readable values while keeping original encoded values in *Raw columns.

Changes:

  • Bumps solution versions/release notes to 3.0.2.
  • Updates AkamaiSIEMEvent parser query to add *Raw columns and decode rule fields + HTTP headers.
  • Propagates the updated parser query into the packaged ARM template.

Reviewed changes

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

File Description
Solutions/Akamai DDOS Protection/ReleaseNotes.md Adds 3.0.2 release note describing parser decode behavior.
Solutions/Akamai DDOS Protection/Parsers/parser_AkamaiSIEMEventAliasFunction.json Updates parser query to decode fields and preserve raw values.
Solutions/Akamai DDOS Protection/Package/mainTemplate.json Bumps solution version and embeds updated parser query in the package template.
Solutions/Akamai DDOS Protection/Data/Solution_AkamaiDDOSProtection.json Updates solution metadata version to 3.0.2.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Solutions/Akamai DDOS Protection/ReleaseNotes.md Outdated
Comment thread Solutions/Akamai DDOS Protection/Parsers/parser_AkamaiSIEMEventAliasFunction.json Outdated
"category": "Microsoft Sentinel Parser",
"functionAlias": "AkamaiSIEMEvent",
"query": "union isfuzzy=true AkamaiSIEMEvent_CL, SentinelAkamaiSIEMEvent",
"query": "union isfuzzy=true AkamaiSIEMEvent_CL, SentinelAkamaiSIEMEvent | extend RuleActionsRaw = RuleActions, RuleDataRaw = RuleData, RuleMessagesRaw = RuleMessages, RuleSelectorsRaw = RuleSelectors, RuleTagsRaw = RuleTags, RuleVersionsRaw = RuleVersions, RulesRaw = Rules, HttpRequestHeadersRaw = HttpRequestHeaders, HttpResponseHeadersRaw = HttpResponseHeaders | mv-apply RuleActionsPart = split(url_decode(RuleActions), ';') to typeof(string) on (where isnotempty(RuleActionsPart) | summarize RuleActionsDecoded = strcat_array(make_list(base64_decode_tostring(RuleActionsPart)), ';')) | mv-apply RuleDataPart = split(url_decode(RuleData), ';') to typeof(string) on (where isnotempty(RuleDataPart) | summarize RuleDataDecoded = strcat_array(make_list(base64_decode_tostring(RuleDataPart)), ';')) | mv-apply RuleMessagesPart = split(url_decode(RuleMessages), ';') to typeof(string) on (where isnotempty(RuleMessagesPart) | summarize RuleMessagesDecoded = strcat_array(make_list(base64_decode_tostring(RuleMessagesPart)), ';')) | mv-apply RuleSelectorsPart = split(url_decode(RuleSelectors), ';') to typeof(string) on (where isnotempty(RuleSelectorsPart) | summarize RuleSelectorsDecoded = strcat_array(make_list(base64_decode_tostring(RuleSelectorsPart)), ';')) | mv-apply RuleTagsPart = split(url_decode(RuleTags), ';') to typeof(string) on (where isnotempty(RuleTagsPart) | summarize RuleTagsDecoded = strcat_array(make_list(base64_decode_tostring(RuleTagsPart)), ';')) | mv-apply RuleVersionsPart = split(url_decode(RuleVersions), ';') to typeof(string) on (where isnotempty(RuleVersionsPart) | summarize RuleVersionsDecoded = strcat_array(make_list(base64_decode_tostring(RuleVersionsPart)), ';')) | mv-apply RulesPart = split(url_decode(Rules), ';') to typeof(string) on (where isnotempty(RulesPart) | summarize RulesDecoded = strcat_array(make_list(base64_decode_tostring(RulesPart)), ';')) | extend HttpRequestHeadersDecoded = url_decode(HttpRequestHeaders), HttpResponseHeadersDecoded = url_decode(HttpResponseHeaders) | project-away RuleActions, RuleData, RuleMessages, RuleSelectors, RuleTags, RuleVersions, Rules, HttpRequestHeaders, HttpResponseHeaders | project-rename RuleActions = RuleActionsDecoded, RuleData = RuleDataDecoded, RuleMessages = RuleMessagesDecoded, RuleSelectors = RuleSelectorsDecoded, RuleTags = RuleTagsDecoded, RuleVersions = RuleVersionsDecoded, Rules = RulesDecoded, HttpRequestHeaders = HttpRequestHeadersDecoded, HttpResponseHeaders = HttpResponseHeadersDecoded",
Comment thread Solutions/Akamai DDOS Protection/Parsers/parser_AkamaiSIEMEventAliasFunction.json Outdated
@Bhagya767 Bhagya Lakshmi Kukula (Bhagya767) changed the title Parser update [Akamai Connector] SIEM parser decoding while preserving events with empty fields Aug 27, 2026
@Bhagya767

Copy link
Copy Markdown
Contributor Author

Please do not merge PR, review and validations are in progress.

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

Labels

Solution Solution specialty review needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants