Azure-Sentinel/Solutions
v-jayakal ac94a89c29
Merge pull request #3324 from SecureHats/master
updated text module 2
2021-11-08 20:44:23 -08:00
..
AbnormalSecurity Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
ApigeeX Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
AristaAwakeSecurity updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
Armorblox updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
Bitglass Bitglass: fixes2 2021-10-08 10:17:47 +03:00
Box add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
CarbonBlack Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
Check Point Check Point Solution Package 2021-04-28 10:53:16 -07:00
Cisco ISE Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
CiscoACI Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
CiscoASA/Playbooks Copy of Cisco ASA playbooks, custom Connector to solution folder 2021-04-27 14:16:07 +05:30
CiscoDuoSecurity cisco duo - fix typo 2021-07-06 14:05:41 +03:00
CiscoMeraki Cisco Meraki Content Move + Solution Package 2021-09-07 10:07:41 -07:00
CiscoSEG Update Connector_Cisco_SEG_CEF.json 2021-06-22 14:40:17 -07:00
CiscoSecureEndpoint cisco se connector - update links and fix typos 2021-10-07 22:34:10 +03:00
CiscoStealthwatch Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
CiscoUmbrella add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
CiscoWSA Update Connector_WSA_Syslog.json 2021-06-29 01:00:28 -07:00
Claroty claroty connector - update links and sample data 2021-10-07 22:39:29 +03:00
Cloudflare Delete testing.yaml 2021-10-26 11:05:34 +03:00
Contrast Security Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
Corelight updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
CrowdStrike Falcon Endpoint Protection add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
CybersecurityMaturityModelCertification(CMMC) update 2021-11-03 18:26:01 +05:30
DigitalGuardianDLP digital guardian - update connector and parser 2021-07-06 13:33:23 +03:00
Dynamics 365 add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
ESETPROTECT Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
ElasticAgent Update Connector_ElasticAgent.json 2021-10-13 23:17:27 -07:00
FalconFriday Add files via upload 2021-10-26 11:08:23 -07:00
FireEyeNX FireEyeNX - add connector and parser 2021-06-29 14:45:41 +03:00
FlareSystemsFirework Merge pull request #2697 from Flared/jct/FlareSystems-improve-Solution-wizard 2021-11-08 20:43:34 -08:00
Forescout update forescout connector 2021-08-20 16:25:03 +03:00
Fortinet-FortiGate Update to function app code for Fortigate custom connector 2021-11-01 18:29:43 +05:30
GoogleCloudPlatformDNS gcp solutions - add logo 2021-07-13 12:08:36 +03:00
GoogleCloudPlatformIAM add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
GoogleCloudPlatformMonitor gcp solutions - add logo 2021-07-13 12:08:36 +03:00
Group-IB/Playbooks add azuredeploy formatted playbooks 2021-07-14 17:23:35 +03:00
HYAS Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
HolmSecurity/Data Connectors workspaceId fix 2021-10-19 15:22:03 +02:00
HoneyTokens Audit policy logic update 2021-11-03 12:46:32 +00:00
IPQualityScore Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
Illusive Active Defense add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
Images Add files via upload 2021-05-11 17:59:09 -07:00
ImpervaCloudWAF Merge pull request #3113 from socprime/ImpervaCloudWAF_parse_CEF_inside_function 2021-10-14 19:48:30 -07:00
InfoSecGlobal Update mainTemplate.json 2021-11-02 17:15:05 +05:30
Infoblox Cloud Data Connector Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
IoTOTThreatMonitoringwithDefenderforIoT Defender IOT - Analytics Update 2021-11-04 14:23:37 -07:00
IronNet IronDefense Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
IvantiUEM Update IvantiUEMEvent.txt 2021-10-15 11:22:59 +03:00
JBoss jboss - update connector json 2021-10-15 10:52:27 +03:00
JuniperIDP Rename JuniperIDP Parser 2021-06-29 15:31:54 -07:00
KasperskySecurityCenter kaspersky sc - update parser 2021-10-18 17:31:26 +03:00
Lookout Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
McAfee Network Security Platform Update McAfeeNSPEvent.txt 2021-06-28 15:54:21 -07:00
McAfeeePO add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
MicrosoftInsiderRiskManagement update 2021-11-03 18:26:01 +05:30
NXLogAixAudit Updated a broken example query that was missing a pipe ( | ) 2021-09-16 12:24:09 -05:00
NXLogDnsLogs Renamed the parser from NXLog_parsed_DNS_Server_ASim_view to ASimDnsMicrosoftNXLog 2021-10-04 08:55:10 -05:00
OCILogs oci connector - update function app 2021-09-16 19:11:55 +03:00
OracleDatabaseAudit add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
PaloAlto-PAN-OS Updated Palo Alto PAN-OS Solution Package 2021-08-04 16:04:36 +05:30
PaloAltoCDL palo alto cdl connector - update links 2021-10-07 22:28:08 +03:00
PaloAltoPrismaCloud add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
PingFederate add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
ProofPointTap add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
QualysVM Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
Rapid7InsightVM InsightVM: desc fixing 2021-06-29 14:07:24 +03:00
Recorded Future Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
ReversingLabs updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
RiskIQ update 2021-10-29 18:12:15 +05:30
SAP Updated private preview to preview in "echo" 2021-11-04 16:50:10 +02:00
SailPointIdentityNow solution package 2021-11-02 10:10:07 +05:30
SecurID Removed Non-Ascii character 2021-08-25 19:57:43 +05:30
SemperisDirectoryServicesProtector updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
SenservaPro Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
SlackAudit add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
Snowflake fixed PR review comments 2021-10-14 19:49:37 +05:30
SonraiSecurity updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
SophosEP add logo for Sophos EP solution 2021-07-13 12:12:03 +03:00
Symantec Endpoint Protection add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
SymantecProxySG Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
SysmonForLinux/Data Connectors fixed the datatype name 2021-10-21 22:52:01 +03:00
Templates Add files via upload 2021-02-25 09:49:14 -08:00
TenableIO TenableIO Parser Naming Fix 2021-11-01 13:53:19 -07:00
TheHive TheHive: fixes 2021-10-08 15:41:09 +03:00
ThreatAnalysis&Response Emoji Update 2021-10-27 10:44:03 -04:00
ThreatAnalysis&ResponsewithMITREATT&CK Renamed planId to OfferId 2021-10-29 18:17:12 +05:30
Training/Azure-Sentinel-Training-Lab Merge pull request #3324 from SecureHats/master 2021-11-08 20:44:23 -08:00
Trend Micro Apex One Update TrendMicro_ApexOne.json 2021-06-28 23:36:12 -07:00
Trend Micro Cloud App Security TrendMicroCAS: update links 2021-09-22 16:10:09 +03:00
Ubiquiti add Scheduled kind to all exisitng templates (solutions + detections) 2021-10-19 16:51:50 +03:00
VMRay ETD updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
Vectra updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
ZeroTrust(TIC3.0) update 2021-11-03 18:26:01 +05:30
archTIS updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
vArmour updated offerID in solutionmetadata file, maintemplate file and zip 2021-10-26 17:40:48 +05:30
README.md Update README.md 2021-09-09 16:36:23 -07:00
known_issues.md Update known_issues.md 2021-05-13 09:32:37 -07:00

README.md

Guide to Building Azure Sentinel Solutions

This guide provides an overview of Azure Sentinel Solutions and how one can build and publish a solution for Azure Sentinel.

Azure Sentinel Solutions provide an in-product experience for central discoverability, single-step deployment, and enablement of end-to-end product and/or domain and/or vertical scenarios in Azure Sentinel. This experience is powered by Azure Marketplace for Solutions discoverability, deployment and enablement and Microsoft Partner Center for Solutions authoring and publishing. Providers or partners can deliver combined product or domain or vertical value via solutions in Azure Sentinel and be able to productize investments. More details are covered in Azure Sentinel documentation and review the catalog for complete list of Azure Sentinel solutions.

Azure Sentinel Solutions include packaged content or integrations or service offerings for Azure Sentinel. This guide focuses on building packages content type solutions that includes combination of one or many data connectors, workbooks, analytic rules, playbooks, hunting queries, parsers, watchlists, and more for Azure Sentinel. Reach out to Azure Sentinel Solutions Onboarding Team if you plan to build an integration type or service offering type or want to build any other type of Solution not covered above.

Azure Sentinel solutions build process

Step 1 – Create Content for Azure Sentinel

Start with the Get started documentation on the Azure Sentinel GitHub Wiki to identify the content types you plan to include in your Solution package. This includes data connectors, workbooks, analytic rules, playbooks, hunting queries, and more. Each of the content type has its own contribution guidance which you can follow to develop and validate the content.

Hold off on submitting the content to the respective folders as pointed to in the contribution guidance for each contribution. Instead, have your content in the Solutions folder of the GitHub repo.

  • Create a folder with your Solution name under Solutions folder.
  • Within that create a folder structure within your Solutions folder as follows to submit your content developed above. See example.
    • Data Connectors – the data connector json files or Azure Functions, etc. goes in this folder.
    • Workbooks – workbook json files and black and white preview images of the workbook goes here.
    • Analytic Rules – yaml file templates of analytic rules goes in this folder.
    • Hunting queries – yaml file templates of hunting queries goes in this folder.
    • Playbooks – json playbook and Azure Logic Apps custom connectors can go in this folder.
    • Parser – txt file for Ksuto Functions or Parsers can go in this folder.
  • Logo – SVG format logo can go to the central Logos folder.
  • Sample data – Check this into the sample data folder within the respective folder depending on data connector type.
  • Submit a PR with all of your Solution content.
  • The PR will go through automated GitHub validation and address potential errors as needed.
  • Upon successful content validation, the Azure Sentinel team will review your PR and get back with feedback (as needed). Expect an initial response within 5 business days.
  • The PR gets approved and merged upon successful review/feedback incorporation process.

Step 2 – Package Content

The Solutions content package is called a Solution template and has two files listed as follows. Refer to the Solution template documentation (deployment package) for details on these ARM (Azure Resource Manager) files.

  1. mainTemplate.json - ARM template of the resources the Solution offer includes.
  2. createUIDefinition.json – Deployment experience definition that the customer installing a Solution goes through - this is a step-by-step wizard experience. All the content you plan to package needs to be converted to ARM format and the mainTemplate file is the overall ARM template file combining these individual ARM content files. After you create the two json files for your Solution, validate these. Finally, package these two json files in a .zip file that you can upload as part of the publish process (Step 3).

Use the package creation tool to help you create and validate the package - follow the solutions packaging tool guidance to use the tool and package your content.

  • If you already have an Azure Sentinel solution and want to update the package, use the tool with updated content to create a new version of the package using the tool.
  • Versioning format of package - Always use {Major}.{Minor}.{Revision} schematic versioning format (for e.g. 1.0.1) for solutions that aligns with Azure Marketplace recommendation and versioning support.
  • Version for updates - If you update you package, please always remmeber to increment the version value, irrespective of how trivial the change is (could be just fixing a typo in a content or solution definition file). For e.g. If original package version is 1.0.1 and you make a:
    • Major update, new version can be 2.0.0
    • Minor update like changes applying to a few content in the package, new version can be 1.1.0
    • Very minor revisions scoped to one content, new version can be 1.0.2
  • Since solutions use ARM template, you can customize the solution text as well as tabs if needed for catering to specific scenarios.

Step 3 – Publish Solution

Azure Sentinel Solutions publish experience is powered by Microsoft Partner Center.

Registration (one-time)

If you/your company are a first-time app publisher on Azure Marketplace, follow the steps to register and create a Commercial Marketplace account in Partner Center. This process will give you a unique Publisher ID and access to the Commercial Marketplace authoring and publishing experience on Partner Center to create, certify and publish a Solution offer.

Author and Publish Solutions Offer

For the following steps well rely on Partner Centers detailed documentation.

  1. Create an Azure application type offer and configure the offer setup details per guidance.
  2. Configure the Offer properties.
  3. Configure the Offer listing details – this includes the title, description, pictures, videos, support information, etc. aspects. Enter one of the search keywords value as f1de974b-f438-4719-b423-8bf704ba2aef – to display your Solution in the Azure Sentinel Solutions gallery.
  4. Create a plan and select plan type as Solution Template.
  5. Configure the Solutions template plan. This is where youll upload the Solutions zip created in Step 2 and set a version for the package. Follow versioning guidance mentioned in Step 2.
  6. Validate and Test the offer once done.
  7. Once youve validated the offer, publish the offer live. This will trigger the certification process (can take up to 3 business days).

Note: The Azure Sentinel team will need to make a change so that your Solution shows up in the Azure Sentinel Solutions gallery, hence before going live, email Azure Sentinel Solutions Onboarding Team with your Solutions offer ID and Publisher ID so that we can make the necessary changes.

Note: Making the offer public is very important for it to show up in the Azure Sentinel Solutions gallery.

Feedback

Email Azure Sentinel Solutions Onboarding Team with any feedback on this process or for new scenarios not covered in this guide or with any constraints you may encounter.