Forwarder Management API

Google Security Operations Forwarde Management API を使用すると、次のことをプログラムで行うことができます。

  • フォワーダーの作成と管理。
  • コレクタを作成、管理する。
  • Google Security Operations フォワーダーの構成(.conf)ファイルと認証(_auth.conf)ファイルのファイルの内容を取得。

転送元は 1 つ以上のコレクタで構成されます。各コレクタの構成では、取り込みメカニズム(ファイル、Kafka、PCAP、Splunk、Syslog など)とログタイプを指定します。

ハードウェア要件が満たされていることを前提として、同じフォワーダで複数のコレクタを使用して、さまざまなメカニズムとログタイプからデータを取り込むことができます。たとえば、2 つの Syslog コレクタを使用して、それぞれ別々のポートで PAN_FIREWALL データと CISCO_ASA_FIREWALL データをリッスンするフォワーダをインストールできます。

この API を使用すると、Google Security Operations インスタンスで転送元とそのコレクタを作成できます。フォワーダーを作成したら、Generate Forwarder Files エンドポイントを使用して、フォワーダーの構成(.conf)と認証(_auth.conf)ファイルのファイルの内容を(JSON ペイロードとして)取得できます。これらの内容は、それぞれの .conf ファイルに書き込んで、Google Security Operations Forwarder サービスで Windows または Linux システムにデプロイできます。

Forwarder Management API を使用する Python サンプルについては、GitHub リポジトリをご覧ください。

フォワーダーとそのコレクタを作成する

コレクタを作成するには、フォワーダを作成する必要があります。

フォワーダとそのコレクタを作成するには:

  1. 転送元を作成します
  2. 転送元のコレクタを作成します。
  3. (省略可)手順 2 を繰り返して、コレクタを追加します。

Google Security Operations API で認証する方法

この Google Security Operations API は、認証と認可に OAuth 2.0 プロトコルを使用します。作成するアプリケーションでは、次のいずれかを実装して認証と認可を行うことができます。

  • 使用するコンピュータ言語用の Google API クライアント ライブラリを利用する。

  • HTTP を使用して OAuth 2.0 システムと直接やり取りする。

Python の Google 認証ライブラリについては、リファレンス ドキュメントをご覧ください。

Google 認証ライブラリは Google API クライアント ライブラリのサブセットです。他の言語での実装をご覧ください。

API 認証情報の取得

Google Security Operations の担当者から、API クライアントが API と通信できるように Google Developers サービス アカウント認証情報が提供されます。

また、API クライアントを初期化するときに認証スコープを指定する必要があります。OAuth 2.0 は、スコープを使用してアカウントに対するアプリケーションのアクセスを制限します。アプリケーションがスコープをリクエストした場合、そのアプリケーションに発行されたアクセス トークンは与えられたスコープに制限されます。

Google API クライアントの初期化には次のスコープを使用します。

https://www.googleapis.com/auth/chronicle-backstory

Python の例

次の Python の例は、google.oauth2googleapiclient を使用して OAuth2 認証情報と HTTP クライアントを使用する方法を示しています。

# Imports required for the sample - Google Auth and API Client Library Imports.
# Get these packages from https://pypi.org/project/google-api-python-client/ or run $ pip
# install google-api-python-client from your terminal
from google.auth.transport import requests
from google.oauth2 import service_account

SCOPES = ['https://www.googleapis.com/auth/chronicle-backstory']

# The apikeys-demo.json file contains the customer's OAuth 2 credentials.
# SERVICE_ACCOUNT_FILE is the full path to the apikeys-demo.json file
# ToDo: Replace this with the full path to your OAuth2 credentials
SERVICE_ACCOUNT_FILE = '/customer-keys/apikeys-demo.json'

# Create a credential using Google Developer Service Account Credential and Google Security Operations API
# Scope.
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)

# Build a requests Session Object to make authorized OAuth requests.
http_session = requests.AuthorizedSession(credentials)

# Your endpoint GET|POST|PATCH|etc. code will vary below

# Reference List example (for US region)
url = 'https://backstory.googleapis.com/v2/lists/COLDRIVER_SHA256'

# You might need another regional endpoint for your API call; see
# https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints

# requests GET example
response = http_session.request("GET", url)

# POST example uses json
body = {
  "foo": "bar"
}
response = http_session.request("POST", url, json=body)

# PATCH example uses params and json
params = {
  "foo": "bar"
}
response = http_session.request("PATCH", url, params=params, json=body)

# For more complete examples, see:
# https://github.com/chronicle/api-samples-python/

Chronicle API のクエリの上限

Chronicle API では、お客様が Google セキュリティ運用プラットフォームに対して実行できるリクエスト数に上限があります。クエリの上限に達した場合、または上限を超えた場合、Chronicle API サーバーは HTTP 429(RESOURCE_EXHAUSTED)を呼び出し元に返します。Chronicle API を使用したアプリケーションを開発する際は、リソース不足を避けるためにシステム内でレートの上限を適用することをおすすめします。これらの上限は、Search API、Forwarder Management API、Tooling API を含むすべての Chronicle API に適用されます。

Chronicle API の割り当ての詳細なリストをご覧ください。

Chronicle Forwarder Management API には、次の上限が適用されており、1 秒あたりのクエリ数(QPS)で測定されます。

Chronicle API API エンドポイント 上限
フォワーダー管理 フォワーダーの作成 1 QPS
フォワーダーの取得 1 QPS
フォワーダーの一覧表示 1 QPS
フォワーダーの更新 1 QPS
フォワーダーを削除する 1 QPS
コレクタの管理 コレクタの作成 1 QPS
コレクタを取得する 1 QPS
List Collectors 1 QPS
コレクタの更新 1 QPS
コレクタを削除 1 QPS

Forwarder API リファレンス

このセクションでは、転送元の作成と管理を行うエンドポイントについて説明します。コレクタの作成と管理に使用するエンドポイントについては、Collector API リファレンスをご覧ください。

フォワーダーの作成

Google SecOps インスタンスに新しいフォワーダーを作成します。新しい転送元には、リクエスト本文で指定された転送元の構成値が含まれます。コレクタの構成値は、Create Forwarder を使用した後に Create Collector を使用して指定する必要があります。

特定の設定では、リクエスト本文に構成値がないか、構成値がゼロの場合、デフォルト値に設定されます。転送元のフィールドと値の詳細については、転送元の構成フィールドをご覧ください。

リクエスト

POST https://backstory.googleapis.com/v2/forwarders

リクエストの本文
{
  "display_name": string,
  "config": {
    object (ForwarderConfig)
  }
}
本文パラメータ
フィールド 必須 Description
display_name 文字列 必須 運送業者の名前。この名前は Google SecOps インターフェースに表示されます。
構成 オブジェクト 省略可 このフォワーダーの構成設定。転送元の構成フィールドをご覧ください。
リクエストの例

この例は、Create Forwarder リクエストで必要な Key-Value ペアを示しています。リクエストでフィールドが指定されておらず、デフォルト値が設定されている場合、デフォルト値は転送元の作成時に適用されます。デフォルト値の詳細については、転送元の構成フィールドをご覧ください。

POST https://backstory.googleapis.com/v2/forwarders
{
  "display_name": "chronicle_forwarder"
}

レスポンス

リクエストが成功すると、レスポンスとして HTTP ステータス コード 200(OK)が返されます。

レスポンスには、転送元の作成時に適用された構成値が表示されます。リソースの作成時に、リクエスト本文でこれらのフィールドが欠落しているかゼロ値の場合、デフォルトの構成値が特定の設定に適用されます。詳細については、転送元の構成フィールドをご覧ください。

レスポンスのフィールド

レスポンスには、リクエストで指定されたフィールドとデフォルト値が適用されたフィールドに加えて、生成された出力専用のフィールドが含まれます。

フィールド Description
name 文字列 転送元のリソース ID。形式は「forwarders/forwarderID」です。例:

forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56
使って enum

フォワーダの現在の状態を指定します。指定できる値は次のとおりです。

  • 有効: 転送元はデータをアップロードできます。
  • SUSPENDED: 転送元はデータをアップロードできません。

デフォルト値は ACTIVE です。

レスポンスの例

上記のリクエスト例に対して返されるレスポンスの例を次に示します。

{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
  "displayName": "chronicle_forwarder",
  "config": {
    "uploadCompression": "false",
    "serverSettings": {
      "gracefulTimeout": 15,
      "drainTimeout": 10,
      "httpSettings": {
        "port": "8080",
        "host": "0.0.0.0",
        "readTimeout": "3",
        "readHeaderTimeout": "3",
        "writeTimeout": "3",
        "idleTimeout": "3"
        "routeSettings": {
          "availableStatusCode": "204",
          "readyStatusCode": "204",
          "unreadyStatusCode": "503"
        },
      },
    },
  },
  "state": "ACTIVE"
}

フォワーダーの取得

転送元を返します。

リクエスト

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}

リクエストの本文

リクエスト本文は含めないでください。

リクエストの例
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
レスポンスの例
{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
  "displayName": "chronicle_forwarder",
  "config": {
    "uploadCompression": "false",
    "serverSettings": {
      "gracefulTimeout": 15,
      "drainTimeout": 10,
      "httpSettings": {
        "port": "8080",
        "host": "0.0.0.0",
        "readTimeout": "3",
        "readHeaderTimeout": "3",
        "writeTimeout": "3",
        "idleTimeout": "3"
        "routeSettings": {
          "availableStatusCode": "204",
          "readyStatusCode": "204",
          "unreadyStatusCode": "503"
        },
      },
    },
  },
  "state": "ACTIVE"
}

フォワーダーの一覧表示

Google SecOps インスタンスのすべての転送元を一覧表示します。

リクエスト

GET https://backstory.googleapis.com/v2/forwarders

リクエストの例

GET https://backstory.googleapis.com/v2/forwarders

レスポンス

フォワーダーのリストを返します。

レスポンスの例
{
  "forwarders": [
    {
      "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
      "displayName": "chronicle_forwarder_1",
      "config": {
        "uploadCompression": "false",
        "serverSettings": {
          "gracefulTimeout": 15,
          ...
         },
      },
      "state": "ACTIVE"
    },
    {
      "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde57",
      "displayName": "chronicle_forwarder_2",
      "config": {
        "uploadCompression": "false",
        "serverSettings": {
          "gracefulTimeout": 15,
       ...
       },
      },
      "state": "ACTIVE"
    }
  ]
}

フォワーダーの更新

転送元を更新するには、updateMask URL クエリ パラメータを使用して、更新するフィールドを指定します。

たとえば、表示名を更新するには、パッチ リクエストで次のように updateMask クエリ パラメータを使用します。

?updateMask=displayName

リクエストの本文には、更新するフィールドのみを含めます(正確な場所に含めます)。

リクエスト

PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}?updateMask=<field_1,field_2>
リクエストの本文
{
  "display_name": string,
  "config": {
    object (ForwarderConfig)
  },
}
本文パラメータ
フィールド 必須 Description
display_name 文字列 必須 運送業者の名前。この名前は Google SecOps インターフェースに表示されます。
構成 オブジェクト 省略可 このフォワーダーの構成設定。転送元の構成フィールドをご覧ください。
リクエストの例

これは、リクエストで displayName の新しい値を指定し、メタデータラベルを追加する Update Forwarder リクエストの例です。

PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56?updateMask=displayName,config.metadata.labels
{
  "display_name": "UpdatedForwarder",
  "config": {
    "metadata": {
      "labels": [
        {
          "key": "office",
          "value": "corporate",
        }
      ]
    }
  }
}
レスポンスの例

上記のリクエスト例に対して返されるレスポンスの例を次に示します。

{
  "name": "forwarders/{forwarderUUID}",
  "displayName": "UpdatedForwarder",
  "config": {
    "uploadCompression": "false",
    "metadata": {
      "labels": [
        {
          "key": "office",
          "value": "corporate"
        }
      ]
    }
  },
  "state": "ACTIVE"
}

フォワーダーを削除する

フォワーダーを削除します。

リクエスト

DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}
リクエストの本文

リクエスト本文は含めないでください。

リクエストの例
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
レスポンスの例

オペレーションが成功すると、Delete Forwarder は HTTP ステータス コード 200(OK)を含む空のレスポンスを返します。

{}

フォワーダー ファイルを生成する

フォワーダーの構成(.conf)ファイルと認証(_auth.conf)ファイルの内容を生成して返します。

リクエスト

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}:generateForwarderFiles
リクエストの本文

リクエスト本文は含めないでください。

リクエストの例
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56:generateForwarderFiles
レスポンスの例

オペレーションが成功すると、HTTP ステータス コード 200(OK)が返されます。また、フォワーダーのコレクタの構成データと、Google SecOps インスタンスで認証するためにフォワーダーで使用される認証(_auth.conf)ファイルなど、フォワーダー構成ファイルの内容も返されます。

フォワーダーの構成フィールド

次の表に、Create Forwarder と Update Forwarder を使用して指定できるフォワーダ構成設定を示します。Create Forwarder を使用するときに設定の値を指定しない場合、設定のデフォルト値(以下を参照)が適用されます。

次のフィールドは、リクエスト本文の config オブジェクトで指定できます。

フィールド 必須 Description
upload_compression bool 省略可 true の場合、データのバッチはアップロード前に圧縮されます。

デフォルトは falseです。
metadata.asset_namespace 文字列 省略可 この転送元からのログを識別するための Namespace。

注: これは、フォワーダーとフォワーダーのコレクタがオーバーライドする場合を除き、コレクタレベルでグローバル設定です。詳細については、Namespace を構成するをご覧ください。
metadata.labels リスト 省略可 フォワーダ構成で指定できる任意の Key-Value ペアのリスト。

注: これは、フォワーダーとフォワーダーのコレクタがオーバーライドする場合を除き、コレクタレベルでグローバル設定です。
metadata.labels.key 文字列 省略可 メタデータラベルリスト内のフィールドのキー。
metadata.labels.value 文字列 省略可 メタデータラベルリスト内のフィールドの値。
regex_filters.description 文字列 省略可 除外される内容とその理由を説明します。
regex_filters.regexp 文字列 省略可 受信する各行と照合するために使用される正規表現。
regex_filters.behavior enum 省略可

サーバー機能の状態を指定します。指定できる値は次のとおりです。

  • 許可: この状態は、フィルタされた行をアップロードすることを許可します。
  • ブロック: この状態は、フィルタされた行がアップロードされないようにします。
server_settings オブジェクト 省略可 フォワーダーの組み込み HTTP サーバーを構成する設定。Linux で syslog を収集するためのロード バランシングと高可用性のオプションを構成するために使用できます。
server_settings.state enum 省略可

サーバー機能の状態を指定します。指定できる値は次のとおりです。

  • ACTIVE: この状態の場合、サーバー設定は指定どおりに適用されます。
  • 停止 この状態の場合、サーバー設定は適用されません。
server_settings.graceful_timeout 整数 省略可 フォワーダーが不適切な readiness やヘルスチェックを返していながら新しい接続を引き続き受け入れている時間(秒単位)。これは、停止する信号を受信してから実際にサーバー自体のシャットダウンが開始されるまで、待機する時間でもあります。これにより、ロードバランサがプールからフォワーダーを削除する時間を確保できます。

デフォルト値は 15です。
server_settings.drain_timeout 整数 省略可 アクティブな接続がサーバーによって閉じられる前に、独自に正常に終了するまでフォワーダーが待機する秒数。

デフォルト値は 10です。
server_settings.http_settings.port 整数 省略可 HTTP サーバーがロードバランサからのヘルスチェックをリッスンするポート番号。1024 ~ 65535 にする必要があります。

デフォルト値は8080です。
server_settings.http_settings.host 文字列 省略可 IP アドレス、または、サーバーがリッスンする IP アドレスに解決できるホスト名。

デフォルト値は 0.0.0.0(ローカル システム)です。
server_settings.http_settings.read_timeout 整数 省略可 ヘッダーと本文を含むリクエスト全体の読み取りが許可される最大秒数。

デフォルト値は 3です。
server_settings.http_settings.read_header_timeout 整数 省略可 リクエスト ヘッダーの読み取りが許可される最大秒数。

デフォルト値は 3です。
server_settings.http_settings.write_timeout 整数 省略可 レスポンスの送信に許可される最大秒数。

デフォルト値は 3です。
server_settings.http_settings.idle_timeout 整数 省略可 アイドル状態の接続が有効になっている場合に、次のリクエストを待機する最大秒数。

デフォルト値は3です。
server_settings.http_settings.route_settings.available_status_code 整数 省略可 実行チェックが受信され、フォワーダーが利用可能な場合に返されるステータス コード。

デフォルトは 204です。
server_settings.http_settings.route_settings.ready_status_code 整数 省略可 フォワーダーがトラフィックを受け入れる準備ができたときに返されるステータス コード。

デフォルトは 204です。
server_settings.http_settings.route_settings.unready_status_code 整数 省略可 フォワーダーがトラフィックを受け入れる準備ができていない場合に返されるステータス コード。

デフォルトは 503です。

Collector API リファレンス

このセクションでは、コレクタを操作するためのエンドポイントについて説明します。

コレクタを作成および更新する際は、各コレクタ構成で、次のいずれか 1 つの取り込み設定を指定できます(複数指定はできません)。

  • ログファイルのデータ
  • Kafka トピック
  • パケットデータ(pcap)
  • Splunk データ
  • Syslog データ

転送元の操作用のエンドポイントについては、Forwarder API リファレンスをご覧ください。

コレクタの作成

Google SecOps アカウントに新しいコレクタを作成します。コレクタの構成値は、Create Forwarder の後に Create Collector を使用して指定する必要があります。

特定の設定では、リクエスト本文にない構成値またはゼロ値の構成値はデフォルト値に設定されます。コレクタの構成フィールドと値の詳細については、コレクタの構成フィールドをご覧ください。

リクエスト

POST https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
リクエストの本文
{
  "display_name": string,
  "config": {
    object (CollectorConfig)
  }
  "state": enum
}
本文パラメータ
フィールド 必須 Description
display_name 文字列 必須 コレクタの名前。この名前は Google SecOps インターフェースに表示されます。
構成 オブジェクト 必須 このコレクタの構成設定。コレクタの構成フィールドをご覧ください。
使って enum 省略可

コレクタの現在の状態を指定します。指定できる値は次のとおりです。

  • ACTIVE: コレクタはデータを受け入れることができます。
  • SUSPENDED: コレクタはデータを受け入れることができません。
リクエストの例

この例は、Create Collector リクエストで必要な Key-Value ペアを示しています。指定されていないフィールドには、コレクタの作成時にデフォルト値が適用されます。

この例では、コレクタのタイプは file であるため、コレクタの構成にはコレクタのタイプとその設定を示す file_settings が含まれています。コレクタのタイプが syslog の場合、コレクタ構成には syslog_settings が含まれます。詳細については、コレクタの構成フィールドをご覧ください。

POST https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors
{
  "display_name": "abc_collector",
  "config" {
    "log_type": "CS_EDR"
    "file_settings": {
      "file_path": "/opt/chronicle/edr/output/sample.txt",
    }
  }
}

レスポンス

リクエストが成功すると、レスポンスとして HTTP ステータス コード 200(OK)が返されます。

レスポンスには、コレクタの作成時に適用された構成値が表示されます。リソースの作成時に、リクエスト本文でこれらのフィールドが欠落しているかゼロ値の場合、デフォルトの構成値が特定の設定に適用されます。詳細については、コレクタの構成フィールドをご覧ください。

レスポンスのフィールド

レスポンスには、リクエストで指定されたフィールドとデフォルト値が適用されたフィールドに加えて、次のフィールドが含まれます。

フィールド Description
name 文字列 コレクタのリソース ID。形式は「forwarders/{forwarderID}/collectors/{collectorID}」です。例えば:

forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
レスポンスの例

上記のリクエスト例に対して返されるレスポンスの例を次に示します。

{
  "name": "forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56/collectors/
     98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
  "displayName": "abc_collector",
  "config": {
    "logType": "tomcat",
    "maxSecondsPerBatch": "10",
    "maxBytesPerBatch": "1048576"
  }
}

コレクタを取得する

コレクタを返します。

リクエスト

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
リクエストの本文

リクエスト本文は含めないでください。

リクエストの例
GET
https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
レスポンスの例
{
  "name": "?",
  "displayName": "abc_collector",
  "config": {
    "logType": "tomcat",
    "maxSecondsPerBatch": "10",
    "maxBytesPerBatch": "1048576"
  }
}

コレクタの一覧表示

指定されたフォワーダの既存のコレクタを一覧表示します。

リクエスト

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
リクエストの例
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors

レスポンス

複数のコレクタを返します。

レスポンスの例
{
  "collectors": [
    {
      "name": "?",
      "displayName": "abc_collector_1",
      "config": {
        "logType": "tomcat",
        "maxSecondsPerBatch": "10",
        "maxBytesPerBatch": "1048576"
      }
    },
    {
      "name": "?",
      "displayName": "abc_collector_2",
      "config": {
        "logType": "tomcat",
        "maxSecondsPerBatch": "10",
        "maxBytesPerBatch": "1048576"
      }
    }
  ]
}

コレクタの更新

API を使用してコレクタを更新する場合は、コレクタ構成全体を上書きするか、コレクタ構成の特定のフィールドのみを上書きするかを選択できます。通常、誤ってすべてのデータを上書きしないように、特定のフィールドを上書きすることをおすすめします。特定のフィールドを上書きするには、更新リクエストに FieldMask を指定します。

コレクタの表示名を更新する FieldMask を指定するには、パッチ リクエストに updateMask URL クエリ パラメータを指定します。例:

?updateMask=displayName

リクエストの本文には、更新するフィールドのみを含めます(正確な場所に含めます)。

リクエスト

PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}?updateMask=<field_1,field_2>
リクエストの本文
{
  "display_name": string,
  "config": {
    object (CollectorConfig)
  },
}
本文パラメータ
フィールド 必須 Description
displayName 文字列 必須 コレクタの名前。この名前は Google SecOps インターフェースに表示されます。
構成 オブジェクト 省略可 このフォワーダーの構成設定。コレクタの構成フィールドをご覧ください。
リクエストの例

これは、displayName、logType、assetNamespace、protocol の新しい値を指定する Update Collector リクエストの例です。

PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56?updateMask=displayName,config.logType,config.metadata.assetNamespace,config.syslogSettings.protocol
{
  "display_name": "UpdatedCollector"
  "config": {
    "metadata": {
      "asset_namespace": "COLLECTOR",
      },
      "log_type": "CISCO_ASA_FIREWALL",
      "syslog_settings": {
        "protocol": "TCP",
      }
    }
  }
レスポンスの例

上記のリクエスト例に対して返されるレスポンスの例を次に示します。

{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
  "displayName": "UpdatedCollector",
  "config": {
    "logType": "CISCO_ASA_FIREWALL",
    "metadata": {
      "assetNamespace": "COLLECTOR"
    },
    "maxSecondsPerBatch": 10,
    "maxBytesPerBatch": "1048576",
    "syslogSettings": {
      "protocol": "TCP",
      "address": "0.0.0.0",
      "port": 10514,
    }
  },
  "state": "ACTIVE"
}

コレクタを削除

コレクタを削除します。

リクエスト

DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
リクエストの本文

リクエスト本文は含めないでください。

リクエストの例
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
レスポンスの例

オペレーションが成功すると、Delete Collector は HTTP ステータス コード 200(OK)を含む空のレスポンスを返します。

{}

コレクタの構成フィールド

次のフィールドは、リクエスト本文の config オブジェクトで指定できます。

フィールド 必須 Description
log_type 文字列 必須 サポートされているログタイプ(Google SecOps で取り込むことができるログタイプ)。Google SecOps にパーサーがあるサポートされているログタイプのリストについては、サポートされているデフォルト パーサーのページの取り込みラベル列をご覧ください。サポートされるログタイプの完全なリストを取得するには、logtypes エンドポイントを使用します。
metadata.asset_namespace オブジェクト 省略可 このコレクタのログを識別するための Namespace。

注: これは、フォワーダーとフォワーダーのコレクタがオーバーライドする場合を除き、コレクタレベルでグローバル設定です。詳細については、Namespace を構成するをご覧ください。
metadata.labels リスト 省略可 コレクタ構成で指定できる任意の Key-Value ペアのリスト。

注: これは、フォワーダーとフォワーダーのコレクタがオーバーライドする場合を除き、コレクタレベルでグローバル設定です。
metadata.labels.key 文字列 省略可 メタデータラベルリスト内のフィールドのキー。
metadata.labels.value 文字列 省略可 メタデータラベルリスト内のフィールドの値。
regex_filters.description 文字列 省略可 除外される内容とその理由を説明します。
regex_filters.regexp 文字列 省略可 受信する各行と照合するために使用される正規表現。
regex_filters.behavior enum 省略可

サーバー機能の状態を指定します。指定できる値は次のとおりです。

  • 許可: この状態は、フィルタされた行をアップロードすることを許可します。
  • ブロック: この状態は、フィルタされた行がアップロードされないようにします。
disk_buffer.state enum 省略可

コレクタのディスク バッファリング状態を指定します。指定できる値は次のとおりです。

  • ACTIVE: バッファリングが有効になっています。
  • SUSPENDED: バッファリングが無効になっています。
disk_buffer.directory_path 文字列 省略可 書き込まれるファイルのディレクトリ パス。
disk_buffer.max_file_buffer_bytes 整数 省略可 バッファに格納されるファイルの最大サイズ。
max_seconds_per_batch 整数 省略可 バッチ間の秒数。

デフォルトは 10です。
max_bytes_per_batch 整数 省略可 フォワーダーのバッチ アップロードの前にキューに追加されるバイト数。

デフォルトは 1048576です。
<collector_type>_settings.<fields> 必須 コレクタのタイプとその設定を指定します。すべてのコレクタで、1 つのコレクタタイプとそのフィールドを指定する必要があります。たとえば、file コレクタ タイプを使用するには、file_settings.file_path フィールドを構成に追加して値を指定する必要があります。例:

"file_settings": {
  "file_path": "/opt/chronicle/edr/output/sample.txt",
}


コレクタのタイプとそのフィールドは、この表の次の行に示されています。使用可能なコレクタのタイプは次のとおりです。
  • file
  • kafka
  • pcap
  • splunk
  • syslog
file_settings.file_path 文字列 省略可 モニタリングするファイルのパス。
kafka_settings.authentication.username 文字列 省略可 認証に使用される ID のユーザー名。
kafka_settings.authentication.password 文字列 省略可 ユーザー名で識別されるアカウントのパスワード。
kafka_settings.topic 文字列 省略可 データを取り込む Kafka トピック。詳細については、Kafka トピックからデータを収集するをご覧ください。
kafka_settings.group_id 文字列 省略可 グループ ID。
kafka_settings.timeout 整数 省略可 接続が完了するまでダイヤルが待機する最大秒数。

デフォルトは 60です。
kafka_settings.brokers 文字列 省略可 Kafka ブローカーを一覧表示する繰り返し文字列。例:

"broker-1:9092", "broker-2:9093"

注: 更新オペレーション中にすべての値が置き換えられます。したがって、ブローカーのリストを更新して新しいブローカーを追加するには、既存のすべてのブローカーと新しいブローカーを指定します。
kafka_settings.tls_settings.certificate 文字列 省略可 パスと証明書のファイル名。例えば:

/path/to/cert.pem
kafka_settings.tls_settings.certificate_key 文字列 省略可 パスと証明書鍵のファイル名。例えば:

/path/to/cert.key
kafka_settings.tls_settings.minimum_tls_version 文字列 省略可 TLS の最小バージョン。
kafka_settings.tls_settings.insecure_skip_verify bool 省略可 true の場合、SSL 認証の検証が有効になります。

デフォルトは falseです。
pcap_settings.network_interface 文字列 省略可 PCAP データをリッスンするインターフェース。
pcap_settings.bpf 文字列 省略可 pcap 用の Berkeley Packet Filter(BPF)。
splunk_settings.authentication.username 文字列 省略可 認証に使用される ID のユーザー名。
splunk_settings.authentication.password 文字列 省略可 ユーザー名で識別されるアカウントのパスワード。
splunk_settings.host 文字列 省略可 Splunk REST API のホストまたは IP アドレス。
splunk_settings.port 整数 省略可 Splunk REST API のポート。
splunk_settings.minimum_window_size 整数 省略可 特定の Splunk 検索の最小時間範囲(秒単位)。詳細については、Splunk データを収集するをご覧ください。

デフォルトは 10です。
splunk_settings.maximum_window_size 整数 省略可 特定の Splunk 検索の最大時間範囲(秒単位)。詳細については、Splunk データを収集するをご覧ください。

デフォルトは 30です。
splunk_settings.query_string 文字列 省略可 Splunk 内のレコードのフィルタに使用されるクエリ。

例えば: search index=* sourcetype=dns
splunk_settings.query_mode 文字列 省略可 Splunk のクエリモード。

例えば: realtime
splunk_settings.cert_ignored bool 省略可 true の場合、証明書は無視されます。
syslog_settings.protocol enum 省略可

コレクタが syslog データをリッスンするために使用するプロトコルを指定します。指定できる値は次のとおりです。

  • TCP
  • UDP
syslog_settings.address 文字列 省略可 コレクタが存在し、Syslog データをリッスンするターゲット IP アドレスまたはホスト名。
syslog_settings.port 整数 省略可 コレクタが存在し、Syslog データをリッスンするターゲット ポート。
syslog_settings.buffer_size 整数 省略可 TCP ソケットのバッファのサイズ(バイト単位)。

TCP のデフォルトは 65536 です。
UDP のデフォルトは 8192 です。
syslog_settings.connecton_timeout 整数 省略可 TCP 接続が切断されるまでの非アクティブ状態の秒数。

デフォルトは 60です。
syslog_settings.tls_settings.certificate 文字列 省略可 パスと証明書のファイル名。例えば:

/path/to/cert.pem
syslog_settings.tls_settings.certificate_key 文字列 省略可 パスと証明書鍵のファイル名。例えば:

/path/to/cert.key
syslog_settings.tls_settings.minimum_tls_version 文字列 省略可 TLS の最小バージョン。
syslog_settings.tls_settings.insecure_skip_verify bool 省略可 true の場合、SSL 認証の検証が有効になります。

デフォルトは falseです。