You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/sentinel/normalization-about-schemas.md
+15-5Lines changed: 15 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,11 +13,13 @@ ms.author: ofshezaf
13
13
14
14
# Advanced Security Information Model (ASIM) schemas
15
15
16
-
An Advanced Security Information Model ([ASIM](normalization.md)) schema is a set of fields that represent an activity. Using the fields from a normalized schema in a query ensures that the query will work with every normalized source.
16
+
An Advanced Security Information Model ([ASIM](normalization.md)) schema is a set of fields that represent an activity or entity. Using the fields from a normalized schema in a query ensures that the query will work with every normalized source.
17
17
18
18
To understand how schemas fit within the ASIM architecture, refer to the [ASIM architecture diagram](normalization.md#asim-components).
19
19
20
-
Schema references outline the fields that comprise each schema. ASIM currently defines the following schemas:
20
+
## Activity/Event Schemas
21
+
22
+
Schema references outline the fields that comprise each schema. ASIM currently defines the following schemas for events:
21
23
22
24
| Schema | Version | Status |
23
25
| ------ | ------- | ------ |
@@ -33,13 +35,21 @@ Schema references outline the fields that comprise each schema. ASIM currently d
33
35
| [User Management](normalization-schema-user-management.md) | 0.1.2 | GA |
34
36
| [Web Session](normalization-schema-web.md) | 0.2.7 | GA |
35
37
38
+
## Entity Schemas
39
+
40
+
ASIM currently defines the following schemas for entities:
41
+
42
+
| Schema | Version | Status |
43
+
| ------ | ------- | ------ |
44
+
| [Asset Entity](normalization-schema-asset.md) | 0.1.0 | GA |
45
+
36
46
## Field naming
37
47
38
48
At the core of each schema are its field names. Field names belong to the following groups:
39
49
40
50
- Fields common to all schemas.
41
51
- Fields specific to a schema.
42
-
- Fields that represent entities, such as users, which take part in the schema. Fields that represent entities [are similar across schemas](#entities).
52
+
- Fields that represent entities, such as users, which take part in the schema. Fields that represent entities [are similar across schemas](#event-entities).
43
53
44
54
When sources have fields that aren't presented in the documented schema, they're normalized to maintain consistency. If the extra fields represent an entity, they'll be normalized based on the entity field guidelines. Otherwise, the schemas strive to keep consistency across all schemas.<br><br> For example, while DNS server activity logs don't provide user information, DNS activity logs from an endpoint might include user information, which can be normalized according to the user entity guidelines.
45
55
@@ -57,11 +67,11 @@ Fields might have several classes, which define when the fields should be implem
57
67
- **Conditional** fields are mandatory if the field they follow is populated. Conditional fields are typically used to describe the value in another field. For example, the common field [DvcIdType](normalization-common-fields.md#dvcidtype) describes the value int the common field [DvcId](normalization-common-fields.md#dvcid) and is therefore mandatory if the latter is populated.
58
68
- **Alias** is a special type of a conditional field, and is mandatory if the aliased field is populated.
59
69
60
-
## Entities
70
+
## Event Entities
61
71
62
72
Events evolve around entities, such as users, hosts, processes, or files. Each entity might require several fields to describe it. For example, a host might have a name and an IP address.
63
73
64
-
A single record might include multiple entities of the same type, such as both a source and destination host. <br><br>ASIM defines how to describe entities consistently, and entities allow for extending the schemas. <br><br>For example, while the Network Session schema doesn't include process information, some event sources do provide process information that can be added. For more information, see [Entities](#entities).
74
+
A single record might include multiple entities of the same type, such as both a source and destination host. <br><br>ASIM defines how to describe entities consistently, and entities allow for extending the schemas. <br><br>For example, while the Network Session schema doesn't include process information, some event sources do provide process information that can be added. For more information, see [Entities](#event-entities).
65
75
66
76
To enable entity functionality, entity representation has the following guidelines:
The first option accepts as a parameter the value to lookup and let you choose the output field and therefore useful as a general lookup function. The second option is more geared towards parsers, takes as input the name of the source field, and updates the needed ASIM field, in this case `DnsResponseCodeName`.
265
+
The first option accepts as a parameter the value to look up and let you choose the output field and therefore useful as a general lookup function. The second option is more geared towards parsers, takes as input the name of the source field, and updates the needed ASIM field, in this case `DnsResponseCodeName`.
266
266
267
267
For a full list of ASIM help functions, refer to [ASIM functions](normalization-functions.md)
268
268
@@ -280,7 +280,7 @@ In addition to the fields available from the source, a resulting ASIM event incl
280
280
EventSchema = 'ProcessEvent'
281
281
```
282
282
283
-
Another type of enrichment fields that your parsers should set are type fields, which designate the type of the value stored in a related field. For example, the `SrcUsernameType` field designates the type of value stored in the `SrcUsername` field. You can find more information about type fields in the [entities description](normalization-about-schemas.md#entities).
283
+
Another type of enrichment fields that your parsers should set are type fields, which designate the type of the value stored in a related field. For example, the `SrcUsernameType` field designates the type of value stored in the `SrcUsername` field. You can find more information about type fields in the [entities description](normalization-about-schemas.md#event-entities).
284
284
285
285
In most cases, types are also assigned a constant value. However, in some cases the type has to be determined based on the actual value, for example:
286
286
@@ -327,7 +327,7 @@ For example, when parsing a custom log table, use the following to remove the re
327
327
>[!IMPORTANT]
328
328
> The different variants represent *different* event types, commonly mapped to different schemas, develop separate parsers
329
329
330
-
In many cases, events in an event stream include variants that require different parsing logic. To parse different variants in a single parser either use conditional statements such as `iff` and `case`, or use a union structure.
330
+
In many cases, events in an eventstream include variants that require different parsing logic. To parse different variants in a single parser either use conditional statements such as `iff` and `case`, or use a union structure.
331
331
332
332
To use `union` to handle multiple variants, create a separate function for each variant and use the union statement to combine the results:
333
333
@@ -430,7 +430,7 @@ To make sure that your parser produces valid values, use the ASIM data tester by
Specifying a schema is optional. If a schema is not specified, the `EventSchema` field is used to identify the schema the event should adhere to. Ig an event does not include an `EventSchema` field, only common fields will be verified. If a schema is specified as a parameter, this schema will be used to test all records. This is useful for older parsers that do not set the `EventSchema` field.
433
+
Specifying a schema is optional. If a schema is not specified, the `EventSchema` field is used to identify the schema the event should adhere to. If an event does not include an `EventSchema` field, only common fields will be verified. If a schema is specified as a parameter, this schema will be used to test all records. This is useful for older parsers that do not set the `EventSchema` field.
434
434
435
435
> [!NOTE]
436
436
> Even when a schema is not specified, empty parentheses are needed after the function name.
0 commit comments