# Google SecOps

{% hint style="info" %}
この SIEM コネクタは現在、リクエストに応じて利用可能です。 [サポートまでお問い合わせください](https://www.aikido.dev/contact) ワークスペースで有効化してもらうために。
{% endhint %}

Aikido の issue を Google SecOps（Chronicle）に送信すると、セキュリティの検出結果を他のセキュリティテレメトリと一緒に検索できるようになります。

チームがすでに Google SecOps を SIEM として使っていて、Aikido の検出結果をインフラストラクチャ、アプリケーション、監査シグナルと 1 か所で相関付けたい場合に便利です。

### 要件

接続する前に、Google Cloud と Google SecOps から次を取得してください:

* **GCP プロジェクト ID** - SecOps インスタンスをホストする Google Cloud プロジェクト。
* **リージョン** - インスタンスがプロビジョニングされているリージョナルエンドポイント（例: `us`, `europe`、または `asia-southeast1`）。これによりデータの送信先エンドポイントが決まるため、インスタンスと一致している必要があります。
* **インスタンス ID** - SecOps インスタンスの Customer ID（GUID）。SecOps の以下で確認できます **設定 > SIEM 設定 > インスタンス ID**.
* **ログタイプ** - データが取り込まれる Chronicle のログタイプ。Chronicle がサポートするタイプである必要があり、適用したいパーサーと一致している必要があります。
* **サービス アカウント JSON 鍵** - ログをインポートする権限を持つサービス アカウント用です。

### Google SecOps の接続

{% stepper %}
{% step %}

#### サービス アカウントを作成する

1. Google Cloud Console で、次へ移動します **IAM と管理 > サービス アカウント** に移動し、サービス アカウント（例: "aikido"）を作成します。
2. 次を含むカスタムロールを付与します `chronicle.logs.import` SecOps インスタンスをホストするプロジェクトに対する権限。Google はこの最小権限のアプローチを推奨しています。あらかじめ定義された **Chronicle API Editor** ロールでも動作しますが、ログのインポートに必要な範囲より広いアクセス権を付与します。
3. サービス アカウントの **キー** タブで、 **鍵を追加 > 新しい鍵を作成**、次を選択します **JSON**.
4. ダウンロードした鍵ファイルは安全に保存してください。次に、その内容を Aikido に貼り付けます。Aikido は鍵を生の JSON または base64 エンコードされた JSON として受け付けます。
{% endstep %}

{% step %}

#### SIEM を接続する

次へ移動します： [**Settings > Integrations**](https://app.aikido.dev/settings/integrations/) Aikido アプリで、新しい SIEM 統合を追加します。 **SIEM を接続する** ダイアログで次を選択します： **Google SecOps** を選択して、次を入力します：

**設定**

* **GCP プロジェクト ID** - SecOps インスタンスをホストするプロジェクト。
* **リージョン** - SecOps のリージョナルエンドポイント。既定値は `us`.
* **インスタンス ID** - SecOps インスタンスの GUID。
* **ログタイプ** - 各バッチで送信される Chronicle のログタイプ。例: `WINDOWS_DHCP`, `OKTA`、または `CORELIGHT`.
* **ログエントリ時刻フィールド** - イベントのタイムスタンプを指す JSON パス（Chronicle の `logEntryTime`）、例: `first_detected_at` 問題が最初に作成された時刻用です。 [SIEM フィールドリファレンス](https://help.aikidogov.us/docs/docs-ja/miscellaneous-integrations/siem-connectors/siem-field-reference) 各 issue のフィールドについて。フィールドがない、または解析できない場合は現在時刻にフォールバックします。
* **コレクション時刻フィールド** - コレクションのタイムスタンプを指す JSON パス（Chronicle の `collectionTime`）。Aikido の issue ペイロードにはコレクション タイムスタンプ フィールドがないため、入力したパスはいずれも現在時刻にフォールバックします。このフィールドは必須なので、プレースホルダーのパス `metadata.ingestionTime`.

**認証**

* **サービス アカウント認証情報 JSON** - Google Cloud で作成した JSON 鍵。Aikido はこれを暗号化して保存し、保存後は再表示しません。

**オプション** *（任意）*

* **環境ネームスペース** - SecOps でデータを分割するために使用する固定タグ。例: `aikido`.
* **フォワーダー リソース名** - 既存のフォワーダーのリソース名。形式: `projects/<p>/locations/<r>/instances/<i>/forwarders/<f>`.
* **エンドポイントの上書き** - 送信先の完全な URL。リージョンベースの既定値をバイパスします。Private Service Connect やテスト環境で使用します。
* **リクエストを圧縮** - リクエスト本文を gzip 圧縮します。CPU を消費する代わりに外向きトラフィックを削減します。既定ではオフです。
* **バッチ設定** - 送信前のデータのバッチ方法を制御します:
  * **バッチレコード数** - バッチ送信前に蓄積するレコードの最大数。既定値は 500 です。
  * **バッチデータサイズ** - バッチ送信前の合計サイズの最大バイト数。既定値は 2097152（2 MiB）です。
  * **最大フラッシュ間隔** - サイズや件数にかかわらず、送信前にレコードを保持する最大秒数。既定値は 30 です。

クリックします **接続をテスト** Aikido が Google SecOps に到達できることを確認するには、次に **接続する**.
{% endstep %}

{% step %}

#### 同期する問題を設定

Google SecOps 連携ページの以下で **Issue 入力設定**、同期するAikidoの問題を設定します：

* **問題のステータス** － たとえば、未解決の問題のみを同期するか、解決済みや無視された問題も含めるかを選択します。
* **最小重大度** － 同期する最小の重大度レベル。
* **問題の種類** － 特定の問題タイプに限定するか、すべてを同期します。
* **Language** － 特定の言語に限定するか、すべてを同期します。
* **同期頻度** - 一致する issue を Aikido が Google SecOps に送信する頻度（例: 1 時間ごと）。

クリックします **設定を保存**.
{% endstep %}
{% endstepper %}

### イベントが届いていることを確認する

Google SecOps で、取り込まれたログを以下で確認します **検索**、 **Raw Log Scan**、または **データフィード** 以下のページ **設定 > SIEM 設定**。設定した同期頻度が経過するのを待つか、Aikido でテスト issue を発行して、表示されることを確認してください。

### 制限事項

* 4 MB を超えるバッチは Google SecOps に拒否されます。もし増やす場合は **バッチデータサイズ**、この上限以下にしてください。
* **ログタイプ** は接続全体で固定されるため、issue ごとに変えることはできません。
* Google SecOps のネットワークは Aikido からのアクセスを許可する必要があります。以下を参照してください [SIEM の送信元 IP アドレス](https://help.aikidogov.us/docs/docs-ja/miscellaneous-integrations/siem-connectors/siem-egress-ip-addresses) 受信トラフィックを制限している場合。

### トラブルシューティング

* **`401` エラーの原因になります** - サービス アカウント鍵が無効または期限切れです。新しい JSON 鍵を生成して Aikido で更新してください。
* **`403` エラーの原因になります** - サービス アカウントに次がありません `chronicle.logs.import` インスタンスに対する権限。
* **`404` エラーの原因になります** - 次を再確認してください **GCP プロジェクト ID**, **リージョン**, **インスタンス ID**、および **ログタイプ**。インスタンスがプロビジョニングされている場所と一致しないリージョンが一般的な原因です。
* **`400` エラーの原因になります** -  **ログタイプ** は Chronicle でサポートされていません。サポートされているログタイプを使用してください。
* **`413 ペイロードが大きすぎます`** - 減らしてください **バッチデータサイズ** または **バッチレコード数** バッチが 4 MB 未満に収まるようにします。
* **イベントの時刻が誤って表示される** - 次を設定してください **ログエントリ時刻フィールド** イベント時刻を持つフィールドに。

### 統合の管理

次から： **設定 > 連携 > Google SecOps** Aikido で、次のことができます：

* **統合を管理** - プロジェクト、リージョン、インスタンス、ログタイプ、バッチ処理、または認証情報を更新してください。
* **統合を削除** - Google SecOps の接続を解除します。これにより今後の同期はすべて停止します。すでに Google SecOps に送信されたデータは削除されません。
