Cloud Run functions としてデプロイされた取り込みスクリプトを使用する
Google Security Operations には、Cloud Run 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 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 Security Operations の GitHub リポジトリにあります。
既知の制限: これらのスクリプトが Cloud Run functions などのステートレス環境で使用される場合、チェックポイント機能がないため、すべてのログを Google Security Operations に送信できない場合があります。Google Security Operations では、Python 3.9 ランタイムでスクリプトをテストしています。
始める前に
Google Security Operations 取り込みスクリプトを効果的に使用するためのコンテキストと背景情報を提供する次のリソースをご覧ください。
- ローカルマシンから Cloud Run functions をデプロイする方法については、Cloud Run functions のデプロイをご覧ください。
- シークレットの作成とアクセスでは、Secret Manager の使用方法について説明します。これは、Google Security Operations サービス アカウントの JSON ファイルを保存してアクセスするために必要です。
- Google Cloud CLI をインストールします。これを使用して、Cloud Run 関数をデプロイします。
- Google Cloud Pub/Sub のドキュメント(Pub/Sub からデータを取り込む予定がある場合)。
単一のログタイプのファイルを作成する
Google Security Operations GitHub の各サブディレクトリには、単一の Google Security Operations ログタイプのデータを取り込むファイルが含まれています。このスクリプトは、単一のソースデバイスに接続し、Ingestion API を使用して未加工のログを Google Security Operations に送信します。各ログタイプは個別の Cloud Run 関数としてデプロイすることをおすすめします。Google Security Operations GitHub リポジトリのスクリプトにアクセスします。GitHub の各サブディレクトリには、取り込むログタイプに固有の次のファイルが含まれています。
main.py
は、ログタイプに固有の取り込みスクリプトです。ソースデバイスに接続し、Google Security Operations にデータを取り込みます。.env.yml
には、Python スクリプトに必要な構成が保存されます。この構成はデプロイに固有のものです。このファイルを変更して、取り込みスクリプトに必要な構成パラメータを設定します。README.md
は構成パラメータに関する情報を提供します。Requirements.txt
は、取り込みスクリプトに必要な依存関係を定義します。また、common
フォルダには、すべての取り込みスクリプトが依存するユーティリティ関数が含まれています。
次の手順に沿って、単一のログタイプのデータを取り込むファイルを作成します。
- Cloud Run 関数のファイルを保存するデプロイ ディレクトリを作成します。これには、デプロイに必要なすべてのファイルが含まれます。
- 選択したログタイプの 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 セッションを開始する
- 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
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
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
、southamerica-east1
× 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 Run functions の関数をトリガーするをご覧ください。
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 関数に定義した名前に置き換えます。<SERVICE_ACCOUNT_EMAIL>
は、Cloud Run 関数で使用するサービス アカウントのメールアドレスに置き換えます。ディレクトリをファイルのロケーションに変更しない場合は、
--source
オプションを使用してデプロイ スクリプトのロケーションを指定してください。Cloud Run 関数を実行するサービス アカウントには、Cloud Functions 起動元(
roles/cloudfunctions.invoker
)のロールと Secret Manager のシークレット アクセサー(roles/secretmanager.secretAccessor
)のロールが必要です。
ランタイムログの表示
取り込みスクリプトは、ランタイム メッセージを stdout に出力します。Cloud Run functions には、ログ メッセージを表示するメカニズムが用意されています。詳細については、ランタイム ログの表示に関する Cloud Functions の情報をご覧ください。
ログタイプ別の構成パラメータ
Armis と Google Security Operations の統合
このスクリプトは、アラート、アクティビティ、デバイス、脆弱性など、さまざまなタイプのイベントの Armis プラットフォームから API 呼び出しを使用してデータを収集します。収集されたデータは Google Security Operations に取り込まれ、対応するパーサーによって解析されます。
スクリプト フロー
スクリプトの流れは次のとおりです。
環境変数を確認します。
スクリプトを Cloud Run functions にデプロイします。
取り込みスクリプトを使用してデータを収集します。
収集したデータを Google Security Operations に取り込みます。
Google Security Operations で対応するパーサーを使用して、収集されたデータを解析します。
スクリプトを使用してデータを収集し、Google Security Operations に取り込む
環境変数を確認します。
変数 Description 必須 デフォルト シークレット CHRONICLE_CUSTOMER_ID
Google Security Operations のお客様 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 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
環境変数を設定して、Namespace を構成します。Google Security Operations のログが名前空間に取り込まれます。Cloud Run 関数をデプロイします。
前に作成したディレクトリ内から次のコマンドを実行して、Cloud Functions の関数をデプロイします。
gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
Cloud Run functions のデフォルトの仕様。
変数 デフォルト Description メモリ 256 MB なし なし タイムアウト 60 秒 なし なし リージョン us-central1 なし なし 最小インスタンス数 0 なし なし 最大インスタンス数 100 なし なし これらの変数の構成方法については、Cloud Run functions の関数を構成するをご覧ください。
過去のデータを取得します。
過去のデータを取り出してリアルタイム データの収集を継続するには:
- 過去のデータの取得に必要な分数で
POLL_INTERVAL
環境変数を構成します。 - Cloud Run 関数を構成した後に、Google Cloud CLI でコマンドを実行して、スケジューラを使用するか手動で、関数をトリガーします。
- 過去のデータの取得に必要な分数で
Aruba Central
このスクリプトは、Aruba Central プラットフォームから監査ログを取得し、ARUBA_CENTRAL
ログタイプで Google Security Operations に取り込みます。ライブラリの使用方法については、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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 Functions を使用して Azure Event Hub からイベントを取得します。Azure 関数は、新しいイベントがバケットに追加されるたびにトリガーされ、各イベントは Google Security Operations に段階的に取り込まれます。
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 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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 またはエンタープライズ 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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 エンドポイント。 | なし | × |
CHRONICLE_NAMESPACE |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
Citrix セッション メタデータ
このスクリプトは、Citrix セッションのメタデータを収集し、CITRIX_MONITOR
ログタイプで Google Security Operations に取り込みます。データには、ユーザーのログイン情報、セッションの長さ、セッションの作成時間、セッションの終了時間、セッションに関連するその他のメタデータが含まれます。詳細については、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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 アクティビティ
このスクリプトは、Duo Admin から Duo アクティビティ ログを取得し、DUO_ACTIVITY
ログタイプで 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 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 。 |
× |
CHRONICLE_SERVICE_ACCOUNT |
Google Security Operations サービス アカウントの 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 |
Google Security Operations ログにラベルが付けられている名前空間。Google Security Operations の名前空間については、アセットの名前空間の使用をご覧ください。 | なし | いいえ |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 Security Operations に取り込みます。詳細については、 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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
、southamerica-east1
× 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 Security Operations に取り込みます。詳細については、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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 、southamerica-east1 |
× |
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 リージョン。 | なし | いいえ |