Cloud Functions としてデプロイされた取り込みスクリプトを使用する
Google Security Operations では、Cloud Functions としてデプロイされることを目的とした、Python で記述された一連の取り込みスクリプトが提供されています。これらのスクリプトを使用すると、名前とログタイプで一覧表示された次のログソースからデータを取り込むことができます。
- Armis Google Security Operations 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 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 セキュリティ オペレーションの GitHub リポジトリにあります。
既知の制限: これらのスクリプトが Cloud Functions などのステートレス環境で使用される場合、チェックポイント機能がないため、すべてのログを Google Security Operations に送信できない場合があります。Google Security Operations では、Python 3.9 ランタイムを使用してスクリプトをテストしています。
始める前に
Google セキュリティ運用の取り込みスクリプトを効果的に使用するためのコンテキストと背景情報を提供する、以下のリソースをご覧ください。
- ローカルマシンから Cloud Functions をデプロイする方法については、Cloud Functions のデプロイをご覧ください。
- シークレットの作成とアクセスでは、Secret Manager の使用方法について説明しています。これは、Google Security Operations サービス アカウントの JSON ファイルを保存し、アクセスするために必要です。
- Google Cloud CLI をインストールする。 これを使用して Cloud Functions の関数をデプロイします。
- Pub/Sub からデータを取り込む場合、Google Cloud Pub/Sub ドキュメント。
単一のログタイプのファイルを作成する
Google Security Operations GitHub の各サブディレクトリには、1 つの Google Security Operations ログタイプのデータを取り込むファイルが含まれています。このスクリプトは、単一のソースデバイスに接続し、Ingestion API を使用して未加工のログを Google Security Operations に送信します。各ログタイプは個別の Cloud Functions としてデプロイすることをおすすめします。Google Security Operations GitHub リポジトリのスクリプトにアクセスします。GitHub の各サブディレクトリには、取り込むログタイプに固有の次のファイルが含まれています。
main.py
は、ログタイプに固有の取り込みスクリプトです。ソースデバイスに接続し、データを Google Security Operations に取り込みます。.env.yml
には、Python スクリプトに必要な構成が格納されます。これは、デプロイに固有のものです。このファイルを変更して、取り込みスクリプトに必要な構成パラメータを設定します。README.md
は、構成パラメータに関する情報を提供します。Requirements.txt
は、取り込みスクリプトに必要な依存関係を定義します。 また、common
フォルダには、すべての取り込みスクリプトが依存するユーティリティ関数が含まれています。
次の手順に沿って、単一のログタイプのデータを取り込むファイルを作成します。
- Cloud Functions の関数のファイルを保存するデプロイ ディレクトリを作成します。 これには、デプロイに必要なすべてのファイルが含まれます。
- 選択したログタイプの GitHub サブディレクトリ(OneLogin ユーザー コンテキストなど)から、このデプロイ ディレクトリにすべてのファイルをコピーします。
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 セッションを開始する
- Google Cloud Linux VM に SSH で接続します。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
Google セキュリティ運用のお客様 ID。 ○ なし × CHRONICLE_REGION
Google Security Operations のリージョン。 ○ us
その他の有効な値:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、me-central2
、me-west1
、northamerica-northeast2
× CHRONICLE_SERVICE_ACCOUNT
Google Security Operations サービス アカウントの JSON ファイルの内容。 ○ なし ○ CHRONICLE_NAMESPACE
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 × なし いいえ 各スクリプトには、そのスクリプトに固有の環境変数が必要です。各ログタイプに必要な環境変数の詳細については、ログタイプ別の構成パラメータをご覧ください。
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 Functions の関数をトリガーするをご覧ください。
Cloud Functions 関数のデプロイ
- Cloud Shell セッションを開始する
- SSH 経由で Google Cloud Linux VM に接続します。Googleの ツールを使用して Linux VM に接続をご覧ください。
- 取り込みスクリプトをコピーしたディレクトリに移動します。
次のコマンドを実行して、Cloud Functions をデプロイします。
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 Functions に定義した名前に置き換えます。<SERVICE_ACCOUNT_EMAIL>
は、Cloud Functions で使用するサービス アカウントのメールアドレスに置き換えます。ディレクトリをファイルのロケーションに変更しない場合は、
--source
オプションを使用してデプロイ スクリプトのロケーションを指定してください。Cloud Functions を実行するサービス アカウントには、Cloud Functions 起動元(
roles/cloudfunctions.invoker
)のロールと Secret Manager のシークレット アクセサー(roles/secretmanager.secretAccessor
)のロールが必要です。
ランタイムログの表示
取り込みスクリプトは、ランタイム メッセージを stdout に出力します。Cloud Functions には、ログメッセージを表示するメカニズムが用意されています。詳細については、ランタイムログの表示に関する Cloud Functions の情報をご覧ください。
ログタイプ別の構成パラメータ
Armis Google セキュリティ運用の統合
このスクリプトは、アラート、アクティビティ、デバイス、脆弱性など、さまざまなタイプのイベントの Armis プラットフォームから API 呼び出しを使用してデータを収集します。収集されたデータは Google Security Operations に取り込まれ、対応するパーサーによって解析されます。
スクリプト フロー
スクリプトのフローは次のとおりです。
環境変数を確認します。
スクリプトを Cloud Functions にデプロイします。
取り込みスクリプトを使用してデータを収集する。
収集したデータを Google Security Operations に取り込む。
Google Security Operations の対応するパーサーによって、収集されたデータを解析する
スクリプトを使用してデータを収集し、Google Security Operations に取り込む
環境変数を確認します。
変数 Description 必須 デフォルト シークレット CHRONICLE_CUSTOMER_ID
Google セキュリティ運用のお客様 ID。 ○ - × CHRONICLE_REGION
Google Security Operations のリージョン。 ○ JP ○ CHRONICLE_SERVICE_ACCOUNT
Google Security Operations サービス アカウントの JSON ファイルの内容。 ○ - ○ CHRONICLE_NAMESPACE
Google Security Operations ログにラベルが付けられている名前空間。 × - いいえ POLL_INTERVAL
関数が追加のログデータを取得するために実行する頻度の間隔(分単位)。この期間は、Cloud Scheduler ジョブ間隔と同じにする必要があります。 はい 10 いいえ ARMIS_SERVER_URL
Armis プラットフォームのサーバー URL。 はい - いいえ ARMIS_API_SECRET_KEY
認証に必要な秘密鍵。 はい - はい HTTPS_PROXY
プロキシ サーバーの URL。 いいえ - × CHRONICLE_DATA_TYPE
Google Security Operations にデータを push する Google Security Operations のデータタイプ。 ○ - いいえ ディレクトリを設定します。
Cloud 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
環境変数を設定して Namespace を構成します。Google セキュリティ オペレーションのログは名前空間に取り込まれます。Cloud Functions をデプロイします。
以前に作成したディレクトリ内から次のコマンドを実行して、Cloud Function をデプロイします。
gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
Cloud Functions のデフォルトの仕様。
変数 デフォルト Description メモリ 256 MB なし タイムアウト 60 秒 なし リージョン us-central1 なし 最小インスタンス数 0 なし 最大インスタンス数 100 なし これらの変数の構成方法の詳細については、Cloud Functions の構成をご覧ください。
過去のデータを取得します。
過去のデータを取得して引き続きリアルタイム データを収集するには:
- 履歴データをフェッチする
POLL_INTERVAL
環境変数を分単位で構成します。 - Cloud Functions を構成した後に、Google Cloud CLI でコマンドを実行して、スケジューラを使用するか手動で、関数をトリガーします。
- 履歴データをフェッチする
Aruba Central
このスクリプトは、Aruba Central プラットフォームから監査ログを取得し、ARUBA_CENTRAL
ログタイプで Google セキュリティ オペレーションに取り込みます。ライブラリの使用方法については、pycentral Python SDK をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
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 Security Operations に徐々に取り込まれます。
Azure 関数をデプロイする手順:
- リポジトリから
Azure_eventhub_API_function_app.json
という名前のデータコネクタ ファイルをダウンロードします。 - Microsoft Azure ポータルにログインします。
- 構成セクションの Microsoft の [Sentinel] > リストから ワークスペースを選択 > [データコネクタを選択] に移動して、次の操作を行います。
- URL でフラグ
feature.BringYourOwnConnector=true
を true に設定します。例: https://portal.azure.com/?feature.BringYourOwnConnector=true&...
- URL でフラグ
- ページの [インポート] ボタンを使って、手順 1 でダウンロードしたデータコネクタ ファイルをインポートします。
- [Azure にデプロイする] ボタンをクリックして関数をデプロイし、同じページの手順に沿って操作します。
- 優先する [サブスクリプション]、[リソース グループ]、[ロケーション] を選択し、必要な値を入力します。
- [レビュー + 作成] をクリックします。
- [作成] をクリックしてデプロイします。
Box
このスクリプトは、Box 内で発生したイベントの詳細を取得し、BOX
ログタイプを使用して Google Security Operations に取り込みます。このデータから、Box 環境内のオブジェクトに対する CRUD オペレーションに関する分析情報が得られます。Box イベントの詳細については、Box イベント API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。Box クライアント ID、クライアント シークレット、サブジェクト ID の詳細については、クライアント認証情報の付与をご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler のジョブの間隔と同じにする必要があります。 | 5 | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | あり |
BOX_CLIENT_ID |
Box プラットフォームのクライアント ID は、Box デベロッパー コンソールで確認できます。 | なし | いいえ |
BOX_CLIENT_SECRET |
認証に使用される Box プラットフォームのクライアント シークレットを格納する Secret Manager のシークレットへのパス。 | なし | あり |
BOX_SUBJECT_ID |
Box のユーザー ID または Enterprise ID。 | なし | × |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
Citrix Cloud 監査ログ
このスクリプトは、Citrix Cloud 監査ログを収集し、CITRIX_MONITOR
ログタイプで Google Security Operations に取り込みます。これらのログは、変更内容、変更者、変更日時などに関する情報を提供することで、Citrix Cloud 環境で行われたアクティビティの特定に役立ちます。詳細については、Citrix Cloud SystemLog API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。Citrix クライアント ID とクライアント シークレットについては、Citrix API スタートガイドをご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの 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 |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
Citrix セッションのメタデータ
このスクリプトは、Citrix 環境から Citrix セッションのメタデータを収集し、CITRIX_MONITOR
ログタイプで Google セキュリティ オペレーションに取り込みます。このデータには、ユーザー ログインの詳細、セッション継続時間、セッション作成時間、セッション終了時刻、セッションに関連するその他のメタデータが含まれます。詳細については、Citrix Monitor Service API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。Citrix クライアント ID とクライアント シークレットについては、Citrix API スタートガイドをご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの 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 |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
Cloud Storage
このスクリプトは、Cloud Storage からシステムログを取得し、そのログタイプに対して構成可能な値を使用して、Google Security Operations に取り込みます。詳しくは、Google Cloud Python クライアント ライブラリをご覧ください。
.env.yml
ファイルに次の環境変数を定義します。Google Cloud にはセキュリティ関連のログがあり、一部のログタイプは Google Security Operations に直接エクスポートできません。詳細については、セキュリティ ログの分析をご覧ください。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 60 | いいえ |
GCS_BUCKET_NAME |
データを取得する Cloud Storage バケットの名前。 | なし | いいえ |
GCP_SERVICE_ACCOUNT_SECRET_PATH |
Google Cloud サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_DATA_TYPE |
Google Security Operations インスタンスにデータを push するログタイプ。 | なし | いいえ |
Duo 管理者
このスクリプトは、ユーザー アカウントやセキュリティなど、さまざまなオブジェクトに対して実行される CRUD オペレーションに関連するイベントを Duo Admin から取得します。イベントは、DUO_ADMIN
ログタイプで Google Security Operations に取り込まれます。詳細については、Duo Admin API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの 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 |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
MISP
このスクリプトは、オープンソースの脅威インテリジェンスと共有プラットフォームである MISP から脅威関係情報を取得し、MISP_IOC
ログタイプを使用して Google Security Operations に取り込みます。詳細については、MISP Events API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。
変数 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler のジョブの間隔と同じにする必要があります。 | 5 | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | あり |
ORG_NAME |
イベントをフィルタするための組織名。 | なし | いいえ |
API_KEY |
使用する認証の API キーを格納する Secret Manager のシークレットへのパス。 | なし | あり |
TARGET_SERVER |
作成した MISP インスタンスの IP アドレス。 | なし | × |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
OneLogin イベント
このスクリプトは、OneLogin 環境からイベントを取得し、ONELOGIN_SSO
ログタイプで Google Security Operations に取り込みます。これらのイベントは、ユーザー アカウントに対する操作などの情報を提供します。詳細については、OneLogin Events API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。OneLogin クライアント ID とクライアント シークレットについては、API 認証情報の使用をご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler のジョブの間隔と同じにする必要があります。 | 5 | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの 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 |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
OneLogin ユーザー コンテキスト
このスクリプトは、OneLogin 環境からユーザー アカウントに関連するデータを取得し、ONELOGIN_USER_CONTEXT
ログタイプで Google セキュリティ オペレーションに取り込みます。詳しくは、OneLogin User API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。OneLogin クライアント ID とクライアント シークレットについては、API 認証情報の使用をご覧ください。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler のジョブの間隔と同じにする必要があります。 | 30 | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの 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 |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
Proofpoint
このスクリプトは、特定の期間内に特定の組織からの攻撃の標的となったユーザーに関するデータを取得し、そのデータを Google Security Operations に取り込みます。使用される API の詳細については、個人 API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。Proofpoint サービス プリンシパルと Proofpoint secret の取得の詳細については、Arctic Wolf 構成ガイドにプルーフポイント TAP 認証情報を提供するをご覧ください。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 360 | × |
CHRONICLE_DATA_TYPE |
Google Security Operations インスタンスにデータを 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 Security Operations に取り込みます。サブスクリプション ゲートウェイを継続的にモニタリングし、新しいメッセージが表示されると取り込みます。詳細については、次のドキュメントをご覧ください。
この取り込みスクリプトでは、.env.yml
ファイルと Cloud Scheduler ジョブの両方で変数を設定する必要があります。
.env.yml
ファイルに次の環境変数を定義します。変数名 説明 デフォルト値 シークレット CHRONICLE_CUSTOMER_ID
Google Security Operations インスタンスのお客様 ID。 なし × CHRONICLE_REGION
Google Security Operations インスタンスのリージョン。 us
その他の有効な値:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、me-central2
、me-west1
、northamerica-northeast2
× CHRONICLE_SERVICE_ACCOUNT
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 なし ○ CHRONICLE_NAMESPACE
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の操作をご覧ください。 なし いいえ Cloud Scheduler の [メッセージ本文] フィールドで次の変数を JSON 形式の文字列として設定します。[メッセージ本文] フィールドの詳細については、Cloud Scheduler の作成をご覧ください。
変数名 説明 デフォルト値 シークレット PROJECT_ID
Pub/Sub プロジェクト ID。プロジェクト ID については、プロジェクトの作成と管理をご覧ください。 なし いいえ SUBSCRIPTION_ID
Pub/Sub サブスクリプション ID。 なし × CHRONICLE_DATA_TYPE
Google Security Operations にデータを push するときに提供されるログタイプの取り込みラベル。ログタイプのリストについては、サポートされるデフォルト パーサーをご覧ください。 なし いいえ 以下は、[メッセージ本文] フィールドの JSON 形式の文字列の例です。
{ "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
Slack 監査ログ
このスクリプトは、Slack Enterprise Grid 組織から監査ログを取得し、SLACK_AUDIT
ログタイプで Google セキュリティ オペレーションに取り込みます。詳細については、Slack Audit Logs API をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。
変数名 | 説明 | デフォルト値 | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | あり |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler のジョブの間隔と同じにする必要があります。 | 5 | いいえ |
SLACK_ADMIN_TOKEN |
Slack 認証トークンを格納する Secret Manager のシークレットへのパス。 |
なし |
はい |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
STIX/TAXII
このスクリプトは、STIX/TAXII サーバーからインジケーターを取得し、それらを Google Security Operations に取り込みます。詳細については、STIX/TAXII API のドキュメントをご覧ください。
.env.yml
ファイルに次の環境変数を定義します。
変数の名前 | Description | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの 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 Security Operations に取り込みます。使用されるライブラリについては、pyTenable Python SDK をご覧ください。
.env.yml
ファイルに次の環境変数を定義します。アセットと脆弱性データの詳細については、Tenable.io API のアセットのエクスポートと脆弱性のエクスポートをご覧ください。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 360 | いいえ |
TENABLE_ACCESS_KEY |
認証に使用されるアクセスキー | なし | いいえ |
TENABLE_SECRET_KEY_PATH |
Tenable Server のパスワードが格納されているバージョンを持つ Google Secret Manager のパス。 | なし | ○ |
TENABLE_DATA_TYPE |
Google Security Operations で取り込むデータの種類。指定できる値: ASSETS、VULNERABILITIES。 | ASSETS, VULNERABILITIES | いいえ |
TENABLE_VULNERABILITY |
エクスポートに含める脆弱性の状態。有効な値: 「OPEN」、「REOPENED」、「FIXED」。 | OPEN, REOPENED | いいえ |
Trend Micro Cloud App Security
このスクリプトでは、Trend Micro プラットフォームからセキュリティ ログが取得され、Google Security Operations に取り込まれます。使用される API の詳細については、Security Logs API をご覧ください。.env.yml
ファイルに次の環境変数を定義します。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 10 | × |
CHRONICLE_DATA_TYPE |
Google Security Operations インスタンスにデータを 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 Security Operations に取り込まれます。使用される API の詳細については、Audit Logs API をご覧ください。.env.yml
ファイルに次の環境変数を定義します。
変数 | 説明 | デフォルト | シークレット |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations インスタンスのお客様 ID。 | なし | × |
CHRONICLE_REGION |
Google Security Operations インスタンスのリージョン。 | us その他の有効な値: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、me-central2 、me-west1 、northamerica-northeast2 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの JSON ファイルを格納する Secret Manager のシークレットへのパス。 | なし | ○ |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
POLL_INTERVAL |
追加のログデータを取得するために関数を実行する頻度間隔(分単位)。この期間は、Cloud Scheduler ジョブの間隔と同じにする必要があります。 | 10 | いいえ |
TREND_MICRO_AUTHENTICATION_TOKEN |
トレンド マイクロサーバーの認証トークンが格納されているバージョンを持つ Google シークレット マネージャーのパス。 | なし | あり |
TREND_MICRO_DOMAIN |
サービス エンドポイントが配置されている Trend Micro Vision One リージョン。 | なし | いいえ |