Microsoft Sentinel に Google Cloud の IAM ログを取り込んでみた

ARM テンプレートを使用して、Google Cloud の IAM ログを Microsoft Sentinel に取り込む方法について解説します
2024.04.21

はじめに

Microsoft では SIEM・SOAR ソリューションとして、Microsoft Sentinel(以下、Sentinel)が提供されています。AWS だと Amazon GuardDuty に該当するサービスですが、データコネクタと呼ばれる機能により Microsoft が提供するサービス以外のログも取り込める点で違いがあり、今回は Google Cloud の IAM ログを取り込む手順についてまとめます。

なお、DevelopersIO には、AWS の CloudTrail ログや CloudWatch Logs を取り込む方法について解説した記事があります。用途に応じて、こちらも参照ください。

前提

Microsoft が公開している手順は以下です。 ドキュメントの内容だけでは解釈が難しい箇所や Google Cloud 側での作業も必要なため、たっぷりのスクリーンショットで解説します。

Microsoft Sentinel 用 Google Cloud Platform IAM (Azure Functions を使用) コネクタ

なお、今回の方法では、Azure 側で Azure Functions を、Google Cloud 側でサービスアカウントをそれぞれ使用します。そのため、以下権限についても準備をお願いします。

  • Microsoft.Web/sites のアクセス許可:Azure Functions に対する読み取り・書き込み許可
  • GCP サービス アカウント:Cloud Logging API に対する読み取り許可

手順

1. コネクタのインストール

  1. Sentinel からログを取り込むログアナリティクスワークスペースを選択
  2. 「コンテンツハブ」を選択
  3. 検索窓から google cloud と検索
  4. コネクタ:「Google Cloud Platform IAM」を選択 ※類似した「Google Cloud Platform Audit Logs」ではないため注意
  5. 「インストール」をクリック(終わったら「管理」もクリック)

2. コネクタの設定

  1. データコネクタ:「Google Cloud Platform IAM (using Azure Functions)」にチェック
  2. 右サイドバーから「コネクタページを開く」をクリック

なお、この時点ではデータ取り込みができていないため、status が「Disconnected」、Log Analytics テーブル:「GCP_IAM_CL」も 0 になっていることが確認できます。

3. Google Cloud との連携

ドキュメントの以下内容にしたがって、Google Cloud 側との連携を行います。
「STEP 1 - Configuring GCP and obtaining credentials」

  1. Make sure that Logging API is enabled.
  2. (Optional) Enable Data Access Audit logs.
  3. Create service account with required permissions and get service account key json file.
  4. Prepare the list of GCP resources (organizations, folders, projects) to get logs from.

なお、Google Cloud との連携は本記事の趣旨から逸れるため、後述します。

4. Azure Functions をデプロイ

ドキュメントの以下内容にしたがって、Azure Functions をデプロイします。
STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function

  1. 「Workspace ID」をひかえる
  2. 「Primary Key」をひかえる
  3. 「Deploy to Azure」ボタンをクリック
  4. 各パラメータを指定しデプロイ
  5. デプロイ完了後に App Service へ移動
  6. Azure Functions のメトリクスから処理が成功していることを確認
  7. コンテンツハブから Google Cloud のデータ取り込みが成功していることを確認 ※デプロイから 2,30 分かかります

5. 分析ルールのテスト

分析ルール「GCP IAM - New Service Account」を作成します(取り込み後作成できるようになります) 。
その後、Google Cloud でサービスアカウントを作成するとアラートが発生しました!

【補足】Google Cloud との連携

本手順は、3. Google Cloud との連携 の内容をまとめたものです。公式ドキュメントはこちらです。
(Google Cloud コンソールの操作はダークモードのブラウザで操作します)

  1. Gooogle Cloud コンソールへログインし、使用するプロジェクトを選択
  2. Google Cloud API ライブラリページ から logging を検索し、Cloud Logging API を有効化
  3. 「認証情報を作成」をクリック、「Cloud Logging API(デフォルトで設定済み)」「アプリケーション データ」を設定し、次へ
  4. サービスアカウントの詳細を設定
    1. ① サービス アカウントの詳細
      「サービス アカウント名」と「サービス アカウントの説明」を入力し、次へ
    2. ② このサービス アカウントにプロジェクトへのアクセスを許可する
      「ロール」はログの読み取り権限を付与(今回は「ログ閲覧者」)し、次へ
    3. ③ ユーザーにこのサービス アカウントへのアクセスを許可
      本項は必要に応じて指定し、完了
  5. サービスアカウントキーを作成
    1. サービスアカウントのメールアドレスをクリック
    2. 「キー」タブから「鍵を追加」 -> 「新しい鍵を作成」をクリック
      ※キーのタイプは JSON を指定
    3. 秘密鍵がダウンロードされるので、Azure Functions の デプロイ時 に使用

まとめ

今回は、Google Cloud の IAM ログを Microsoft Sentinel に取り込む方法について解説しました。
本手順は、IAM ログに限らず、DNS ログなどその他 Google Cloud 関連のログ取り込みに応用できますので、参考にいただけると幸いです。

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。