使用 Azure 監視器來監視安全性事件
Azure 監視器活動記錄是 Azure 中的平台記錄,可提供訂閱層級事件的深入解析。 此活動記錄包含像是何時修改資源或啟動虛擬機器的資訊。 您可以在 Azure 入口網站中檢視活動記錄,或使用 PowerShell 和 Azure CLI 來擷取項目。 本文提供有關如何檢視活動記錄,並將其傳送至不同目的地的資訊。
如需更多功能,請建立診斷設定,以將活動記錄檔傳送至下列其中一或多個位置,原因如下:
傳送至 Azure 監視器記錄以進行更複雜的查詢和警示以及更長的保留期 (最長達兩年)。
傳送至 Azure 事件中樞,以在 Azure 外部轉寄。
傳送至 Azure 儲存體,以取得更便宜的長期封存。
活動記錄中的項目會由系統產生,無法變更或刪除。
活動記錄中的項目代表控制平面變更 (例如虛擬機器重新啟動),任何不相關的項目都應寫入 Azure 資源記錄中。
保留期限
活動記錄事件會在 Azure 中保留「90 天」,然後予以刪除。 此期間內的項目不會產生任何成本,不論項目量為何。 如需更多功能 (例如較長的保留期),請根據您的需求,建立診斷設定並將項目路由傳送至另一個位置。 請參閱上一節中的準則。
檢視活動記錄
您可以從 Azure 入口網站的大部分功能表中存取活動記錄。 用來開啟活動記錄的功能表將決定其初始篩選。 如果您從 [監視] 功能表開啟它,則唯一的篩選準則是在訂用帳戶上。 如果您從資源的功能表加以開啟,則篩選會設定為該資源。 您一律可以變更篩選,以檢視所有其他項目。 選取 [新增篩選],以將更多屬性新增至篩選。
下載活動記錄檔
選取 [下載為 CSV] 以下載目前檢視中的事件。
檢視變更歷程記錄
您可以檢視某些事件的 [變更記錄],以顯示該事件時間發生的變更。 從您想要更深入了解的活動記錄中選取事件。 選取 [變更歷程記錄] 索引標籤,以檢視資源在作業時間前後最多 30 分鐘的任何變更。
如果事件有任何相關聯的變更,您將會看到一份可選取的變更清單。 選取變更會開啟 [變更歷程記錄] 頁面。 此頁面會顯示資源的變更。 在下列範例中,您可以看到 VM 已變更大小。
擷取活動記錄事件的其他方法
您也可以使用下列方法來存取活動記錄事件:
- 從 PowerShell 使用 Get-AzLog Cmdlet 來擷取活動記錄。 請參閱 Azure 監視器 PowerShell 範例。
- 從 CLI 使用 az monitor activity-log 來擷取活動記錄。 請參閱 Azure 監視器 CLI 範例。
- 從 REST 用戶端使用 Azure 監視器 REST API 來擷取活動記錄。
傳送至 Log Analytics 工作區
將活動記錄傳送至 Log Analytics 工作區,以啟用 Azure 監視器記錄功能,您可以在其中:
- 將活動記錄資料與 Azure 監視器所收集的其他監視資料相互關聯。
- 將多個 Azure 訂用帳戶和租用戶的記錄項目合併到一起分析的一個位置。
- 使用記錄查詢來執行複雜的分析,並深入了解活動記錄項目。
- 使用記錄警示搭配活動項目,以取得更複雜的警示邏輯。
- 儲存活動記錄項目的時間超過活動記錄保留期間。
- 針對儲存在 Log Analytics 工作區中的活動記錄資料,不會收取任何資料擷取或保留費用。
- Log Analytics 中的預設保留期為 90 天。
選取 [匯出活動記錄],將活動記錄傳送至 Log Analytics 工作區。 您可以將活動記錄從任何單一訂用帳戶傳送到最多五個工作區。
Log Analytics 工作區中的活動記錄資料會儲存在名為 AzureActivity 的資料表中,您可以在 Log Analytics 中使用記錄查詢來擷取。 此資料表的結構會根據記錄項目的類別而有所不同。
在某些情況下,AzureActivity 欄位中的值可能有與其他對等值不同的大小寫。 在查詢 AzureActivity 中的資料以使用不區分大小寫的運算子進行字串比較時,請格外小心,或在任何比較之前使用純量函式強制欄位採用統一大小寫。 例如,在欄位上使用 tolower() 函式,強制它在執行字串比較時一律為小寫或 =~ 運算子。
傳送到 Azure 儲存體
如果您想要保留記錄資料超過 90 天以進行稽核、靜態分析或備份,請將活動記錄傳送至 Azure 儲存體帳戶。 如果您必須保留事件 90 天或更少,則不需要設定封存至儲存體帳戶。 活動記錄檔事件會在 Azure 平台中保留 90 天。
當您將活動記錄傳送至 Azure 時,儲存體帳戶會在事件發生時立即在儲存體帳戶中建立儲存體容器。
個別 Pt1h.json blob 都包含 JSON 物件,其納入 blob URL 指定的小時內所接接收的記錄檔的事件。 在目前的一小時內,事件會在接接收 PT1h.json 檔案時附加至 Pt1h.json 檔案,而不論事件何時產生。 URL 中的分鐘值 m=00 一律為 00,因為 Blob 是每小時建立的。