- 限定コンテンツへのアクセス
- 他ユーザーとのつながり
- あなたの体験を共有
- サポート情報の発見
この記事では、Cortex XDRはLookupテーブルについてご紹介します。
Lookupテーブルを作成する方法は2つあります。
・targetコマンドを使って、XQLクエリの検索結果を元に作成する
・テキスト(TSC/CSV/JSONなど)データを作成し、Cortex XDRにインポートする
ここでは後者の方法について説明します。
ここではサンプルとして、 サーバーの管理者情報をCSVフォーマットで作成しCortex XDRにアップロードして、
Lookupを構築してみたいと思います。
サンプルのデータは以下の通りです。ホストIPアドレスに対する管理者の名前、メールアドレス、電話番号を
定義しています。admin_table.csvという名前でファイルを作成します。
host_ip_address,admin_name,email_address,phone_number
192.168.68.114,adminA,adminA@company.lan,+81-00-0000-0000
192.168.68.115,adminB,adminB@company.lan,+81-00-0000-0000
192.168.68.102,adminC,adminC@company.lan,+81-00-0000-0000
Dataset Mangementから「Lookup」をクリックします。
ファイルをドラッグアングドロップすると、
Nameにファイル名が入るので、「Add」をクリックします。
Dataset ManagementにLookupとしてデータが追加されました。
Lookupの場合、データセットのTypeがLookupとなっています。
XQLからLookupを検索してみます。datasetと同じようにLookupの名前を設定します。
dataset= admin_table
他のdataset同様にLookupも検索できました。
endpointsデータセットと、admin_tableデータセット(Lookup)を結合して、
端末の管理者を引けるようにします。
サンプルのXQLは以下の通りです。データセットの結合にjoinコマンドを使用しています。
endpointsは多くのフィールドがありますが、
ここではわかりやすいようにいくつかのフィールドだけに限定しています。
dataset= endpoints
| arrayexpand ip_address
| join conflict_strategy = left type = left ( dataset = admin_table ) as admin_t admin_t.host_ip_address = ip_address
| fields endpoint_name,agent_version ,ip_address, host_ip_address,admin_name, email_address ,phone_number
実行すると、以下のようにendpointsデータセットとadmin_tableが結合された結果が表示されます。
それぞれのデータセットにあるIPアドレスのフィールドが結合のためのキーとなっています。
また、endpointsのデータとしてEndpoint_Name, Agent_version, ip_addressを、
admin_tableのデータとしてhost_ip_address, admin_name, email_address, phone_numberを表示しています。
それぞれのデータセットのIPアドレスフィールド(ip_address,host_ip_address)が同じ値になっているので、
結合していることがわかるかと思います。
Lookupはこちら
joinコマンドの詳細はこちら
targetコマンドの詳細はこちら