一键导入
asim-parser-la-deployer
Gets the ASIM parser of interest and deploys it to the customer's LA workspace.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Gets the ASIM parser of interest and deploys it to the customer's LA workspace.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Orchestrates the creation and validation of a new ASIM schema parser. Use this skill when asked to create a new ASIM parser.
Validates ASIM parser filtering parameters by running filter tests against a Log Analytics workspace. Pure PowerShell using az CLI for authentication — no Python or Azure SDK packages required. Use this skill after creating or modifying an ASIM parser to verify that its filtering parameters work correctly.
Reviews pull requests for ASIM parser changes and summarizes suggestions. This is not to be called by asim-parser-creator-orchestrator or when creating ASIM parsers in general. This is strictly for reviewing pull requests after necessary workflows have ran.
Run the Solutions Analyzer scripts: mapper, documentation generator, ASIM browser. Use when: running solution analyzer, generating CSVs, generating docs, refreshing caches, force-refresh, invalidating caches, generating ASIM browser, running mapper, running collect_table_info, running collect_asim_fields.
MANDATORY guidelines for ANY edit to ANY file under Tools/Solutions Analyzer/ — including the mapper (map_solutions_connectors_tables.py), doc generator (generate_connector_docs.py), interactive docs (generate_interactive_docs.py), ASIM browser, collect_table_info, collect_asim_fields, upload_to_kusto, compare_runs, solution_analyzer_overrides.csv, filter_field_resolution.yaml, or any other script/config in that folder. Use when: editing/modifying/refactoring/fixing/renaming/tweaking ANY logic in those files, even one-line fixes such as renaming a classification, escaping a character, adjusting a regex, adding an override row, suppressing a false positive, or changing a constant. Covers: keeping script-docs in sync, README Version History changelog rules (required for feature/behavior changes; optional for small bug fixes), CSV output sync with upload_to_kusto.py, static/interactive index synchronization, and markdown/HTML entity page synchronization.
This creates the parameterized version of the ASIM schema parser. You should already have the parameter-less version of the parser to help facilitate the parameter parser creation.
| name | asim-parser-la-deployer |
| description | Gets the ASIM parser of interest and deploys it to the customer's LA workspace. |
| requiredSkills | ["az-cli-command-runner","log-analytics-workspace-queryer"] |
You are responsible for deploying the ASIM parser to the customer's LA workspace. This involves using the az cli to deploy the parser and ensuring that it is properly configured to work with the customer's environment.
You will use the az cli to deploy the ASIM parser to the customer's LA workspace. You will need the following information:
asim-parser-creator-orchestrator skill, ask the customer for it.ASim<Schema><Vendor><Product>.kql) and the parameterized parser (vim<Schema><Vendor><Product>.kql). Each file requires its own deployment.Use the az-cli-command-runner skill to run az account show to verify the user is authenticated. If this fails, ask the user to run az login before continuing.
Use the az-cli-command-runner skill to run the following CLI command to get the workspace name, resource group, and location needed for deployment:
az monitor log-analytics workspace list --query "[?customerId=='<workspaceId>'].{name:name, resourceGroup:resourceGroup, location:location, id:id}" -o json 2>&1
Before embedding the KQL query into the ARM template, escape the following special characters in the query string:
\ → \\ (backslashes)" → \" (double quotes)\n (replace line breaks with literal \n)\t (replace tabs with literal \t)Save the ARM template JSON file alongside the parser .kql files (e.g., deploy_<parserName>.json).
Repeat this process for each parser file. The ARM template should contain a resource entry for each parser. Note that the functionParameters value will differ between the two parsers — the parameterized version (vim...) includes additional filter parameters defined by the schema.
An example ARM template with two parser resources:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"Workspace": {
"type": "string",
"metadata": {
"description": "The Microsoft Sentinel workspace into which the function will be deployed."
}
},
"WorkspaceRegion": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The region of the selected workspace."
}
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces/savedSearches",
"apiVersion": "2020-08-01",
"name": "[concat(parameters('Workspace'), '/<name of the parameter-less ASIM parser>')]",
"location": "[parameters('WorkspaceRegion')]",
"properties": {
"etag": "*",
"displayName": "<name of the parameter-less ASIM parser>",
"category": "ASIM",
"FunctionAlias": "<name of the parameter-less ASIM parser>",
"query": "<escaped KQL query>",
"version": 1,
"functionParameters": "disabled:bool=false,pack:bool=false"
}
},
{
"type": "Microsoft.OperationalInsights/workspaces/savedSearches",
"apiVersion": "2020-08-01",
"name": "[concat(parameters('Workspace'), '/<name of the parameterized ASIM parser>')]",
"location": "[parameters('WorkspaceRegion')]",
"properties": {
"etag": "*",
"displayName": "<name of the parameterized ASIM parser>",
"category": "ASIM",
"FunctionAlias": "<name of the parameterized ASIM parser>",
"query": "<escaped KQL query>",
"version": 1,
"functionParameters": "<parameters as defined by the schema, including disabled:bool=false,pack:bool=false>"
}
}
]
}
Use the az-cli-command-runner skill to deploy the ARM template using the following command:
az deployment group create --resource-group <resourceGroup> --template-file <templateFilePath> --parameters Workspace=<workspaceName> WorkspaceRegion=<location>
If the deployment fails:
Use the log-analytics-workspace-queryer skill to verify the parser works in the customer's LA workspace. Run the following query for each deployed parser:
<FunctionAlias>() | take 10
If the query returns results, the deployment was successful.