Microsoft Intune のログを収集する
このドキュメントでは、Microsoft Azure Blob Storage V2 を使用して Google Security Operations フィードを設定し、Microsoft Intune ログを収集する方法について説明します。
Microsoft Intune は、組織のリソースへのユーザー アクセスを管理し、モバイル デバイス、デスクトップ パソコン、仮想エンドポイントなどのデバイス全体でアプリとデバイスの管理を簡素化するクラウドベースのエンドポイント管理ソリューションです。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- 次の権限を持つ Microsoft Azure ポータルへの特権アクセス権:
- ストレージ アカウントを作成する
- Microsoft Intune の診断設定を構成する
- アクセスキーを管理する
- Intune テナントの Intune 管理者またはグローバル管理者の Microsoft Entra ロールが割り当てられているユーザー
- ストレージ アカウントを設定する Azure サブスクリプション
Azure Storage アカウントを構成する
ストレージ アカウントを作成する
- Azure ポータルで、[ストレージ アカウント] を検索します。
- [+ 作成] をクリックします。
次の構成情報を提供してください。
設定 値 サブスクリプション Azure サブスクリプションを選択する リソース グループ 既存のものを選択するか、新しいものを作成する ストレージ アカウント名 一意の名前を入力します(例: intunelogsstorage)。リージョン リージョンを選択します(例: East US)。パフォーマンス 標準(推奨) 冗長性 GRS(地理冗長ストレージ)または LRS(ローカル冗長ストレージ) [Review + create] をクリックします。
アカウントの概要を確認して、[作成] をクリックします。
デプロイが完了するまで待ちます。
ストレージ アカウントの認証情報を取得する
- 作成した Storage Account に移動します。
- 左側のナビゲーションで、[セキュリティとネットワーキング] の [アクセスキー] を選択します。
- [キーを表示] をクリックします。
- 後で使用できるように、次の値をコピーして保存します。
- ストレージ アカウント名: 作成時に指定した名前
- キー 1 またはキー 2: 共有アクセスキー(base64 でエンコードされた 512 ビットのランダムな文字列)
Blob Service エンドポイントを取得する
- 同じストレージ アカウントで、左側のナビゲーションから [エンドポイント] を選択します。
- Blob サービスのエンドポイント URL をコピーして保存します。
- 例:
https://intunelogsstorage.blob.core.windows.net/
- 例:
Microsoft Intune の診断設定を構成する
Microsoft Intune 管理センターにログインします。[レポート> 診断設定] を選択します。初めて開いたときに、オンにします。それ以外の場合は、設定を追加します。
- [診断設定を追加] をクリックします。
- 次の構成の詳細を指定します。
- 診断設定名: わかりやすい名前を入力します(例:
export-to-secops)。 - [ログ] セクションで、次のカテゴリを選択します。
- ☑ AuditLogs
- ☑ OperationalLogs
- ☑ DeviceComplianceOrg
- ☑ デバイス
- [宛先の詳細] セクションで、[ストレージ アカウントにアーカイブする] チェックボックスをオンにします。
- サブスクリプション: ストレージ アカウントを含むサブスクリプションを選択します。
- ストレージ アカウント: 先ほど作成したストレージ アカウントを選択します。
- 診断設定名: わかりやすい名前を入力します(例:
- [保存] をクリックします。
構成後、ログはストレージ アカウントに自動的にエクスポートされます。
- 監査ログには、Intune で変更を生成するアクティビティの記録が表示されます。
- 運用ログには、登録に成功した(または失敗した)ユーザーとデバイスの詳細と、準拠していないデバイスの詳細が表示されます。
- [Device Compliance Organizational Logs] には、Intune のデバイス コンプライアンスに関する組織レポートと、非準拠のデバイスに関する詳細が表示されます。
- IntuneDevices には、Intune に登録され、管理されているデバイスのデバイス インベントリとステータス情報が表示されます。
Intune 監査ログと運用ログは、Intune から Azure Monitor サービスにすぐに送信されます。Intune デバイス コンプライアンス組織ログと IntuneDevices レポートのデータは、Intune から Azure Monitor サービスに 24 時間ごとに 1 回送信されます。そのため、Azure Monitor サービスでログを取得するまでに 24 時間ほどかかることがあります。Intune からデータが送信されると、通常は 30 分以内に Azure Monitor サービスに表示されます。
Microsoft Intune のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Microsoft Intune Logs)。 - [ソースタイプ] で [Microsoft Azure Blob Storage V2] を選択します。
- [ログタイプ] として [Microsoft Intune] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
Azure URI: コンテナパスを含む Blob Service エンドポイントの URL を入力します。Intune はさまざまなログカテゴリ用に複数のコンテナを作成するため、コンテナごとに個別のフィードを作成する必要があります。
次の形式を使用し、
intunelogsstorageを Azure ストレージ アカウントの名前に置き換えます。- 監査ログの場合:
https://intunelogsstorage.blob.core.windows.net/insights-logs-auditlogs/- オペレーション ログの場合:
https://intunelogsstorage.blob.core.windows.net/insights-logs-operationallogs/- デバイス コンプライアンスの組織ログの場合:
https://intunelogsstorage.blob.core.windows.net/insights-logs-devicecomplianceorg/- デバイスの場合:
https://intunelogsstorage.blob.core.windows.net/insights-logs-devices/Source deletion option: 必要に応じて削除オプションを選択します。
- なし: 転送後にファイルを削除しません。
- 転送されたファイルを削除する: 転送が完了した後にファイルを削除します。
- 転送されたファイルと空のディレクトリを削除する: 転送が完了した後にファイルと空のディレクトリを削除します。
ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
共有キー: ストレージ アカウントから取得した共有キーの値(アクセスキー)を入力します。
アセットの名前空間: アセットの名前空間。
Ingestion labels: このフィードのイベントに適用されるラベル。
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
手順 1 ~ 10 を繰り返して、各 Intune ログカテゴリ コンテナに追加のフィードを作成します。
Azure Storage ファイアウォールを構成する(有効になっている場合)
Azure Storage アカウントでファイアウォールを使用している場合は、Google SecOps の IP 範囲を追加する必要があります。
- Azure ポータルで、ストレージ アカウントに移動します。
- [セキュリティとネットワーキング] で [ネットワーキング] を選択します。
- [ファイアウォールと仮想ネットワーク] で、[選択した仮想ネットワークと IP アドレスから有効] を選択します。
- [ファイアウォール] セクションの [アドレス範囲] で、[+ IP 範囲を追加] をクリックします。
各 Google SecOps IP 範囲を CIDR 表記で追加します。
現在の IP 範囲を取得するには、次のいずれかのオプションを選択します。
- IP 許可リストのドキュメントを参照してください。
- Feed Management API を使用して、現在の IP 範囲をプログラムで取得する
[保存] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 |
|---|---|---|
| @output | イベント | @output に統合 |
| properties.Actor.UserPermissions | event.idm.read_only_udm.additional.fields | ループ処理され、各権限が文字列に変換され、キー「UserPermissions」でリストに string_value として追加され、マージされます |
| properties.TargetDisplayNames | event.idm.read_only_udm.additional.fields | ループ処理され、各 TargetDisplayNames が null でない場合は、キー「TargetDisplayNames」でリストに string_value として追加され、マージされます。 |
| properties.TargetObjectIds | event.idm.read_only_udm.additional.fields | ループ処理され、各 TargetObjectIds が文字列に変換され、キー「TargetObjectIds」でリストに string_value として追加され、マージされます。 |
| メタデータ | event.idm.read_only_udm.metadata | メタデータから名前変更 |
| 時間 | event.idm.read_only_udm.metadata.event_timestamp | 時間を ISO8601 に変換しました |
| has_user | event.idm.read_only_udm.metadata.event_type | 派生: has_user == "true" の場合は「USER_UNCATEGORIZED」、それ以外の場合は「GENERIC_EVENT」 |
| operationName | event.idm.read_only_udm.metadata.product_event_type | operationName から取得した値 |
| properties.AuditEventId | event.idm.read_only_udm.metadata.product_log_id | properties.AuditEventId から取得した値 |
| correlationId | event.idm.read_only_udm.network.session_id | correlationId から取得された値 |
| プリンシパル | event.idm.read_only_udm.principal | プリンシパルから名前変更 |
| properties.Actor.Application | event.idm.read_only_udm.principal.application | properties.Actor.Application から取得した値 |
| properties.Actor.ApplicationName | event.idm.read_only_udm.principal.resource.name | properties.Actor.ApplicationName から取得した値 |
| properties.Actor.isDelegatedAdmin | event.idm.read_only_udm.principal.user.attribute.labels | 文字列に変換し、キー「isDelegatedAdmin」と値を持つラベルを作成して統合 |
| properties.Actor.PartnerTenantId | event.idm.read_only_udm.principal.user.attribute.labels | キー「PartnerTenantId」と値(マージ済み)でラベルを作成します |
| security_result | event.idm.read_only_udm.security_result | security_result から統合 |
| category | event.idm.read_only_udm.security_result.category_details | カテゴリから取得した値 |
| resultDescription | event.idm.read_only_udm.security_result.description | resultDescription から取得された値 |
| ID | event.idm.read_only_udm.security_result.detection_fields | キー「identity」と identity の値(マージ済み)でラベルを作成します。 |
| properties.ActivityDate | event.idm.read_only_udm.security_result.detection_fields | キー「ActivityDate」と properties.ActivityDate の値でラベルを作成し、マージします。 |
| properties.ActivityResultStatus | event.idm.read_only_udm.security_result.detection_fields | 文字列に変換し、キー「ActivityResultStatus」と値を持つラベルを作成して、マージ |
| properties.ActivityType | event.idm.read_only_udm.security_result.detection_fields | 文字列に変換し、キー「ActivityType」と値を持つラベルを作成して統合 |
| properties.Actor.ActorType | event.idm.read_only_udm.security_result.detection_fields | 文字列に変換し、キー「ActorType」と値を持つラベルを作成して、統合 |
| properties.Category | event.idm.read_only_udm.security_result.detection_fields | 文字列に変換し、キー「Category」と値を持つラベルを作成して統合 |
| properties.Targets.ModifiedProperties.Name | event.idm.read_only_udm.security_result.detection_fields | キー「Name」と mproper.Name の値(マージ済み)でラベルを作成します。 |
| properties.Targets.ModifiedProperties.New | event.idm.read_only_udm.security_result.detection_fields | キー「New」と mproper.New の値(マージ済み)でラベルを作成します。 |
| properties.Targets.ModifiedProperties.Old | event.idm.read_only_udm.security_result.detection_fields | キー「Old」と mproper.Old の値でラベルを作成し、マージします。 |
| resultType | event.idm.read_only_udm.security_result.summary | resultType から取得された値 |
| ターゲット | event.idm.read_only_udm.target | ターゲットから名前変更 |
| tenantId | event.idm.read_only_udm.target.user.userid | tenantId から取得された値 |
| event.idm.read_only_udm.metadata.product_name | 「Microsoft Intune Context」に設定します。 | |
| event.idm.read_only_udm.metadata.vendor_name | 「Microsoft」に設定 |
ご不明な点がございましたら、コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。