DomainTools Iris Investigate の結果を収集する
このドキュメントでは、Amazon S3 を使用して DomainTools Iris Investigate の結果を Google Security Operations に取り込む方法について説明します。パーサーは、DomainTools の Iris API からの未加工の JSON データを、Google SecOps の Unified Data Model(UDM)に準拠した構造化形式に変換します。ドメインの詳細、連絡先情報、セキュリティ リスク、SSL 証明書、その他の関連属性に関する情報を抽出し、対応する UDM フィールドにマッピングして、一貫した分析と脅威インテリジェンスを実現します。
始める前に
- Google SecOps インスタンス
- DomainTools エンタープライズ アカウントへの特権アクセス(Iris Investigate への API アクセス)
- AWS(S3、IAM、Lambda、EventBridge)への特権アクセス
DomainTools API キーとエンドポイントを取得する
- DomainTools API ダッシュボードにログインします(API キーをリセットできるのは API 所有者アカウントのみです)。
- [My Account] セクションで、[Account Summary] タブにある [View API Dashboard] リンクを選択します。
- [API Username] セクションに移動して、ユーザー名を取得します。
- 同じタブで、[API キー] を見つけます。
- キーをコピーして安全な場所に保存します。
新しいキーが必要な場合は、[API キーをリセット] を選択します。
Iris Investigate エンドポイント(
https://api.domaintools.com/v1/iris-investigate/
)をメモします。
Google SecOps 用に AWS S3 バケットと IAM を構成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- 後で参照できるように、バケットの名前とリージョンを保存します(例:
domaintools-iris
)。 - IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、後で使用できるようにします。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで、[権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
S3 アップロードの IAM ポリシーとロールを構成する
- AWS コンソールで、[IAM] > [ポリシー] > [ポリシーの作成] > [JSON] タブに移動します。
次のポリシーを入力します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPutDomainToolsIrisObjects", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::domaintools-iris/*" } ] }
- 別のバケット名を入力した場合は、
domaintools-iris
を置き換えます。
- 別のバケット名を入力した場合は、
[次へ] > [ポリシーを作成] をクリックします。
[IAM] > [ロール] > [ロールの作成] > [AWS サービス] > [Lambda] に移動します。
新しく作成したポリシーを関連付けます。
ロールに「
WriteDomainToolsIrisToS3Role
」という名前を付けて、[ロールを作成] をクリックします。
Lambda 関数を作成する
- AWS コンソールで、[Lambda] > [Functions] > [Create function] に移動します。
- [Author from scratch] をクリックします。
次の構成情報を提供してください。
設定 値 名前 domaintools_iris_to_s3
ランタイム Python 3.13 アーキテクチャ x86_64 実行ロール WriteDomainToolsIrisToS3Role
関数を作成したら、[コード] タブを開き、スタブを削除して次のコード(
domaintools_iris_to_s3.py
)を入力します。#!/usr/bin/env python3 # Lambda: Pull DomainTools Iris Investigate results to S3 (no transform) import os, json, time, urllib.parse from urllib.request import Request, urlopen from urllib.error import HTTPError import boto3 # --- Environment --- S3_BUCKET = os.environ["S3_BUCKET"].strip() S3_PREFIX = os.environ.get("S3_PREFIX", "domaintools/iris/").strip() STATE_KEY = os.environ.get("STATE_KEY", "domaintools/iris/state.json").strip() DT_API_KEY = os.environ["DT_API_KEY"].strip() DT_API_SECRET= os.environ.get("DT_API_SECRET", "").strip() # optional if your account uses key-only auth USE_MODE = os.environ.get("USE_MODE", "HASH").strip().upper() # HASH | DOMAINS | QUERY SEARCH_HASHES= [h.strip() for h in os.environ.get("SEARCH_HASHES", "").split(";") if h.strip()] DOMAINS = [d.strip() for d in os.environ.get("DOMAINS", "").split(";") if d.strip()] QUERY_LIST = [q.strip() for q in os.environ.get("QUERY_LIST", "").split(";") if q.strip()] PAGE_SIZE = int(os.environ.get("PAGE_SIZE", "500")) MAX_PAGES = int(os.environ.get("MAX_PAGES", "20")) USE_NEXT = os.environ.get("USE_NEXT", "true").lower() == "true" HTTP_TIMEOUT = int(os.environ.get("HTTP_TIMEOUT", "60")) RETRIES = int(os.environ.get("HTTP_RETRIES", "2")) BASE_URL = "https://api.domaintools.com/v1/iris-investigate/" HDRS = { "X-Api-Key": DT_API_KEY, "Accept": "application/json", } if DT_API_SECRET: HDRS["X-Api-Secret"] = DT_API_SECRET s3 = boto3.client("s3") # --- HTTP helpers --- def _http_get(url: str) -> dict: req = Request(url, method="GET") for k, v in HDRS.items(): req.add_header(k, v) attempt = 0 while True: try: with urlopen(req, timeout=HTTP_TIMEOUT) as r: return json.loads(r.read().decode("utf-8")) except HTTPError as e: if e.code in (429, 500, 502, 503, 504) and attempt < RETRIES: delay = int(e.headers.get("Retry-After", "2")) time.sleep(max(1, delay)) attempt += 1 continue raise def _build_url(params: dict) -> str: return BASE_URL + ("?" + urllib.parse.urlencode(params, doseq=True) if params else "") # --- S3 helpers --- def _write_page(obj: dict, label: str, page: int) -> str: ts = time.strftime("%Y/%m/%d/%H%M%S", time.gmtime()) key = f"{S3_PREFIX.rstrip('/')}/{ts}-{label}-p{page:05d}.json" s3.put_object( Bucket=S3_BUCKET, Key=key, Body=json.dumps(obj, separators=(",", ":")).encode("utf-8"), ContentType="application/json", ) return key # --- Iris paging --- def _first_page_params() -> dict: params: dict[str, object] = {"page_size": str(PAGE_SIZE)} if USE_NEXT: params["next"] = "true" return params def _paginate(label: str, params: dict) -> tuple[int, int]: pages = 0 total = 0 url = _build_url(params) while pages < MAX_PAGES: data = _http_get(url) _write_page(data, label, pages) resp = data.get("response") or {} results = resp.get("results") or [] total += len(results) pages += 1 # Prefer `next` absolute URL if present next_url = resp.get("next") if isinstance(resp, dict) else None if next_url: url = next_url continue # Fallback: position pager when `next=true` not used/supported if resp.get("has_more_results") and resp.get("position"): base = _first_page_params() base.pop("next", None) base["position"] = resp["position"] url = _build_url(base) continue break return pages, total # --- Mode runners --- def run_hashes(hashes: list[str]) -> dict: agg_pages = agg_results = 0 for h in hashes: params = _first_page_params() params["search_hash"] = h p, r = _paginate(f"hash-{h}", params) agg_pages += p agg_results += r return {"pages": agg_pages, "results": agg_results} def run_domains(domains: list[str]) -> dict: agg_pages = agg_results = 0 for d in domains: params = _first_page_params() # DomainTools accepts `domain` as a filter in Investigate search params["domain"] = d p, r = _paginate(f"domain-{d}", params) agg_pages += p agg_results += r return {"pages": agg_pages, "results": agg_results} def run_queries(queries: list[str]) -> dict: agg_pages = agg_results = 0 for q in queries: # Merge arbitrary k=v pairs from the query string base = _first_page_params() for k, v in urllib.parse.parse_qsl(q, keep_blank_values=True): base.setdefault(k, v) p, r = _paginate(f"query-{q.replace('=','-')}", base) agg_pages += p agg_results += r return {"pages": agg_pages, "results": agg_results} # --- Entry point --- def lambda_handler(event=None, context=None): if USE_MODE == "HASH" and SEARCH_HASHES: res = run_hashes(SEARCH_HASHES) elif USE_MODE == "DOMAINS" and DOMAINS: res = run_domains(DOMAINS) elif USE_MODE == "QUERY" and QUERY_LIST: res = run_queries(QUERY_LIST) else: raise ValueError("Invalid USE_MODE or missing parameters. Set USE_MODE to HASH | DOMAINS | QUERY and provide SEARCH_HASHES | DOMAINS | QUERY_LIST accordingly.") return {"ok": True, "mode": USE_MODE, **res} if __name__ == "__main__": print(json.dumps(lambda_handler(), indent=2))
[構成> 環境変数 > 編集 > 新しい環境変数を追加] に移動します。
次の環境変数を入力し、実際の値に置き換えます。
キー 値の例 説明 S3_BUCKET
domaintools-iris
データが保存される S3 バケットの名前。 S3_PREFIX
domaintools/iris/
オブジェクトの省略可能な S3 接頭辞(サブフォルダ)。 STATE_KEY
domaintools/iris/state.json
状態/チェックポイント ファイルのキー(省略可)。 DT_API_KEY
DT-XXXXXXXXXXXXXXXXXXXX
DomainTools API キー。 DT_API_SECRET
YYYYYYYYYYYYYYYYYYYYYYYY
DomainTools API シークレット(該当する場合)。 USE_MODE
HASH
|DOMAINS
|QUERY
使用するモードを選択します(一度に有効にできるモードは 1 つのみです)。 SEARCH_HASHES
hash1;hash2;hash3
USE_MODE=HASH
の場合は必須。Iris UI からの保存済み検索ハッシュのセミコロン区切りリスト。DOMAINS
example.com;domaintools.com
USE_MODE=DOMAINS
の場合は必須。セミコロンで区切られたドメインのリスト。QUERY_LIST
ip=1.1.1.1;ip=8.8.8.8;domain=example.org
USE_MODE=QUERY
の場合は必須。セミコロンで区切られたクエリ文字列のリスト(k=v&k2=v2
)。PAGE_SIZE
500
1 ページあたりの行数(デフォルトは 500)。 MAX_PAGES
20
リクエストあたりの最大ページ数 関数が作成されたら、そのページにとどまるか、[Lambda] > [関数] > [your-function] を開きます。
[CONFIGURATION] タブを選択します。
[全般的な構成] パネルで、[編集] をクリックします。
[Timeout] を [15 minutes (900 seconds)] に変更し、[Save] をクリックします。
EventBridge スケジュールを作成する
- Amazon EventBridge > Scheduler > スケジュールの作成に移動します。
- 次の構成の詳細を入力します。
- 定期的なスケジュール: レート(
1 hour
)。 - ターゲット: Lambda 関数。
- 名前:
domaintools-iris-1h
- 定期的なスケジュール: レート(
- [スケジュールを作成] をクリックします。
省略可: Google SecOps 用の読み取り専用の IAM ユーザーと鍵を作成する
- AWS コンソールで、[IAM] > [Users] に移動し、[Add users] をクリックします。
- 次の構成の詳細を入力します。
- ユーザー: 一意の名前を入力します(例:
secops-reader
)。 - アクセスタイプ: [Access key - Programmatic access] を選択します。
- [ユーザーを作成] をクリックします。
- ユーザー: 一意の名前を入力します(例:
- 最小限の読み取りポリシー(カスタム)を適用する: [ユーザー] >
secops-reader
を選択 > [権限] > [権限を追加] > [ポリシーを直接適用] > [ポリシーを作成] JSON エディタで次のポリシーを入力します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": "arn:aws:s3:::<your-bucket>/*" }, { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": "arn:aws:s3:::<your-bucket>" } ] }
名前を
secops-reader-policy
に設定します。[ポリシーの作成> 検索/選択> 次へ> 権限を追加] に移動します。
[セキュリティ認証情報] > [アクセスキー] > [アクセスキーを作成] に移動します。
CSV をダウンロードします(これらの値はフィードに入力されます)。
DomainTools Iris Investigate の結果を取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
DomainTools Iris Investigate
)。 - [ソースタイプ] として [Amazon S3 V2] を選択します。
- [ログタイプ] として [DomainTools Threat Intelligence] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- S3 URI:
s3://domaintools-iris/domaintools/iris/
- Source deletion options: 必要に応じて削除オプションを選択します。
- 最大ファイル経過時間: デフォルトは 180 日です。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
- アセットの Namespace:
domaintools.threat_intel
- Ingestion labels: このフィードのイベントに適用されるラベル。
- S3 URI:
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
有効 | principal.domain.status | 未加工ログの active フィールドから直接マッピングされます。 |
additional_whois_email.[].value | about.labels.additional_whois_email | additional_whois_email 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
adsense.value | about.labels.adsense | adsense.value から抽出され、about オブジェクトのラベルとして追加されます。 |
admin_contact.city.value | principal.domain.admin.office_address.city | 未加工ログの admin_contact.city.value フィールドから直接マッピングされます。 |
admin_contact.country.value | principal.domain.admin.office_address.country_or_region | 未加工ログの admin_contact.country.value フィールドから直接マッピングされます。 |
admin_contact.email.[].value | principal.domain.admin.email_addresses | admin_contact.email 配列から抽出され、email_addresses フィールドに追加されます。 |
admin_contact.fax.value | principal.domain.admin.attribute.labels.fax | admin_contact.fax.value から抽出され、admin 属性のキー「fax」のラベルとして追加されます。 |
admin_contact.name.value | principal.domain.admin.user_display_name | 未加工ログの admin_contact.name.value フィールドから直接マッピングされます。 |
admin_contact.org.value | principal.domain.admin.company_name | 未加工ログの admin_contact.org.value フィールドから直接マッピングされます。 |
admin_contact.phone.value | principal.domain.admin.phone_numbers | 未加工ログの admin_contact.phone.value フィールドから直接マッピングされます。 |
admin_contact.postal.value | principal.domain.admin.attribute.labels.postal | admin_contact.postal.value から抽出され、admin 属性のキー「postal」のラベルとして追加されます。 |
admin_contact.state.value | principal.domain.admin.office_address.state | 未加工ログの admin_contact.state.value フィールドから直接マッピングされます。 |
admin_contact.street.value | principal.domain.admin.office_address.name | 未加工ログの admin_contact.street.value フィールドから直接マッピングされます。 |
alexa | about.labels.alexa | 未加工ログの alexa フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
baidu_codes.[].value | about.labels.baidu_codes | baidu_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
billing_contact.city.value | principal.domain.billing.office_address.city | 未加工ログの billing_contact.city.value フィールドから直接マッピングされます。 |
billing_contact.country.value | principal.domain.billing.office_address.country_or_region | 未加工ログの billing_contact.country.value フィールドから直接マッピングされます。 |
billing_contact.email.[].value | principal.domain.billing.email_addresses | billing_contact.email 配列から抽出され、email_addresses フィールドに追加されます。 |
billing_contact.fax.value | principal.domain.billing.attribute.labels.fax | billing_contact.fax.value から抽出され、billing 属性のキー「fax」のラベルとして追加されます。 |
billing_contact.name.value | principal.domain.billing.user_display_name | 未加工ログの billing_contact.name.value フィールドから直接マッピングされます。 |
billing_contact.org.value | principal.domain.billing.company_name | 未加工ログの billing_contact.org.value フィールドから直接マッピングされます。 |
billing_contact.phone.value | principal.domain.billing.phone_numbers | 未加工ログの billing_contact.phone.value フィールドから直接マッピングされます。 |
billing_contact.postal.value | principal.domain.billing.attribute.labels.postal | billing_contact.postal.value から抽出され、billing 属性のキー「postal」のラベルとして追加されます。 |
billing_contact.state.value | principal.domain.billing.office_address.state | 未加工ログの billing_contact.state.value フィールドから直接マッピングされます。 |
billing_contact.street.value | principal.domain.billing.office_address.name | 未加工ログの billing_contact.street.value フィールドから直接マッピングされます。 |
create_date.value | principal.domain.creation_time | 未加工ログの create_date.value フィールドからタイムスタンプ形式に変換されます。 |
data_updated_timestamp | principal.domain.audit_update_time | 未加工ログの data_updated_timestamp フィールドからタイムスタンプ形式に変換されます。 |
ドメイン | principal.hostname | 未加工ログの domain フィールドから直接マッピングされます。 |
domain_risk.components.[].evidence | security_result.detection_fields.evidence | domain_risk.components.[].evidence 配列から抽出され、security_result オブジェクトのキー「evidence」を持つ検出フィールドとして追加されます。 |
domain_risk.components.[].name | security_result.category_details | 未加工ログの domain_risk.components.[].name フィールドから直接マッピングされます。 |
domain_risk.components.[].risk_score | security_result.risk_score | 未加工ログの domain_risk.components.[].risk_score フィールドから直接マッピングされます。 |
domain_risk.components.[].threats | security_result.threat_name | domain_risk.components.[].threats 配列の最初の要素は security_result.threat_name にマッピングされます。 |
domain_risk.components.[].threats | security_result.detection_fields.threats | domain_risk.components.[].threats 配列の残りの要素は、security_result オブジェクトのキー「threats」を持つ検出フィールドとして追加されます。 |
domain_risk.risk_score | security_result.risk_score | 未加工ログの domain_risk.risk_score フィールドから直接マッピングされます。 |
email_domain.[].value | about.labels.email_domain | email_domain 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
expiration_date.value | principal.domain.expiration_time | 未加工ログの expiration_date.value フィールドからタイムスタンプ形式に変換されます。 |
fb_codes.[].value | about.labels.fb_codes | fb_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
first_seen.value | principal.domain.first_seen_time | 未加工ログの first_seen.value フィールドからタイムスタンプ形式に変換されます。 |
ga4.[].value | about.labels.ga4 | ga4 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
google_analytics.value | about.labels.google_analytics | google_analytics.value から抽出され、about オブジェクトのラベルとして追加されます。 |
gtm_codes.[].value | about.labels.gtm_codes | gtm_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
hotjar_codes.[].value | about.labels.hotjar_codes | hotjar_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
ip.[].address.value | principal.ip | ip 配列の最初の要素は principal.ip にマッピングされます。 |
ip.[].address.value | about.labels.ip_address | ip 配列の残りの要素は、about オブジェクトのキー「ip_address」を持つラベルとして追加されます。 |
ip.[].asn.[].value | network.asn | 最初の ip.asn 配列の最初の要素は network.asn にマッピングされます。 |
ip.[].asn.[].value | about.labels.asn | ip.asn 配列の残りの要素は、about オブジェクトのキー「asn」のラベルとして追加されます。 |
ip.[].country_code.value | principal.location.country_or_region | ip 配列の最初の要素の country_code.value が principal.location.country_or_region にマッピングされます。 |
ip.[].country_code.value | about.location.country_or_region | ip 配列内の残りの要素の country_code.value は about.location.country_or_region にマッピングされます。 |
ip.[].isp.value | principal.labels.isp | ip 配列の最初の要素の isp.value が principal.labels.isp にマッピングされます。 |
ip.[].isp.value | about.labels.isp | ip 配列内の残りの要素の isp.value は about.labels.isp にマッピングされます。 |
matomo_codes.[].value | about.labels.matomo_codes | matomo_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
monitor_domain | about.labels.monitor_domain | 未加工ログの monitor_domain フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
monitoring_domain_list_name | about.labels.monitoring_domain_list_name | 未加工ログの monitoring_domain_list_name フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
mx.[].domain.value | about.domain.name | 未加工ログの mx.[].domain.value フィールドから直接マッピングされます。 |
mx.[].host.value | about.hostname | 未加工ログの mx.[].host.value フィールドから直接マッピングされます。 |
mx.[].ip.[].value | about.ip | mx.[].ip 配列から抽出され、ip フィールドに追加されます。 |
mx.[].priority | about.security_result.priority_details | 未加工ログの mx.[].priority フィールドから直接マッピングされます。 |
name_server.[].domain.value | about.labels.name_server_domain | name_server.[].domain.value から抽出され、about オブジェクトのキー「name_server_domain」のラベルとして追加されます。 |
name_server.[].host.value | principal.domain.name_server | name_server.[].host.value から抽出され、name_server フィールドに追加されます。 |
name_server.[].host.value | about.domain.name_server | name_server.[].host.value から抽出され、name_server フィールドに追加されます。 |
name_server.[].ip.[].value | about.labels.ip | name_server.[].ip 配列から抽出され、about オブジェクトのキー「ip」のラベルとして追加されます。 |
popularity_rank | about.labels.popularity_rank | 未加工ログの popularity_rank フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
redirect.value | about.labels.redirect | redirect.value から抽出され、about オブジェクトのラベルとして追加されます。 |
redirect_domain.value | about.labels.redirect_domain | redirect_domain.value から抽出され、about オブジェクトのラベルとして追加されます。 |
registrant_contact.city.value | principal.domain.registrant.office_address.city | 未加工ログの registrant_contact.city.value フィールドから直接マッピングされます。 |
registrant_contact.country.value | principal.domain.registrant.office_address.country_or_region | 未加工ログの registrant_contact.country.value フィールドから直接マッピングされます。 |
registrant_contact.email.[].value | principal.domain.registrant.email_addresses | registrant_contact.email 配列から抽出され、email_addresses フィールドに追加されます。 |
registrant_contact.fax.value | principal.domain.registrant.attribute.labels.fax | registrant_contact.fax.value から抽出され、registrant 属性のキー「fax」のラベルとして追加されます。 |
registrant_contact.name.value | principal.domain.registrant.user_display_name | 未加工ログの registrant_contact.name.value フィールドから直接マッピングされます。 |
registrant_contact.org.value | principal.domain.registrant.company_name | 未加工ログの registrant_contact.org.value フィールドから直接マッピングされます。 |
registrant_contact.phone.value | principal.domain.registrant.phone_numbers | 未加工ログの registrant_contact.phone.value フィールドから直接マッピングされます。 |
registrant_contact.postal.value | principal.domain.registrant.attribute.labels.postal | registrant_contact.postal.value から抽出され、registrant 属性のキー「postal」のラベルとして追加されます。 |
registrant_contact.state.value | principal.domain.registrant.office_address.state | 未加工ログの registrant_contact.state.value フィールドから直接マッピングされます。 |
registrant_contact.street.value | principal.domain.registrant.office_address.name | 未加工ログの registrant_contact.street.value フィールドから直接マッピングされます。 |
registrant_name.value | about.labels.registrant_name | registrant_name.value から抽出され、about オブジェクトのラベルとして追加されます。 |
registrant_org.value | about.labels.registrant_org | registrant_org.value から抽出され、about オブジェクトのラベルとして追加されます。 |
registrar.value | principal.domain.registrar | 未加工ログの registrar.value フィールドから直接マッピングされます。 |
registrar_status | about.labels.registrar_status | registrar_status 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
server_type | network.tls.client.server_name | 未加工ログの server_type フィールドから直接マッピングされます。 |
soa_email.[].value | principal.user.email_addresses | soa_email 配列から抽出され、email_addresses フィールドに追加されます。 |
spf_info | about.labels.spf_info | 未加工ログの spf_info フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
ssl_email.[].value | about.labels.ssl_email | ssl_email 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
ssl_info.[].alt_names.[].value | about.labels.alt_names | ssl_info.[].alt_names 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
ssl_info.[].common_name.value | about.labels.common_name | ssl_info.[].common_name.value から抽出され、about オブジェクトのラベルとして追加されます。 |
ssl_info.[].duration.value | about.labels.duration | ssl_info.[].duration.value から抽出され、about オブジェクトのラベルとして追加されます。 |
ssl_info.[].email.[].value | about.labels.ssl_info_email | ssl_info.[].email 配列から抽出され、about オブジェクトのキー「ssl_info_email」のラベルとして追加されます。 |
ssl_info.[].hash.value | network.tls.server.certificate.sha1 | ssl_info 配列の最初の要素の hash.value が network.tls.server.certificate.sha1 にマッピングされます。 |
ssl_info.[].hash.value | about.labels.hash | ssl_info 配列内の残りの要素の hash.value は about.labels.hash にマッピングされます。 |
ssl_info.[].issuer_common_name.value | network.tls.server.certificate.issuer | ssl_info 配列の最初の要素の issuer_common_name.value が network.tls.server.certificate.issuer にマッピングされます。 |
ssl_info.[].issuer_common_name.value | about.labels.issuer_common_name | ssl_info 配列内の残りの要素の issuer_common_name.value は about.labels.issuer_common_name にマッピングされます。 |
ssl_info.[].not_after.value | network.tls.server.certificate.not_after | ssl_info 配列の最初の要素の not_after.value はタイムスタンプ形式に変換され、network.tls.server.certificate.not_after にマッピングされます。 |
ssl_info.[].not_after.value | about.labels.not_after | ssl_info 配列内の残りの要素の not_after.value は about.labels.not_after にマッピングされます。 |
ssl_info.[].not_before.value | network.tls.server.certificate.not_before | ssl_info 配列の最初の要素の not_before.value はタイムスタンプ形式に変換され、network.tls.server.certificate.not_before にマッピングされます。 |
ssl_info.[].not_before.value | about.labels.not_before | ssl_info 配列内の残りの要素の not_before.value は about.labels.not_before にマッピングされます。 |
ssl_info.[].organization.value | network.organization_name | ssl_info 配列の最初の要素の organization.value が network.organization_name にマッピングされます。 |
ssl_info.[].organization.value | about.labels.organization | ssl_info 配列内の残りの要素の organization.value は about.labels.organization にマッピングされます。 |
ssl_info.[].subject.value | about.labels.subject | ssl_info.[].subject.value から抽出され、about オブジェクトのラベルとして追加されます。 |
statcounter_project_codes.[].value | about.labels.statcounter_project_codes | statcounter_project_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
statcounter_security_codes.[].value | about.labels.statcounter_security_codes | statcounter_security_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
tags.[].label | about.file.tags | tags.[].label から抽出され、tags フィールドに追加されます。 |
tags.[].scope | security_result.detection_fields.scope | tags.[].scope から抽出され、security_result オブジェクトのキー「scope」を持つ検出フィールドとして追加されます。 |
tags.[].tagged_at | security_result.detection_fields.tagged_at | tags.[].tagged_at から抽出され、security_result オブジェクトのキー「tagged_at」を持つ検出フィールドとして追加されます。 |
technical_contact.city.value | principal.domain.tech.office_address.city | 未加工ログの technical_contact.city.value フィールドから直接マッピングされます。 |
technical_contact.country.value | principal.domain.tech.office_address.country_or_region | 未加工ログの technical_contact.country.value フィールドから直接マッピングされます。 |
technical_contact.email.[].value | principal.domain.tech.email_addresses | technical_contact.email 配列から抽出され、email_addresses フィールドに追加されます。 |
technical_contact.fax.value | principal.domain.tech.attribute.labels.fax | technical_contact.fax.value から抽出され、tech 属性のキー「fax」のラベルとして追加されます。 |
technical_contact.name.value | principal.domain.tech.user_display_name | 未加工ログの technical_contact.name.value フィールドから直接マッピングされます。 |
technical_contact.org.value | principal.domain.tech.company_name | 未加工ログの technical_contact.org.value フィールドから直接マッピングされます。 |
technical_contact.phone.value | principal.domain.tech.phone_numbers | 未加工ログの technical_contact.phone.value フィールドから直接マッピングされます。 |
technical_contact.postal.value | principal.domain.tech.attribute.labels.postal | technical_contact.postal.value から抽出され、tech 属性のキー「postal」のラベルとして追加されます。 |
technical_contact.state.value | principal.domain.tech.office_address.state | 未加工ログの technical_contact.state.value フィールドから直接マッピングされます。 |
technical_contact.street.value | principal.domain.tech.office_address.name | 未加工ログの technical_contact.street.value フィールドから直接マッピングされます。 |
tld | about.labels.tld | 未加工ログの tld フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
timestamp | about.labels.timestamp | 未加工ログの timestamp フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
website_response | principal.network.http.response_code | 未加工ログの website_response フィールドから直接マッピングされます。 |
website_title | about.labels.website_title | 未加工ログの website_title フィールドから直接マッピングされ、about オブジェクトのラベルとして追加されます。 |
whois_url | principal.domain.whois_server | 未加工ログの whois_url フィールドから直接マッピングされます。 |
yandex_codes.[].value | about.labels.yandex_codes | yandex_codes 配列から抽出され、about オブジェクトのラベルとして追加されます。 |
edr.client.hostname | domain フィールドの値に設定します。 |
|
edr.client.ip_addresses | ip 配列の最初の要素の値(具体的には ip.[0].address.value )に設定します。 |
|
edr.raw_event_name | principal.hostname が存在する場合は「STATUS_UPDATE」に設定し、それ以外の場合は「GENERIC_EVENT」に設定します。 |
|
metadata.event_timestamp | 未加工ログの最上位の create_time フィールドからコピーされます。 |
|
metadata.event_type | principal.hostname が存在する場合は「STATUS_UPDATE」に設定し、それ以外の場合は「GENERIC_EVENT」に設定します。 |
|
metadata.log_type | 「DOMAINTOOLS_THREATINTEL」に設定します。 | |
metadata.product_name | 「DOMAINTOOLS」に設定します。 | |
metadata.vendor_name | 「DOMAINTOOLS」に設定します。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。