Advanced Security Information Model (ASIM) スキーマ

Advanced Security Information Model (ASIM) スキーマは、アクティビティを表すフィールドのセットです。 クエリで正規化されたスキーマのフィールドを使用すると、クエリがすべての正規化されたソースで確実に動作します。

スキーマが ASIM アーキテクチャにどのように適合するかを理解するには、ASIM アーキテクチャの図を参照してください。

スキーマ参照では、各スキーマを構成するフィールドの概要が示されます。 現在、ASIM では次のスキーマが定義されています。

スキーマ Version Status
監査イベント 0.1 プレビュー
認証イベント 0.1.3 プレビュー
DNS アクティビティ 0.1.7 プレビュー
DHCP アクティビティ 0.1 プレビュー
ファイル アクティビティ 0.2.1 プレビュー
ネットワーク セッション 0.2.6 プレビュー
プロセス イベント 0.1.4 プレビュー
レジストリ イベント 0.1.2 プレビュー
[ユーザー管理] 0.1 プレビュー
Web セッション 0.2.6 プレビュー

重要

ASIM のスキーマとパーサーは現在プレビュー段階です。 Azure プレビューの追加使用条件には、ベータ版、プレビュー版、またはまだ一般提供されていない Azure 機能に適用される追加の法律条項が含まれています。

スキーマの概念

次の概念は、スキーマのリファレンス ドキュメントを理解し、スキーマがカバーしていない情報がデータに含まれる場合に、正規化された方法でスキーマを拡張するのに役立ちます。

概念 説明
フィールド名 各スキーマの中核となるのは、そのフィールド名です。 フィールド名は次のグループに属します。

- すべてのスキーマに共通のフィールド。
- あるスキーマに固有のフィールド。
- スキーマに含まれるエンティティ (ユーザーなど) を表すフィールド。 エンティティ を表すフィールドは、スキーマ 間で類似しています。

文書化されたスキーマに存在しないフィールドがソースにある場合、一貫性を維持するために正規化されます。 追加のフィールドがエンティティを表す場合は、エンティティ フィールドのガイドラインに基づいて正規化されます。 それ以外の場合、スキーマは、すべてのスキーマ間で一貫性を保つように努めます。

たとえば、DNS サーバーのアクティビティ ログではユーザー情報が提供されない一方で、エンドポイントからの DNS アクティビティ ログにはユーザー情報が含まれる場合があります。これは、ユーザー エンティティのガイドラインに従って正規化できます。
フィールドの型 スキーマの各フィールドには型があります。 Log Analytics ワークスペースには、限られたデータ型のセットがあります。 この理由により、Microsoft Sentinel は多くのスキーマ フィールドで論理型を使います。Log Analytics ではこれを強制していませんが、スキーマの互換性のためには必要です。 論理フィールド型を使用すると、値とフィールド名の両方がソース間で一貫性を保ちます。

詳細については、「論理型」を参照してください。
Field クラス フィールドはいくつかのクラスを持つことができ、そのフィールドがいつパーサーによって実装される必要があるのかを規定します。

- - フィールドは、すべてのパーサーで表示されなければなりません。 ソースでこの値の情報が提供されない場合、またはデータを別の方法で追加できない場合、正規化されたスキーマを参照するほとんどのコンテンツ項目ではサポートされません。
- - フィールドは、利用可能な場合には正規化すべきです。 ただし、すべてのソースで利用できるとは限りません。 正規化されたスキーマを参照するコンテンツ項目では利用可能性を考慮する必要があります。
- - フィールドは、利用可能な場合には正規化できますし、元の形式で残すこともできます。 通常、最小限のパーサーでは、パフォーマンス上の理由から正規化されません。
- 条件付きフィールドが入力されている場合は必須です。 通常、条件付きフィールドは、別のフィールドの値を記述するために使用されます。 たとえば、共通フィールド DvcIdType は共通フィールド DvcId の値 int を記述するため、後者が設定されている場合は必須です。
- エイリアスは条件付きフィールドの特殊な型であり、エイリアス化されたフィールドが設定されている場合は必須です。
共通フィールド 一部のフィールドは、すべての ASIM スキーマに共通です。 各スキーマによって、共通フィールドの一部を特定のスキーマのコンテキストで使うためのガイドラインが追加されることがあります。 たとえば、EventType フィールドに使用できる値はスキーマごとに異なる可能性があり、EventSchemaVersion フィールドの値も同様に異なる可能性があります。
エンティティ イベントは、ユーザー、ホスト、プロセス、ファイルなどのエンティティを中心に発展しています。 各エンティティは、それを記述するために複数のフィールドを必要とする場合があります。 たとえば、ホストは名前と IP アドレスを持つことができます。

1 つのレコードに、ソース ホストと宛先ホストの両方など、同じ種類の複数のエンティティが含まれる場合があります。

ASIM によって、エンティティを一貫して記述する方法が定義され、エンティティではスキーマの拡張が考慮されます。

たとえば、Network Session スキーマにはプロセス情報は含まれませんが、一部のイベント ソースによって追加できるプロセス情報が提供されます。 詳細は、「エンティティ」を参照してください。
エイリアス エイリアスでは、指定した値に対して複数の名前が許可されます。 場合によっては、ユーザーによってフィールドの名前が異なると予想される場合があります。 たとえば、DNS の用語では DnsQuery という名前のフィールドを想定する場合がありますが、より一般的には、これにはドメイン名が保持されます。 エイリアス Domain は、両方の名前の使用を許可することでユーザーの役に立ちます。

場合によっては、イベントで使用できる値に応じて、エイリアスに複数のフィールドの 1 つの値が入ります。 たとえば、Dvc エイリアスには、DvcFQDNDvcIdDvcHostnameDvcIpAddrEvent Product のいずれかのフィールドが入ります。 1 つのエイリアスに複数の値が入る可能性がある場合、その型は、可能なすべてのエイリアス値に対応する文字列である必要があります。 そのため、そのようなエイリアスに値を割り当てるときには、KQL 関数 tostring を使用して型を文字列に確実に変換してください。

ネイティブ正規化テーブル には、エイリアスは入りません。これは、データの重複保存を意味するためです。 代わりに、スタブ パーサーによってエイリアスを追加します。 パーサーでエイリアスを実装するには、extend 演算子を使用して元の値のコピーを作成します。

論理型

スキーマの各フィールドには型があります。 いくつかは stringintdatetimedynamic などの、組み込みの Log Analytics 型を持っています。 他には、論理型を持つフィールドもあります。これは、フィールド値を正規化すべき方法を表します。

データ型 物理型 形式と値
Boolean Bool ブール値を表す数値または文字列形式ではなく、組み込みの KQL bool データ型を使います。
列挙 String フィールドに対して明示的に定義された値のリストです。 スキーマ定義には、受け入れ可能な値が一覧表示されます。
日付/時刻 インジェスト メソッドの機能に応じて、次の物理表現のいずれかを降順の優先順位で使用します。

- Log Analytics 組み込みの datetime 型
- Log Analytics の datetime の数値表現を使用した整数フィールド。
- Log Analytics の datetime の数値表現を使用した文字列フィールド
- サポートされている Log Analytics の日付/時刻形式 を格納する文字列フィールド。
Log Analytics の日付と時刻の表現は、Unix の時刻表現と性質は似ていますが異なります。 詳細については、「変換ガイドライン」を参照してください。

: 該当する場合は、タイム ゾーンを調整する必要があります。
MAC アドレス String コロン 16 進表記。
IP アドレス (IP address) String Microsoft Sentinel スキーマは、IPv4 アドレスと IPv6 アドレスを別々に保持しません。 どの IP アドレス フィールドにも、IPv4 アドレスまたは IPv6 アドレスのどちらかを次のように含めることができます。

- ドット 10 進表記の - 。
- - は 8 ヘクステットで表記します。短い形式が許容されます。

次に例を示します。
- - : 192.168.10.10
- - : FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
- - : 1080::8:800:200C:417A
FQDN String ドット表記を使用した完全修飾ドメイン名 (例: learn.microsoft.com)。 詳細については、「デバイス エンティティ」を参照してください。
hostname String FQDN ではないホスト名は最大 63 文字で、英数字とハイフンを使用できます。 詳細については、「デバイス エンティティ」を参照してください。
DomainType Enumerated ドメイン フィールドと FQDN フィールドに格納されているドメインの種類。 値のリストと詳細については、「デバイス エンティティ」を参照してください。
DvcIdType Enumerated DvcId フィールドに格納されているデバイス ID の種類。 有効な値の一覧とその他の情報については「DvcIdType」を参照してください。
DeviceType Enumerated DeviceType フィールドに格納されているデバイスの種類。 次の値を指定できます。
- Computer
- Mobile Device
- IOT Device
- Other. 詳細については、「デバイス エンティティ」を参照してください。
ユーザー名 String サポートされている種類のいずれかである有効なユーザー名。 詳細については、「ユーザー エンティティ」を参照してください。
UsernameType Enumerated ユーザー名フィールドに格納されているユーザー名の種類。 詳細とサポートされている値のリストについては、「ユーザー エンティティ」を参照してください。
UserIdType Enumerated ユーザー ID フィールドに格納されている ID の種類。

サポートされている値は、SIDUISAADIDOktaIdAWSIdPUID です。 詳細については、「ユーザー エンティティ」を参照してください。
UserType Enumerated ユーザーの種類。 詳細と使用できる値のリストについては、「ユーザー エンティティ」を参照してください。
AppType Enumerated アプリケーションの種類。 サポートされている値は Process
ServiceResourceURLSaaS applicationCSPOther です。
Country (国) String ISO 3166-1 を使用した文字列で、次の優先順位に従う:

- Alpha-2 コード (例: 米国は US)。
- Alpha-3 コード (例: 米国は USA)。
- 短い名前。

コードの一覧は、国際標準化機構 (ISO) の Web サイトで確認できます。
リージョン String ISO 3166-2 を使用した、国の下位区分名。

コードの一覧は、国際標準化機構 (ISO) の Web サイトで確認できます。
City (市) String
Longitude (経度) Double ISO 6709 座標表現 (符号付き 10 進数)。
Latitude (緯度) Double ISO 6709 座標表現 (符号付き 10 進数)。
MD5 String 32 桁の 16 進数文字。
SHA1 String 40 桁の 16 進数文字。
SHA256 String 64 桁の 16 進数文字。
SHA512 String 128 桁の 16 進数文字。

エンティティ

イベントは、ユーザー、ホスト、プロセス、ファイルなどのエンティティを中心に発展しています。 エンティティ表現を使用すると、同じ型の複数のエンティティを 1 つのレコードに含めることができ、同じエンティティに対して複数の属性をサポートできます。

エンティティの機能を有効にするために、エンティティ表現には次のガイドラインがあります。

ガイドライン 説明
記述子とエイリアス 1 つのイベントには、ソースと宛先のホストなど、同じ種類の複数のエンティティが含まれることが多いため、特定のエンティティに関連付けられているすべてのフィールドを識別するためのプレフィックスとして記述子が使用されます。

正規化を維持するために、ASIM には少数の標準記述子が使われ、エンティティの特定のロールに最適なものが選ばれます。

ある種類の 1 つのエンティティがイベントに関連している場合は、記述子を使用する必要はありません。 また、記述子のない一連のフィールドは、各型で最も使用されているエンティティのエイリアスを設定します。
識別子と型 正規化されたスキーマでは、各エンティティに対して複数の識別子を使用できます。これは、イベントに共存させることを想定しています。 ソース イベントに、正規化されたスキーマにマップできない他のエンティティ識別子がある場合は、ソースの形式で保持するか、AdditionalFields 動的フィールドを使用します。

識別子の型情報を保持するには、必要に応じて、同じ名前に加えて Type のサフィックスを持つフィールドに型を保存します。 たとえば、UserIdType です。
属性 エンティティには多くの場合、識別子として機能しない他の属性があり、記述子で修飾することもできます。 たとえば、ソース ユーザーがドメイン情報を持っている場合、正規化されたフィールドは SrcUserDomain になります。

各スキーマは、中央エンティティとエンティティ フィールドを明示的に定義します。 以下のガイドラインでは、中央スキーマ フィールドについて、また、スキーマで明示的に定義されていない他のエンティティやエンティティ フィールドを使い、正規化された方法でスキーマを拡張する方法について説明します。

ユーザー エンティティ

イベントによってレポートされるアクティビティの中心はユーザーです。 このセクションにリストされているフィールドは、アクションに関係するユーザーについて説明するのに使用されます。 プレフィックスは、アクティビティでのユーザーのロールを示すのに使用されます。 プレフィックス SrcDst は、ソース システムと宛先システムが通信するネットワーク関連イベントでのユーザー ロールを示すのに使用されます。 プレフィックス 'Actor' と 'Target' は、プロセス イベントなどのシステム指向イベントに使用します。

ユーザー ID とスコープ

フィールド クラス Type 説明
UserId オプション String マシンが判読できる、英数字で、ユーザーを一意に表現したもの。
UserScope 省略可能 string UserIdUsername が定義されているスコープ。 たとえば、Microsoft Entra テナント ドメイン名。 UserIdType フィールドは、このフィールドに関連付けられている型も表します。
UserScopeId 省略可能 string UserIdUsername が定義されているスコープの ID。 たとえば、Microsoft Entra テナント ディレクトリ ID など。 UserIdType フィールドは、このフィールドに関連付けられている型も表します。
UserIdType オプション UserIdType UserId フィールドに保存される ID の種類。
UserSidUserUidUserAadIdUserOktaIdUserAWSIdUserPuid 省略可能 String 特定のユーザー ID を保存するために使用されるフィールド。 UserId に保存するプライマリ ID として、イベントとの関連が最も強い ID を選択します。 イベントに ID が 1 つしかない場合でも、UserId に加えて、関連する特定の ID フィールドを設定します。
UserAADTenantUserAWSAccount オプション String 特定のスコープ を保存するために使用されるフィールド。 UserId フィールドに保存されている ID に関連付けられているスコープには、UserScope フィールドを使用します。 イベントに ID が 1 つしかない場合でも、UserScope に加えて、関連する特定のスコープ フィールドを設定します。

ユーザー ID の種類として有効な値は次のとおりです。

説明設定
SID Windows ユーザー ID。 S-1-5-21-1377283216-344919071-3415362939-500
UID Linux ユーザー ID。 4578
AADID Microsoft Entra のユーザー ID。 9267d02c-5f76-40a9-a9eb-b686f3ca47aa
OktaId Okta ユーザー ID。 00urjk4znu3BcncfY0h7
AWSId AWS ユーザー ID。 72643944673
PUID Microsoft 365 ユーザー ID。 10032001582F435C
SalesforceId Salesforce ユーザー ID。 00530000009M943

ユーザー名

フィールド クラス Type 説明
ユーザー名 オプション String 使用可能な場合はドメイン情報を含む、ソースのユーザー名。 シンプル形式は、ドメイン情報が利用できない場合にのみ使用します。 ユーザー名の種類は、UsernameType フィールドに格納します。
UsernameType オプション UsernameType Username フィールドに保存するユーザー名の種類を指定します。
UserUPNWindowsUsernameDNUsernameSimpleUsername オプション String 元のイベントに複数のユーザー名が含まれている場合に、追加のユーザー名の保存に使用するフィールド。 Username に保存するプライマリ ユーザー名として、イベントとの関連がに最も強いユーザー名を選択します。

ユーザー名の種類として有効な値は次のとおりです。

説明設定
UPN UPN またはメール アドレスのユーザー名の指定子。 johndow@contoso.com
Windows ドメインを含む Windows ユーザー名。 Contoso\johndow
DN LDAP 識別名の指定子。 CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM
シンプル ドメイン指定子のない単純なユーザー名。 johndow
AWSId AWS ユーザー ID。 72643944673

追加のユーザー フィールド

フィールド クラス Type 説明
UserType オプション UserType ソース ユーザーの種類。 サポートされている値は次のとおりです。
- Regular
- Machine
- Admin
- System
- Application
- Service Principal
- Service
- Anonymous
- Other.

値は、異なる用語を使用してソース レコードに提供されている場合があり、これらの値に正規化する必要があります。 元の値は OriginalUserType フィールドに保存します。
OriginalUserType オプション String レポート デバイスによって提供されている場合、元のターゲット ユーザーの種類。

デバイス エンティティ

デバイス (またはホスト) は、イベントに関与するシステムに対して使用される一般用語です。 プレフィックス Dvc は、イベントが発生したプライマリ デバイスを示すのに使用されます。 ネットワーク セッションなど、ソース デバイスと宛先デバイスがあるイベントもあり、プレフィックス SrcDst でこれらのデバイスを示します。 このような場合、イベントをレポートするデバイスにプレフィックス Dvc を使用します。これはソース デバイス、宛先デバイス、またはモニター デバイスの可能性があります。

デバイス エイリアス

フィールド クラス Type 説明
DvcSrcDst Mandatory String Dvc、'Src'、または 'Dst' フィールドは、デバイスの一意識別子として使用されます。 使用可能なデバイスの識別子のうち最適なものに設定されます。 これらのフィールドは、FQDNDvcIdHostname、または IpAddr フィールドの別名である可能性があります。 明確なデバイスがないクラウド リソースの場合は、Event Product フィールドと同じ値を使用します。

デバイス名

レポートされるデバイス名には、ホスト名のみか、または完全修飾ドメイン名 (FQDN) が含まれます。FQDN にはホスト名とドメイン名が含まれます。 FQDN の表現には、複数の形式が使用される可能性があります。 次のフィールドにより、デバイス名に指定される可能性があるさまざまなバリエーションをサポートできます。

フィールド クラス Type 説明
hostname 推奨 Hostname (ホスト名) デバイスの短いホスト名。
Domain 推奨 String イベントが発生したデバイスのドメインで、ホスト名は含まれません。
DomainType 推奨 Enumerated Domain の種類。 サポートされている値は FQDNWindows です。 Domain フィールドが使用されている場合、このフィールドは必須です。
FQDN オプション String HostnameDomain の両方が含まれる、デバイスの FQDN。 このフィールドでは、従来の FQDN 形式と Windows のドメイン\ホスト名形式の両方がサポートされています。 DomainType フィールドに、使用されている形式が反映されます。

次に例を示します。

フィールド 入力 appserver.contoso.com の値 入力 appserver の値
hostname appserver appserver
[ドメイン] contoso.con <empty>
DomainType FQDN <empty>
FQDN appserver.contoso.com <empty>

ソースにより提供される値が FQDN の場合、または値が FQDN か短いホスト名の場合、パーサーは 4 つの値を計算する必要があります。 ASIM ヘルパー関数 _ASIM_ResolveFQDN_ASIM_ResolveSrcFQDN_ASIM_ResolveDstFQDN、および _ASIM_ResolveDvcFQDN を使用して、1 つの入力値に基づいて 4 つのフィールドすべてを簡単に設定します。 詳細については、ASIM のヘルパー関数に関するページを参照してください。

デバイス ID とスコープ

フィールド クラス Type 説明
DvcId オプション String デバイスの一意の ID。 例: 41502da5-21b7-48ec-81c9-baeea8d7d669
ScopeId 省略可能 String デバイスが属するクラウド プラットフォームのスコープ ID。 Scope は、Azure ではサブスクリプション ID に、AWS ではアカウント ID にマップされます。
Scope 省略可能 String デバイスが属するクラウド プラットフォームのスコープ。 Scope は、Azure ではサブスクリプションに、AWS ではアカウントにマップされます。
DvcIdType オプション Enumerated DvcId の種類。 通常、このフィールドでは ScopeScopeId の種類も識別します。 DvcId フィールドが使用されている場合、このフィールドは必須です。
DvcAzureResourceIdDvcMDEidDvcMD4IoTidDvcVMConnectionIdDvcVectraIdDvcAwsVpcId オプション String 元のイベントに複数のデバイス ID が含まれている場合に、追加のデバイス ID の保存に使用するフィールド。 DvcId に保存するプライマリ ID として、イベントとの関連が最も強いデバイス ID を選択します。

名前が示されているフィールドには SrcDst などのロールのプレフィックスを前に付ける必要がありますが、2 つ目の Dvc プレフィックスを、このロールで使用されている場合でも前に追加しないでください。

デバイス ID の種類として有効な値は次のとおりです。

説明
MDEid Microsoft Defender for Endpoint によって割り当てられるシステム ID。
AzureResourceId Azure リソース ID。
MD4IoTid Microsoft Defender for IoT リソース ID。
VMConnectionId Azure Monitor VM Insights ソリューション リソース ID。
AwsVpcId AWS VPC ID。
VectraId Vectra AI によって割り当てられたリソース ID。
その他 上記にリストされていない ID の種類。

たとえば、Azure Monitor VM Insights ソリューションは、VMConnection でネットワーク セッション情報を提供します。 このテーブルの _ResourceId フィールド内には Azure リソース ID が示され、Machine フィールド内には VM insights 固有のデバイス ID が示されます。 次のマッピングを使用してこれらの ID を表します。

フィールド マップ先
DvcId VMConnection テーブル内の Machine フィールド。
DvcIdType VMConnectionId の値
DvcAzureResourceId VMConnection テーブル内の _ResourceId フィールド。

追加のデバイス フィールド

フィールド クラス Type 説明
IpAddr 推奨 IP アドレス デバイスの IP アドレス。

例 : 45.21.42.12
DvcDescription オプション String デバイスに関連付けられる説明のテキスト。 (例: Primary Domain Controller)。
MacAddr オプション MAC イベントが発生した、またはイベントを報告したデバイスの MAC アドレス。

例: 00:1B:44:11:3A:B7
Zone オプション String イベントが発生した、またはイベントを報告したネットワーク (スキーマによって異なります)。 ゾーンは、レポート デバイスによって定義されます。

例: Dmz
DvcOs オプション String イベントが発生した、またはイベントを報告したデバイスで実行されているオペレーティング システム。

例: Windows
DvcOsVersion オプション String イベントが発生した、またはイベントを報告したデバイスのオペレーティング システムのバージョン。

例: 10
DvcAction オプション String レポート セキュリティ システムについて、該当する場合にシステムによって実行されるアクション。

例: Blocked
DvcOriginalAction オプション String レポート デバイスによって提供された元の DvcAction
Interface オプション String データがキャプチャされたネットワーク インターフェイス。 通常、このフィールドは、中間またはタップ デバイスによってキャプチャされるネットワーク関連のアクティビティに関連しています。

リスト内の名前が示されていて Dvc プレフィックスがあるフィールドには SrcDst などのロールのプレフィックスを前に付ける必要がありますが、2 つ目の Dvc プレフィックスを、このロールで使用されている場合でも前に追加しないでください。

エンティティ マッピングの例

このセクションでは、Windows イベント 4624 を例として、Microsoft Sentinel でイベント データがどのように正規化されるかを説明します。

このイベントには、次のエンティティがあります。

Microsoft の用語 元のイベント フィールド プレフィックス ASIM フィールド プレフィックス 説明
件名 Subject Actor サインインの成功に関する情報をレポートしたユーザー。
新しいログオン Target TargetUser サインインが実行されたユーザー。
Process - ActingProcess サインインを試行したプロセス。
ネットワーク情報 - Src サインイン試行が実行されたマシン。

これらのエンティティに基づいて Windows イベント 4624 は次のように正規化されます (一部のフィールドは省略可能です)。

正規化されたフィールド 元のフィールド 例の値 メモ
ActorUserId SubjectUserSid S-1-5-18
ActorUserIdType - SID
ActorUserName SubjectDomainName\ SubjectUserName WORKGROUP\WIN-GG82ULGC9GO$ 2 つのフィールドを連結して構築
ActorUserNameType - Windows
ActorSessionId SubjectLogonId 0x3e7
TargetUserId TargetUserSid S-1-5-21-1377283216-344919071-3415362939-500
UserId TargetUserSid エイリアス
TargetUserIdType - SID
TargetUserName TargetDomainName\ TargetUserName Administrator\WIN-GG82ULGC9GO$ 2 つのフィールドを連結して構築
ユーザー名 TargetDomainName\ TargetUserName エイリアス
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName ProcessName C:\Windows\System32\svchost.exe
ActingProcessId ProcessId 0x44c
SrcHostname WorkstationName Windows
SrcIpAddr IpAddress 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Computer WIN-GG82ULGC9GO
hostname Computer エイリアス

次のステップ

この記事では、Microsoft Sentinel での正規化の概要と、ASIM について説明しています。

詳細については、次を参照してください。