REVIEW ONLY — Cato Networks CCF Push solution 3.0.0 - #1
Closed
yoelk wants to merge 1 commit into
Closed
Conversation
yoelk
force-pushed
the
cato-networks-ccf-push-3.0.0
branch
9 times, most recently
from
August 28, 2026 07:06
5415f67 to
de2c0fe
Compare
Adds Solutions/CatoNetworks, a Codeless Connector Framework (CCF) Push data connector that ingests Cato Cloud security and networking events into the CatoNetworksEvents_CL custom table. Also registers the custom table with the KQL validator and adds CatoNetworksEventsPush to ValidConnectorIds.json.
yoelk
force-pushed
the
cato-networks-ccf-push-3.0.0
branch
from
August 28, 2026 07:22
de2c0fe to
664410e
Compare
Owner
Author
|
Superseded by the upstream submission: Azure#15004 This PR did its job — internal review before anything reached Microsoft. The branch |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Internal review before submitting to Microsoft. Do not merge.
This PR targets
masterof this fork rather thanAzure/Azure-Sentinel, purely so the diff is reviewable. When review is done the same branch is submitted upstream and this PR is closed. Merging here would make the fork diverge from upstream for no reason.What this is
A second, self-service way for customers to get Cato events into Microsoft Sentinel. They install it from Microsoft's Content Hub, own the Entra application themselves, and grant Cato permission to write events to one Data Collection Rule and nothing else. It sits alongside the existing turnkey integration rather than replacing it.
15 files: 14 added, 1 modified.
1. The connector — what customers actually touch
connectorDefinition.jsonis the connector page rendered inside the customer's Azure portal. The most worthwhile file to review, because it is the product surface.CatoNetworksEventsPushCopyableLabelfields that auto-fill after deployment: Tenant ID, Application ID, Secret, Data Collection Endpoint URI, Data Collection Rule Immutable ID, stream namedataConnector.jsonis the runtime binding:kind: Push, streamCustom-CatoNetworksEvents. Short, but it is what makes the connector report Connected.2. The schema — generated, not worth reading line by line
table.json(399 columns) andDCR.json(stream declaration plustransformKql).services/events-log/cato-sentinel-solutioninserver-services. Fix the source there, never here.time→TimeGenerated,title→activity_title3. No analytic rules in this release
The three rules that translate Cato predefined alert-policy rules are held back deliberately.
Microsoft confirmed a solution is approved with a data connector alone, and the rules are still with
Cato's security team, so shipping the connector first and the rules in a later version costs
nothing. They remain a MISA requirement, so they are deferred rather than dropped.
4. Packaging and identity — the irreversible parts
SolutionMetadata.json—publisherId: catonetworks,offerId: cato-networks-sentinel-ccf-push. The offer ID must match the Partner Center offer exactly and cannot be changed after the offer is created; correcting it means deleting the offer and submitting a new PR. Notecatonetworksltd1641478570665also exists and is a legacy account — not the one to publish under.Package/—mainTemplate.json,createUiDefinition.json,testParameters.json,3.0.0.zip, all produced by Microsoft'screateSolutionV3.ps1. A hand-built equivalent was tried and is measurably wrong: it omits the analytic rules and drops a category domain.Version 3.0.0 is the V3 packaging convention for a first release, not a typo.
Names that cannot change after publishing: stream
Custom-CatoNetworksEvents, tableCatoNetworksEvents_CL, connector idCatoNetworksEventsPush. Renaming any of them later strands every customer's historical data.5. Three files outside the solution folder
Easy to miss, because nothing in
Solutions/CatoNetworks/points at them, and each omission is a CI failure:Logos/catonetworks.svgSolution_CatoNetworks.json'sLogofield is a raw URL to this exact path.script/tests/KqlvalidationsTests/CustomTables/CatoNetworksEvents_CL.jsonKS204: does not refer to any known table.script/tests/detectionTemplateSchemaValidation/ValidConnectorIds.jsonValidate_DetectionTemplates_HasValidConnectorIdsasserts each rule's connector id is listedValidConnectorIds.jsonis the only modified file: 351 → 352 entries,CatoNetworksEventsPushappended, nothing removed.Two things that look like mistakes but are not
"BasePath": "C:\\GitHub\\Azure-Sentinel\\Solutions\\CatoNetworks"— a Windows path in a repo nobody builds on Windows. It is upstream convention; merged solutions from other vendors commit exactly this. Our build rewrites it locally and restores the placeholder before committing.The
Logofield points at araw.githubusercontent.com/Azure/Azure-Sentinel/master/...URL that 404s today. It resolves only after this merges upstream. Every solution does it this way.Still needs sign-off
catonetworks.cato_socket_vm). Redrawn as SVG because that listing serves a 216x216 PNG and Sentinel accepts SVG only, with embedded PNGs explicitly rejected; geometry and colour were measured from that PNG. Passes every rule in Microsoft's logo checklist. Worth confirming with brand that this is the mark they want, and ideally replacing it with the official square icon from brand kit 101 if one exists as SVG — no standalone square mark is checked in anywhere, only the wide lockup.offerId— must be agreed before the Partner Center offer is created, since it is permanent.What happens next
Azure/Azure-Sentineland close this one. No rebuild needed.Schema updates do not go through this path. Existing customers get new fields from
catonetworks/cato-sentinel-ccf, published automatically, with no Microsoft round trip.