Cloud Run functions としてデプロイされた取り込みスクリプトを使用する
Google Security Operations は、Cloud Run functions としてデプロイすることを目的とした Python で記述された一連の取り込みスクリプトを提供しています。これらのスクリプトを使用すると、名前とログタイプで一覧表示された次のログソースからデータを取り込むことができます。
- Armis Google SecOps Integration
- Aruba Central (
ARUBA_CENTRAL
) - Azure Event Hub (configurable log type)
- Box (
BOX
) - Citrix Cloud audit logs (
CITRIX_MONITOR
) - Citrix session metadata (
CITRIX_SESSION_METADATA
) - Cloud Storage (configurable log type)
- Duo Activity (
DUO_ACTIVITY
) - Duo Admin (
DUO_ADMIN
) - MISP (
MISP_IOC
) - OneLogin (
ONELOGIN_SSO
) - OneLogin user context (
ONELOGIN_USER_CONTEXT
) - Proofpoint (configurable log type)
- Pub/Sub (configurable log type)
- Slack audit logs (
SLACK_AUDIT
) - STIX/TAXII threat intelligence (
STIX
) - Tenable.io (
TENABLE_IO
) - Trend Micro Cloud App Security (configurable log type)
- Trend Micro Vision One audit logs (
TREND_MICRO_VISION_AUDIT
)
これらのスクリプトは、Google SecOps の GitHub リポジトリにあります。
既知の制限: これらのスクリプトが Cloud Run functions などのステートレス環境で使用される場合、チェックポイント機能がないため、すべてのログを Google SecOps に送信できない場合があります。Google SecOps は、Python 3.9 ランタイムでスクリプトをテストしています。
始める前に
Google SecOps 取り込みスクリプトを効果的に使用するために、コンテキストと背景情報を提供する次のリソースをご覧ください。
- ローカルマシンから Cloud Run functions をデプロイする方法については、Cloud Run functions のデプロイをご覧ください。
- シークレットの作成とアクセスでは、Secret Manager の使用方法について説明します。これは、Google SecOps サービス アカウントの JSON ファイルを保存してアクセスするために必要です。
- Google Cloud CLI をインストールします。 これは、Cloud Run functions をデプロイするために使用します。
- Pub/Sub からデータを取り込む場合は、Google Cloud Pub/Sub のドキュメント。
単一のログタイプのファイルを作成する
Google SecOps GitHub の各サブディレクトリには、単一の Google SecOps ログタイプのデータを取り込むファイルが含まれています。スクリプトは単一のソースデバイスに接続し、取り込み API を使用して未加工のログを Google SecOps に送信します。各ログタイプは個別の Cloud Run 関数としてデプロイすることをおすすめします。Google SecOps GitHub リポジトリのスクリプトにアクセスします。GitHub の各サブディレクトリには、取り込むログタイプに固有の次のファイルが含まれています。
main.py
は、ログタイプに固有の取り込みスクリプトです。ソースデバイスに接続し、データを Google SecOps に取り込みます。.env.yml
には、Python スクリプトに必要な構成が格納されます。これはデプロイに固有のものです。このファイルを変更して、取り込みスクリプトに必要な構成パラメータを設定します。README.md
は、構成パラメータに関する情報を提供します。Requirements.txt
は、取り込みスクリプトに必要な依存関係を定義します。また、common
フォルダには、すべての取り込みスクリプトが依存するユーティリティ関数が含まれています。
次の手順に沿って、単一のログタイプのデータを取り込むファイルを作成します。
- Cloud Run 関数のファイルを保存するデプロイ ディレクトリを作成します。これには、デプロイに必要なすべてのファイルが含まれます。
- 選択したログタイプ(OneLogin ユーザー コンテキストなど)の GitHub サブディレクトリから、すべてのファイルをこのデプロイ ディレクトリにコピーします。
common
フォルダとそのすべてのコンテンツをデプロイ ディレクトリにコピーします。ディレクトリの内容は次のようになります。
one_login_user ├─common │ ├─__init__.py │ ├─auth.py │ ├─env_constants.py │ ├─ingest.py │ ├─status.py │ └─utils.py ├─env.yml ├─main.py └─requirements.txt
スクリプトを構成する
- Cloud Shell セッションを開始する
- SSH を使用して Google Cloud Linux VM に接続します。Googleの ツールを使用して Linux VM に接続をご覧ください。
取り込みスクリプトをアップロードするには、> [アップロード] または [ダウンロード] をクリックして Cloud Shell間でフォルダやファイルを移動します。
その他ファイルやフォルダは、ホーム ディレクトリでのみアップロードおよびダウンロードできます。Cloud Shell とローカル ワークステーションの間でファイルを転送するその他のオプションについては、[Cloud Shell からファイルとフォルダをアップロードおよびダウンロードする](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders) をご覧ください。
関数の
.env.yml
ファイルを編集して、必要な環境変数を入力します。次の表に、すべての取り込みスクリプトに共通するランタイム環境変数を示します。変数名 説明 必須 デフォルト シークレット CHRONICLE_CUSTOMER_ID
Chronicle(Google SecOps)のお客様 ID。 ○ なし × CHRONICLE_REGION
Chronicle(Google SecOps)リージョン。 ○ us
その他の有効な値:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
、southamerica-east1
× CHRONICLE_SERVICE_ACCOUNT
Chronicle(Google SecOps)サービス アカウントの JSON ファイルの内容。 ○ なし ○ CHRONICLE_NAMESPACE
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 × なし × 各スクリプトには、スクリプト固有の環境変数が必要です。各ログタイプに必要な環境変数の詳細については、ログタイプ別の構成パラメータをご覧ください。
Secret = Yes
とマークされた環境変数は、Secret Manager でシークレットとして構成する必要があります。Secret Manager の使用料金については、Secret Manager の料金をご覧ください。
詳細な手順については、シークレットの作成とアクセスをご覧ください。
Secret Manager でシークレットを作成したら、シークレット リソース名を環境変数の値として使用します。例: projects/{project_id}/secrets/{secret_id}/versions/{version_id}
。ここで、{project_id}
、{secret_id}
、{version_id}
は環境に固有です。
スケジューラまたはトリガーを設定する
Pub/Sub を除くすべてのスクリプトは、ソースデバイスから定期的にデータを収集するように実装されています。Cloud Scheduler を使用してトリガーを設定し、データを経時的に取得する必要があります。Pub/Sub の取り込みスクリプトは、Pub/Sub サブスクリプションを継続的にモニタリングします。詳細については、スケジュールに沿ってサービスを実行すると Pub/Sub を使用して Cloud Run 関数をトリガーするをご覧ください。
Cloud Run 関数をデプロイする
- Cloud Shell セッションを開始する
- SSH 経由で Google Cloud Linux VM に接続します。Googleの ツールを使用して Linux VM に接続をご覧ください。
- 取り込みスクリプトをコピーしたディレクトリに移動します。
次のコマンドを実行して、Cloud Run 関数をデプロイします。
gcloud functions deploy <FUNCTION NAME> --service-account <SERVICE_ACCOUNT_EMAIL> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
<FUNCTION_NAME>
は、Cloud Run functions に定義した名前に置き換えます。<SERVICE_ACCOUNT_EMAIL>
は、Cloud Run 関数で使用するサービス アカウントのメールアドレスに置き換えます。ディレクトリをファイルのロケーションに変更しない場合は、
--source
オプションを使用してデプロイ スクリプトのロケーションを指定してください。Cloud Run 関数を実行するサービス アカウントには、Cloud Functions 起動元(
roles/cloudfunctions.invoker
)のロールと Secret Manager のシークレット アクセサー(roles/secretmanager.secretAccessor
)のロールが必要です。
ランタイムログの表示
取り込みスクリプトは、ランタイム メッセージを stdout に出力します。Cloud Run functions には、ログメッセージを表示するメカニズムが用意されています。
ログタイプ別の構成パラメータ
Armis Google SecOps の統合
このスクリプトは、アラート、アクティビティ、デバイス、脆弱性など、さまざまなタイプのイベントの Armis プラットフォームから API 呼び出しを使用してデータを収集します。収集されたデータは Google SecOps に取り込まれ、対応するパーサーによって解析されます。
スクリプト フロー
スクリプトのフローは次のとおりです。
環境変数を確認します。
スクリプトを Cloud Run functions にデプロイします。
取り込みスクリプトを使用してデータを収集します。
収集したデータを Google SecOps に取り込みます。
Google SecOps の対応するパーサーを使用して、収集したデータを解析します。
スクリプトを使用してデータを収集し、Google SecOps に取り込む
環境変数を確認します。
変数 説明 必須 デフォルト Secret CHRONICLE_CUSTOMER_ID
Chronicle(Google SecOps)のお客様 ID。 ○ - × CHRONICLE_REGION
Chronicle(Google SecOps)リージョン。 ○ US ○ CHRONICLE_SERVICE_ACCOUNT
Chronicle(Google SecOps)サービス アカウントの JSON ファイルの内容。 ○ - ○ CHRONICLE_NAMESPACE
Chronicle(Google SecOps)ログにラベル付けされる Namespace。 × - × POLL_INTERVAL
関数を実行して追加のログデータを取得する頻度(分単位)。 関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 ○ 10 × ARMIS_SERVER_URL
Armis プラットフォームのサーバー URL。 ○ - × ARMIS_API_SECRET_KEY
認証に必要な秘密鍵。 ○ - ○ HTTPS_PROXY
プロキシ サーバーの URL。 × - × CHRONICLE_DATA_TYPE
データを Google SecOps に push する Chronicle(Google SecOps)データ型。 ○ - × ディレクトリを設定します。
Cloud Run functions のデプロイ用に新しいディレクトリを作成し、そのディレクトリに
common
ディレクトリと取り込みスクリプト(armis
)の内容を追加します。必要なランタイム環境変数を設定します。
必要な環境変数を
.env.yml
ファイルで定義します。Secret を使用します。
シークレットとしてマークされた環境変数は、Secret Manager でシークレットとして構成する必要があります。シークレットの作成方法については、シークレットを作成するをご覧ください。
Secret Manager でシークレットを作成したら、シークレットのリソース名を環境変数の値として使用します。例:
CHRONICLE_SERVICE_ACCOUNT: projects/{project_id}/secrets/{secret_id}/versions/{version_id}
Namespace を構成します。
CHRONICLE_NAMESPACE
環境変数を設定して、名前空間を構成します。Chronicle(Google SecOps)ログが Namespace に取り込まれます。Cloud Run functions をデプロイします。
前に作成したディレクトリ内から次のコマンドを実行して、Cloud 関数をデプロイします。
gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
Cloud Run functions のデフォルトの仕様。
変数 デフォルト 説明 メモリ 256 MB なし なし タイムアウト 60 秒 なし なし リージョン us-central1 なし なし 最小インスタンス数 0 なし なし 最大インスタンス数 100 なし なし これらの変数を構成する方法については、Cloud Run functions を構成するをご覧ください。
過去のデータを取得します。
過去のデータを取得してリアルタイム データの収集を続行するには:
- 過去のデータを取得する必要がある期間を分単位で
POLL_INTERVAL
環境変数に構成します。 - Cloud Run functions を構成した後に、Google Cloud CLI でコマンドを実行して、スケジューラを使用するか手動で、関数をトリガーします。
- 過去のデータを取得する必要がある期間を分単位で
Aruba Central
このスクリプトは、Aruba Central プラットフォームから監査ログを取得し、ARUBA_CENTRAL
ログタイプで Google SecOps に取り込みます。ライブラリの使用方法については、pycentral Python SDK をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。
変数 | 説明 | デフォルト | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
CHronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Chronicle(Google SecOps)の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 10 | × |
ARUBA_CLIENT_ID |
Aruba Central API ゲートウェイのクライアント ID。 | なし | × |
ARUBA_CLIENT_SECRET_SECRET_PATH |
Aruba Central API ゲートウェイのクライアント シークレット。 | なし | ○ |
ARUBA_USERNAME |
Aruba Central プラットフォームのユーザー名。 | なし | × |
ARUBA_PASSWORD_SECRET_PATH |
Aruba Central プラットフォームのパスワード。 | なし | ○ |
ARUBA_BASE_URL |
Aruba Central API ゲートウェイのベース URL。 | なし | × |
ARUBA_CUSTOMER_ID |
Aruba Central プラットフォームのお客様 ID。 | なし | × |
Azure Event Hub
他の取り込みスクリプトとは異なり、このスクリプトは Azure 関数を使用して Azure Event Hub からイベントを取得します。新しいイベントがバケットに追加されるたびに Azure 関数がトリガーされ、各イベントが Google SecOps に徐々に取り込まれます。
Azure 関数をデプロイする手順:
- リポジトリから
Azure_eventhub_API_function_app.json
という名前のデータコネクタ ファイルをダウンロードします。 - Microsoft Azure ポータルにログインします。
- 構成セクションの Microsoft の [Sentinel] > リストから ワークスペースを選択 > [データコネクタを選択] に移動して、次の操作を行います。
- URL で次のフラグを true に設定します。
feature.BringYourOwnConnector=true
例: https://portal.azure.com/?feature.BringYourOwnConnector=true&... 1. ページの [import] ボタンを使って、手順 1 でダウンロードしたデータコネクタ ファイルをインポートします。
- URL で次のフラグを true に設定します。
- [Azure にデプロイする] ボタンをクリックして関数をデプロイし、同じページの手順に沿って操作します。
- 優先するサブスクリプション、リソース グループ、ロケーションを選択し、必要な値を指定します。
- [レビュー + 作成] をクリックします。
- [作成] をクリックしてデプロイします。
Box
このスクリプトは、Box 内で発生したイベントの詳細を取得し、BOX
ログタイプで Google SecOps に取り込みます。このデータは、Box 環境内のオブジェクトに対する CRUD オペレーションに関する分析情報を提供します。Box イベントの詳細については、Box イベント API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。Box クライアント ID、クライアント シークレット、サブジェクト ID の詳細については、クライアント認証情報の付与をご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 5 | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
CHronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
BOX_CLIENT_ID |
Box プラットフォームのクライアント ID。Box Developer Console で確認できます。 | なし | × |
BOX_CLIENT_SECRET |
認証に使用される Box プラットフォームのクライアント シークレットを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
BOX_SUBJECT_ID |
Box ユーザー ID またはエンタープライズ ID。 | なし | × |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
Citrix Cloud の監査ログ
このスクリプトは、Citrix Cloud 監査ログを収集し、CITRIX_MONITOR
ログタイプで Google SecOps に取り込みます。これらのログは、変更内容、変更者、変更日時などの情報を提供することで、Citrix Cloud 環境で行われたアクティビティの特定に役立ちます。詳細については、Citrix Cloud SystemLog API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。Citrix クライアント ID とクライアント シークレットについては、Citrix API のスタートガイドをご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CITRIX_CLIENT_ID |
Citrix API クライアント ID。 | なし | × |
CITRIX_CLIENT_SECRET |
認証に使用される Citrix API クライアント シークレットを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CITRIX_CUSTOMER_ID |
Citrix お客様 ID。 | なし | × |
POLL_INTERVAL |
追加のログデータを収集する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 30 | × |
URL_DOMAIN |
Citrix Cloud Endpoint。 | なし | × |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Chronicle(Google SecOps)の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
Citrix セッション メタデータ
このスクリプトは、Citrix セッションのメタデータを収集し、CITRIX_MONITOR
ログタイプで Google SecOps に取り込みます。データには、ユーザーのログインの詳細、セッションの継続時間、セッションの作成時間、セッションの終了時間、セッションに関連するその他のメタデータが含まれます。詳細については、Citrix Monitor Service API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。Citrix クライアント ID とクライアント シークレットについては、Citrix API のスタートガイドをご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
URL_DOMAIN |
Citrix の URL ドメイン。 | なし | × |
CITRIX_CLIENT_ID |
Citrix クライアント ID。 | なし | × |
CITRIX_CLIENT_SECRET |
認証に使用される Citrix クライアント シークレットを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CITRIX_CUSTOMER_ID |
Citrix お客様 ID。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 30 | × |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
Cloud Storage
このスクリプトは、Cloud Storage からシステムログを取得し、ログタイプの構成可能な値を使用して Google SecOps に取り込みます。詳細については、Google Cloud Python クライアント ライブラリをご覧ください。
.env.yml
ファイルで次の環境変数を定義します。 Google Cloudにはセキュリティに関連するログが含まれていますが、一部のログタイプは Google SecOps に直接エクスポートできません。詳細については、セキュリティ ログ分析をご覧ください。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 60 | × |
GCS_BUCKET_NAME |
データの取得元となる Cloud Storage バケットの名前。 | なし | × |
GCP_SERVICE_ACCOUNT_SECRET_PATH |
Google Cloud サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_DATA_TYPE |
データを Chronicle(Google SecOps)インスタンスに push するログタイプ。 | なし | × |
Duo Activity
このスクリプトは、Duo Admin から Duo Activity ログを取得し、DUO_ACTIVITY
ログタイプで Google SecOps に取り込みます。詳細については、Duo Admin API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
BACKSTORY_API_V1_URL |
Duo Security API の URL パス。DUO Admin API 統合キーを含む JSON ファイルのダウンロードについて詳しくは、Duo Admin のドキュメントをご覧ください。 | なし | ○ |
DUO_SECRET_KEY |
DUO API からログを取得するために必要な DUO シークレット キー。Duo Admin API 統合キー、Duo Admin API シークレット キー、Duo Admin API ホスト名を含む JSON ファイルをダウンロードする手順については、Duo Admin のドキュメントをご覧ください。 |
なし | ○ |
DUO_INTEGRATION_KEY |
DUO API からログを取得するために必要な DUO 統合キー。Duo Admin API 統合キー、Duo Admin API シークレット キー、Duo Admin API ホスト名を含む JSON ファイルをダウンロードする手順については、Duo Admin のドキュメントをご覧ください。 |
なし | ○ |
LOG_FETCH_DURATION |
ログをフェッチする期間。 | 1 | × |
CHECKPOINT_FILE_PATH |
最後に取り込まれたログのチェックポイント タイムスタンプが保存されているファイルのパス。 | checkpoint.json |
× |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
Duo Admin
このスクリプトは、ユーザー アカウントやセキュリティなどのさまざまなオブジェクトに対して実行された CRUD オペレーションに関連するイベントを Duo Admin から取得します。イベントは DUO_ADMIN
ログタイプで Google SecOps に取り込まれます。詳細については、Duo Admin API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | なし | × |
DUO_API_DETAILS |
Duo アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。これには、Duo Admin API 統合キー、Duo Admin API 秘密鍵、Duo Admin API ホスト名が含まれます。例:
{
"ikey": "abcd123",
"skey": "def345",
"api_host": "abc-123"
}
JSON ファイルのダウンロード手順については、Duo 管理者向けドキュメントをご覧ください。 |
なし | ○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
MISP
このスクリプトは、オープンソースの脅威インテリジェンスと共有プラットフォームである MISP から脅威関連情報を取得し、MISP_IOC
ログタイプで Google SecOps に取り込みます。詳細については、MISP Events API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。
変数 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 5 | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
ORG_NAME |
イベントをフィルタリングするための組織名。 | なし | × |
API_KEY |
使用する認証の API キーを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
TARGET_SERVER |
作成した MISP インスタンスの IP アドレス。 | なし | × |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
OneLogin Events
このスクリプトは、OneLogin 環境からイベントを取得し、ONELOGIN_SSO
ログタイプで Google SecOps に取り込みます。これらのイベントは、ユーザー アカウントに対するオペレーションなどの情報を提供します。詳しくは、OneLogin Events API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。OneLogin クライアント ID とクライアント シークレットについては、API 認証情報の使用をご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 5 | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CLIENT_ID |
OneLogin プラットフォームのクライアント ID。 | なし | × |
CLIENT_SECRET |
認証に使用される OneLogin プラットフォームのクライアント シークレットを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
TOKEN_ENDPOINT |
アクセス トークンをリクエストする URL。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
× |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
OneLogin ユーザー コンテキスト
このスクリプトは、OneLogin 環境からユーザー アカウントに関連するデータを取得し、ONELOGIN_USER_CONTEXT
ログタイプで Google SecOps に取り込みます。詳しくは、OneLogin User API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。OneLogin クライアント ID とクライアント シークレットについては、API 認証情報の使用をご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスのお客様 ID。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 30 | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CLIENT_ID |
OneLogin プラットフォームのクライアント ID。 | なし | × |
CLIENT_SECRET |
認証に使用される OneLogin プラットフォームのクライアント シークレットを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
TOKEN_ENDPOINT |
アクセス トークンをリクエストする URL。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
× |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
Proofpoint
このスクリプトは、特定の組織内の攻撃の標的となったユーザーに関するデータを特定の期間にわたって取得し、そのデータを Google SecOps に取り込みます。使用される API の詳細については、個人 API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。Proofpoint サービス プリンシパルと Proofpoint secret の取得の詳細については、Arctic Wolf 構成ガイドにプルーフポイント TAP 認証情報を提供するをご覧ください。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 360 | × |
CHRONICLE_DATA_TYPE |
データを Chronicle(Google SecOps)インスタンスに push するログタイプ。 | なし | × |
PROOFPOINT_SERVER_URL |
Proofpoint Server API ゲートウェイのベース URL。 | なし | × |
PROOFPOINT_SERVICE_PRINCIPLE |
Proofpoint プラットフォームのユーザー名。通常はサービス プリンシパルです。 | なし | × |
PROOFPOINT_SECRET |
Proofpoint プラットフォームのパスワードが格納されている、バージョンを持つ Secret Manager のパス。 | なし | ○ |
PROOFPOINT_RETRIEVAL_RANGE |
データを取得する日数を表す数値。指定できる値は 14、30、90 です。 | なし | × |
Pub/Sub
このスクリプトは、Pub/Sub サブスクリプションからメッセージを収集し、データを Google SecOps に取り込みます。サブスクリプション ゲートウェイを継続的にモニタリングし、新しいメッセージが出現すると取り込みます。詳細については、次のドキュメントをご覧ください。
この取り込みスクリプトでは、.env.yml
ファイルと Cloud Scheduler ジョブの両方で変数を設定する必要があります。
.env.yml
ファイルで次の環境変数を定義します。変数名 説明 デフォルト値 シークレット CHRONICLE_CUSTOMER_ID
Chronicle(Google SecOps)インスタンスの顧客 ID。 なし × CHRONICLE_REGION
Chronicle(Google SecOps)インスタンスのリージョン。 us
その他の有効な値:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
、southamerica-east1
。× CHRONICLE_SERVICE_ACCOUNT
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 なし ○ CHRONICLE_NAMESPACE
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 なし × Cloud Scheduler の [メッセージ本文] フィールドで次の変数を JSON 形式の文字列として設定します。メッセージ本文フィールドの詳細については、Cloud Scheduler の作成をご覧ください。
変数名 説明 デフォルト値 シークレット PROJECT_ID
Pub/Sub プロジェクト ID。プロジェクト ID については、プロジェクトの作成と管理をご覧ください。 なし × SUBSCRIPTION_ID
Pub/Sub サブスクリプション ID。 なし × CHRONICLE_DATA_TYPE
Chronicle(Google SecOps)にデータを push する際に指定されたログタイプの取り込みラベル。ログタイプのリストについては、サポートされるデフォルト パーサーをご覧ください。 なし × メッセージ本文フィールドの JSON 形式の文字列の例を次に示します。
{ "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
Slack 監査ログ
このスクリプトは、Slack Enterprise Grid 組織から監査ログを取得し、SLACK_AUDIT
ログタイプで Google SecOps に取り込みます。詳細については、Slack 監査ログ API をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronnicle(Google SecOps)インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 5 | × |
SLACK_ADMIN_TOKEN |
Slack 認証トークンを格納する Secret Manager のシークレットへのパス。 |
なし |
○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
STIX/TAXII
このスクリプトは、STIX/TAXII サーバーからインジケーターを取得し、Google SecOps に取り込みます。詳細については、STIX/TAXII API のドキュメントをご覧ください。.env.yml
ファイルで次の環境変数を定義します。
変数の名前 | 説明 | デフォルト | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
POLL_INTERVAL |
関数が実行される頻度(分単位)。この期間は、Cloud Scheduler ジョブと同じにする必要があります。 | 60 | × |
TAXII_VERSION |
使用する STIX/TAXII バージョン。使用可能なオプションは 1.1、2.0、2.1 です。 | なし | × |
TAXII_DISCOVERY_URL |
TAXII サーバーの Discovery URL。 | なし | × |
TAXII_COLLECTION_NAMES |
データを取得するコレクション(CSV)。すべてのコレクションからデータを取得する場合は、空白のままにします。 | なし | × |
TAXII_USERNAME |
認証に必要なユーザー名(ある場合)。 | なし | × |
TAXII_PASSWORD_SECRET_PATH |
認証に必要なパスワード(ある場合)。 | なし | ○ |
Tenable.io
このスクリプトは、Tenable.io プラットフォームからアセットと脆弱性のデータを取得し、TENABLE_IO
ログタイプで Google SecOps に取り込みます。使用されるライブラリについては、pyTenable Python SDK をご覧ください。
.env.yml
ファイルで次の環境変数を定義します。アセットと脆弱性データの詳細については、Tenable.io API の アセットのエクスポートと脆弱性のエクスポートをご覧ください。
変数 | 説明 | デフォルト | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 360 | × |
TENABLE_ACCESS_KEY |
認証に使用されるアクセスキー | なし | × |
TENABLE_SECRET_KEY_PATH |
Tenable Server のパスワードが格納されている、バージョンを持つ Google Secret Manager のパス。 | なし | ○ |
TENABLE_DATA_TYPE |
Google SecOps に取り込むデータの種類。有効な値: ASSETS、VULNERABILITIES。 | ASSETS, VULNERABILITIES | × |
TENABLE_VULNERABILITY |
エクスポートに含める脆弱性の状態。有効な値: 「OPEN」、「REOPENED」、「FIXED」。 | OPEN, REOPENED | × |
Trend Micro Cloud App Security
このスクリプトは、Trend Micro プラットフォームからセキュリティ ログを取得して Google SecOps に取り込みます。使用される API の詳細については、Security Logs API をご覧ください。.env.yml
ファイルで次の環境変数を定義します。
変数 | 説明 | デフォルト | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle(Google SecOps)インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 10 | × |
CHRONICLE_DATA_TYPE |
データを Chronicle(Google SecOps)インスタンスに push するログタイプ。 | なし | × |
TREND_MICRO_AUTHENTICATION_TOKEN |
トレンド マイクロサーバーの認証トークンが格納されているバージョンを持つ Google シークレット マネージャーのパス。 | なし | ○ |
TREND_MICRO_SERVICE_URL |
Cloud App Security サービスのサービス URL。 | なし | × |
TREND_MICRO_SERVICE |
ログを取得する保護されたサービスの名前。カンマ区切り値をサポートします。指定できる値: exchange、sharepoint、onedrive、dropbox、box、googledrive、gmail、team、exchangeserver、Salesforce_sandbox、Salesforce_production、team_chat。 | exchange、sharepoint、onedrive、dropbox, box、googledrive、gmail、teams、exchangeserver、salesforce_sandbox、salesforce_production、teams_chat | × |
TREND_MICRO_EVENT |
ログを取得するセキュリティ イベントのタイプ。カンマ区切り値をサポートします。指定できる値: securityrisk、virtualanalyzer、ransomware、dlp。 | securityrisk, virtualanalyzer, ransomware, dlp | × |
Trend Micro Vision One
このスクリプトは、Trend Micro Vision One の監査ログを取得し、ログタイプ TREND_MICRO_VISION_AUDIT
で Google SecOps に取り込みます。使用される API の詳細については、Audit Logs API をご覧ください。.env.yml
ファイルで次の環境変数を定義します。
変数 | 説明 | デフォルト | Secret |
---|---|---|---|
TREND_MICRO_VISION_AUDIT |
Google SecOps インスタンスの顧客 ID。 | なし | × |
CHRONICLE_REGION |
Chronicle(Google SecOps)インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle(Google SecOps)サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Chronicle(Google SecOps)ログにラベル付けされる Namespace。Google SecOps の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | × |
POLL_INTERVAL |
関数を実行して追加のログデータを取得する頻度(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 10 | × |
TREND_MICRO_AUTHENTICATION_TOKEN |
トレンド マイクロサーバーの認証トークンが格納されているバージョンを持つ Google シークレット マネージャーのパス。 | なし | ○ |
TREND_MICRO_DOMAIN |
サービス エンドポイントが配置されている Trend Micro Vision One リージョン。 | なし | × |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。