Skip to content

Commit 9a69df4

Browse files
Merge pull request #310697 from oshezaf/asim/minor-updates-2026-01-13
Asim/update functions doc
2 parents 01577ac + 19f9c7f commit 9a69df4

2 files changed

Lines changed: 36 additions & 3 deletions

File tree

articles/sentinel/normalization-common-fields.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ Each schema document specifies the role of the device for the schema.
7979
| <a name="dvcdomaintype"></a>**DvcDomainType** | Conditional | Enumerated | The type of [DvcDomain](#dvcdomain). For a list of allowed values and further information, refer to [DomainType](normalization-entity-device.md#domaintype).<br><br>**Note**: This field is required if the [DvcDomain](#dvcdomain) field is used. |
8080
| <a name="dvcfqdn"></a>**DvcFQDN** | Optional | FQDN (String) | The hostname of the device on which the event occurred or which reported the event, depending on the schema. <br><br> Example: `Contoso\DESKTOP-1282V4D`<br><br>**Note**: This field supports both traditional FQDN format and Windows domain\hostname format. The [DvcDomainType](#dvcdomaintype) field reflects the format used. |
8181
| <a name = "dvcdescription"></a>**DvcDescription** | Optional | String | A descriptive text associated with the device. For example: `Primary Domain Controller`. |
82-
| <a name ="dvcid"></a>**DvcId** | Optional | String | The unique ID of the device on which the event occurred or which reported the event, depending on the schema. <br><br>Example: `41502da5-21b7-48ec-81c9-baeea8d7d669` |
83-
| <a name="dvcidtype"></a>**DvcIdType** | Conditional | Enumerated | The type of [DvcId](#dvcid). For a list of allowed values and further information, refer to [DvcIdType](#dvcidtype).<br>- `MDEid`<br><br>If multiple IDs are available, use the first one from the list, and store the others by using the field names **DvcAzureResourceId** and **DvcMDEid**, respectively.<br><br>**Note**: This field is required if the [DvcId](#dvcid) field is used. |
82+
| <a name ="dvcid"></a>**DvcId** | Optional | String | The unique ID of the device on which the event occurred or which reported the event, depending on the schema. <br><br>Example: `41502da5-21b7-48ec-81c9-baeea8d7d669`<br><br>If multiple IDs are available, use the first one from the list, and store the others by using the field names **DvcAzureResourceId**, **DvcMDEid**, etc. |
83+
| <a name="dvcidtype"></a>**DvcIdType** | Conditional | Enumerated | The type of [DvcId](#dvcid). The list of allowed values is `AzureResourceId`, `MDEid`, `MD4IoTid`, `VMConnectionId`, `AwsVpcId`, `VectraId`, `AppGateId`, `FQDN`, and `Other`. Using `FQDN` as a device ID, implies reusing the hostname. Use it only as a last resort.<br><br>**Note**: This field is required if the [DvcId](#dvcid) field is used. |
8484
| <a name="dvcmacaddr"></a>**DvcMacAddr** | Optional | MAC address | The MAC address of the device on which the event occurred or which reported the event. <br><br>Example: `00:1B:44:11:3A:B7` |
8585
| <a name="dvczone"></a>**DvcZone** | Optional | String | The network on which the event occurred or which reported the event, depending on the schema. The zone is defined by the reporting device.<br><br>Example: `Dmz` |
8686
| <a name="dvcos"></a>**DvcOs** | Optional | String | The operating system running on the device on which the event occurred or which reported the event. <br><br>Example: `Windows` |

articles/sentinel/normalization-functions.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ For more information on scalar and tabular functions (represented by the lookup
5353
| **_ASIM_LookupDnsResponseCode** | Numeric DNS response code | Response code name | Translate a numeric DNS response code (RCODE) to its name, as defined by [IANA](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6) |
5454
| **_ASIM_LookupICMPType** | Numeric ICMP type | ICMP type name | Translate a numeric ICMP type to its name, as defined by [IANA](https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml#icmp-parameters-types) |
5555
| **_ASIM_LookupNetworkProtocol** | IP protocol number | IP protocol name | Translate a numeric IP protocol code to its name, as defined by [IANA](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) |
56+
| **_ASIM_LookupHTTPStatusCode** | HTTP status code | HTTP status code name | Translate a numeric HTTP status code to its name, as defined by [IANA](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml). Also supports extended status codes used by IIS and other web servers. |
57+
| **_ASIM_LookupAADcodes** | Microsoft Entra ID STS error code | Error category | Translate a Microsoft Entra ID STS error code to its error category, such as `Logon violates policy` or `No such user or password`. |
5658
5759
5860
### Resolve type functions
@@ -78,13 +80,44 @@ The device resolution functions analyze a hostname and determine whether it has
7880
| -------- | ---------------- | ----------- |
7981
| **_ASIM_ResolveFQDN** | - `ExtractedHostname`<br> - `Domain`<br> - `DomainType` <br> - `FQDN` | Analyzes the value in the field specified and set the output fields accordingly. For more information, see [example](normalization-develop-parsers.md#resolvefqnd) in the article about developing parsers. |
8082
| **_ASIM_ResolveSrcFQDN** | - `SrcHostname`<br> - `SrcDomain`<br> - `SrcDomainType`<br> - `SrcFQDN` | Similar to `_ASIM_ResolveFQDN`, but sets the `Src` fields |
81-
| **_ASIM_ResolveDstFQDN** | - `DstHostname`<br> - `DstDomain`<br> - `DstDomainType`<br> - `SrcFQDN` | Similar to `_ASIM_ResolveFQDN`, but sets the `Dst` fields |
83+
| **_ASIM_ResolveDstFQDN** | - `DstHostname`<br> - `DstDomain`<br> - `DstDomainType`<br> - `DstFQDN` | Similar to `_ASIM_ResolveFQDN`, but sets the `Dst` fields |
8284
| **_ASIM_ResolveDvcFQDN** | - `DvcHostname`<br> - `DvcDomain`<br> - `DvcDomainType`<br> - `DvcFQDN` | Similar to `_ASIM_ResolveFQDN`, but sets the `Dvc` fields |
8385
86+
### User type functions
87+
88+
The user type functions help determine the type of user based on username patterns or security identifiers (SIDs).
89+
90+
| Function | Input | Output | Description |
91+
| -------- | ----- | ------ | ----------- |
92+
| **_ASIM_GetUsernameType** | Username string | Username type | Returns the username type based on the format of the username. Possible values include `UPN` (for email-like usernames), `Windows` (for domain\\user format), `DN` (for distinguished names), `Simple`, or empty if the username is empty. |
93+
| **_ASIM_GetWindowsUserType** | Username string, SID string | User type | Returns the user type for Windows systems based on the username and security identifier (SID). Possible values include `Admin`, `Guest`, `Service`, `Machine`, `System`, `Anonymous`, `Regular`, or `Other`. |
94+
| **_ASIM_GetUserType** | Username string, SID string | User type | **Deprecated.** Use `_ASIM_GetWindowsUserType` instead. Sets the UserType in Windows systems based on the username and SID. |
95+
8496
### Source identification functions
8597
8698
The **_ASIM_GetSourceBySourceType** function retrieves the list of sources associated with a source type provided as input from the `SourceBySourceType` Watchlist. The function is intended for use by parsers writers. For more information, see [Filtering by source type using a Watchlist](normalization-develop-parsers.md#filtering-by-source-type-using-a-watchlist).
8799
100+
The **_ASIM_GetDisabledParsers** function reads the `ASimDisabledParsers` watchlist and determines based on it whether the parser provided as a parameter is disabled. This function is used internally by ASIM parsers to support disabling specific parsers.
101+
102+
### Watchlist functions
103+
104+
The watchlist functions provide optimized methods for reading watchlists in ASIM parsers.
105+
106+
| Function | Input | Output | Description |
107+
| -------- | ----- | ------ | ----------- |
108+
| **_ASIM_GetWatchlistRaw** | Watchlist alias (string), optional keys (dynamic array) | Watchlist items | Reads a single watchlist in raw format. More performant than the general `_GetWatchlist` function. |
109+
| **_ASIM_GetWatchlistsRaw** | Watchlist aliases (dynamic array), optional keys (dynamic array) | Watchlist items | Reads multiple watchlists in raw format. The primary use case is providing an option for using multiple watchlist names for the same watchlist. |
110+
111+
## Identity enrichment functions
112+
113+
Identity enrichment functions help enrich your data with user information from the UEBA IdentityInfo table.
114+
115+
| Function | Input | Output | Description |
116+
| -------- | ----- | ------ | ----------- |
117+
| **_ASIM_IdentityInfo** | None | Normalized IdentityInfo table | Deduplicates and normalizes the [IdentityInfo table](ueba-reference.md#identityinfo-table) to improve its usability in queries. Returns a deduplicated table with ASIM-normalized field names. |
118+
| **_ASIM_Enrich_IdentityInfo** | Input table, field name parameters | Enriched table | Enriches your result set with user information from the [IdentityInfo table](ueba-reference.md#identityinfo-table). Use the parameters to specify which field to use for matching: `AadIdField`, `TenantIdField`, `SidField`, `UpnField`, or `EmailField`. |
119+
120+
88121
## <a name="next-steps"></a>Next steps
89122
90123
This article discusses the Advanced Security Information Model (ASIM) help functions.

0 commit comments

Comments
 (0)