這很重要
自 2025 年 5 月 1 日起,Azure AD B2C 將不再可供新客戶購買。 在我們的常見問題中深入瞭解。
使用 Azure 監控將 Azure Active Directory B2C (Azure AD B2C) 登入和稽核日誌路由至不同的監視解決方案。 您可以保留記錄以供長期使用,或與第三方安全性資訊和事件管理 (SIEM) 工具整合,以深入瞭解您的環境。
您可以將日誌事件路由傳送至:
- Azure 記憶體帳戶。
- Log Analytics 工作區(用來分析數據、建立儀錶板,以及針對特定事件發出警示)。
- Azure 事件中樞 (並與 Splunk 和 Sumo Logic 實例整合)。
當您打算將 Azure AD B2C 記錄傳輸至不同的監視解決方案或存放庫時,請考慮 Azure AD B2C 記錄包含個人資料。 當您處理此類資料時,確保您在個人資料上使用適當的安全性措施。 其中包括使用適當的技術或組織措施來防止未經授權或非法的處理。
在本文中,您將瞭解如何將記錄傳輸至 Azure Log Analytics 工作區。 然後,您可以建立儀錶板或建立以 Azure AD B2C 用戶活動為基礎的警示。
觀看這段影片,瞭解如何使用 Azure 監視器設定 Azure AD B2C 的監視。
部署概觀
Azure AD B2C 使用 Microsoft Entra 監視。 不同於Microsoft Entra 租使用者,Azure AD B2C 租使用者不能有與其相關聯的訂用帳戶。 因此,我們需要採取額外的步驟,以啟用 Azure AD B2C 與 Log Analytics 之間的整合,這是我們傳送記錄的位置。 若要在 Azure AD B2C 租使用者內的 Microsoft Entra ID 中啟用 診斷設定 ,您可以使用 Azure Lighthouse來委派資源,這可讓您的 Azure AD B2C ( 服務提供者) 管理Microsoft Entra ID ( Customer) 資源。
小提示
Azure Lighthouse 通常用於管理多個客戶的資源。 不過,它也可以用來管理擁有多個 Microsoft Entra 租用戶的企業內部資源,而這正是我們在這裡所做的,只不過我們只是委派單一資源群組的管理權。
完成本文中的步驟之後,您將建立新的資源群組(這裡稱為 azure-ad-b2c-monitor),並存取該相同的資源群組,其中包含 Azure AD B2C 入口網站中的 Log Analytics 工作區。 您也可以將記錄從 Azure AD B2C 傳輸至 Log Analytics 工作區。
在此部署期間,您會授權 Azure AD B2C 目錄中的使用者或群組,以在包含 Azure 訂用帳戶的租用戶內設定 Log Analytics 工作區實例。 若要建立授權,請將 Azure Resource Manager 範本部署至包含 Log Analytics 工作區的訂用帳戶。
下圖描述您將在 Microsoft Entra ID 和 Azure AD B2C 租用戶中設定的元件。
在此部署期間,您將設定產生記錄的 Azure AD B2C 租使用者。 您將設定 Microsoft Entra 租戶以裝載 Log Analytics 工作區。 使用的 Azure AD B2C 帳戶(例如您的系統管理員帳戶)應獲指派 Azure AD B2C 租使用者上的 全域管理員 角色。 您將用來進行部署的 Microsoft Entra 帳戶,必須在 Microsoft Entra 訂用帳戶中被指派 擁有者 角色。 在完成所述的每個步驟時,也請務必確定您登入正確的目錄。
總而言之,您將使用 Azure Lighthouse 來允許 Azure AD B2C 租戶中的使用者或群組管理與不同租戶相關聯的訂閱中的資源群組(Microsoft Entra 租戶)。 完成此授權之後,就可以在 Azure AD B2C 的診斷設定中選取訂用帳戶和記錄分析工作區作為目標。
先決條件
Azure AD B2C 租使用者上具有 全域管理員 角色的 Azure AD B2C 帳戶。
在 Microsoft Entra 訂用帳戶中具有 擁有者 角色的 Microsoft Entra 帳戶。 瞭解如何將 使用者指派為 Azure 訂用帳戶的系統管理員。
1.建立或選擇資源群組
首先,建立或選擇資源群組,其中包含將從 Azure AD B2C 接收數據的目的地 Log Analytics 工作區。 當您部署 Azure Resource Manager 範本時,您將指定資源群組名稱。
- 登入 Azure 入口網站。
- 如果您有多個租戶的存取權,請選取頂端功能表中的設定圖示,從目錄 + 訂用帳戶功能表切換至Microsoft Entra ID 租戶。
- 建立資源群組,或選擇現有的群組。 此範例會使用名為 azure-ad-b2c-monitor 的資源群組。
2.建立 Log Analytics 工作區
Log Analytics 工作區是 Azure 監視器記錄資料的唯一環境。 您將使用此 Log Analytics 工作區從 Azure AD B2C 稽核記錄收集數據,然後使用查詢和活頁簿將其可視化,或建立警示。
- 登入 Azure 入口網站。
- 如果您有多個租戶的存取權,請選取頂端功能表中的設定圖示,從目錄 + 訂用帳戶功能表切換至Microsoft Entra ID 租戶。
- 建立 Log Analytics 工作區。 此範例會在名為 azure-ad-b2c-monitor 的資源群組中使用名為 AzureAdB2C 的 Log Analytics 工作區。
3. 委派資源管理
在此步驟中,您將選擇 Azure AD B2C 租用戶作為 服務提供者。 您也會定義將適當的 Azure 內建角色指派給 Microsoft Entra 租使用者中的群組所需的授權。
3.1 取得 Azure AD B2C 租用戶識別碼
首先,取得 Azure AD B2C 目錄的 租用戶標識碼 (也稱為目錄標識符)。
- 登入 Azure 入口網站。
- 如果您有多個租用戶的存取權,請使用頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租用戶。
- 選取 Microsoft Entra ID,選取 概觀。
- 記錄 [租用戶識別碼]。
3.2 選擇安全群組
現在,選取您想要授與您稍早在包含訂用帳戶之目錄中建立之資源群組許可權的 Azure AD B2C 群組或使用者。
為了簡化管理,我們建議針對每個角色使用 Microsoft Entra 使用者 群組 ,讓您將個別使用者新增或移除至群組,而不是將許可權直接指派給該使用者。 在本教學中,我們將新增安全性群組。
這很重要
若要為 Microsoft Entra 群組新增權限,[群組類型] 必須設為 [安全性]。 建立群組時,會選取此選項。 如需詳細資訊,請參閱使用 Microsoft Entra 建立基本群組並新增成員。
- 在您的 Azure AD B2C 目錄中仍選取 Microsoft Entra ID,選取 群組,然後選取一個群組。 如果您沒有現有的群組,請建立安全性群組,然後新增成員。 如需詳細資訊,請遵循建立 基本群組的程式,並使用 entra ID Microsoft新增成員。
- 選取 [ 概觀],然後記錄群組的物件 標識符。
3.3 建立 Azure Resource Manager 範本
為了在 Azure Lighthouse 中建立自訂授權和委派,我們使用 Azure Resource Manager 範本。 此範本會將 Azure AD B2C 存取權授與您稍早建立的 Microsoft Entra 資源群組,例如 azure-ad-b2c-monitor。 使用 [部署至 Azure] 按鈕從 GitHub 範例部署範本,這會開啟 Azure 入口網站,並可讓您直接在入口網站中設定和部署範本。 針對這些步驟,請確定您已登入 Microsoft Entra 的租戶(而非 Azure AD B2C 的租戶)。
登入 Azure 入口網站。
如果您有多個租戶的存取權,請選取頂端功能表中的設定圖示,從目錄 + 訂用帳戶功能表切換至Microsoft Entra ID 租戶。
使用 [部署至 Azure] 按鈕開啟 Azure 入口網站並直接在入口網站中部署範本。 如需詳細資訊,請參閱建立 Azure Resource Manager 範本。
在 [自訂部署] 頁面上,輸入下列資訊:
領域 定義 訂閱 選取包含 Azure 訂用帳戶的目錄,其中已建立 azure-ad-b2c-monitor 資源群組。 區域 選取將在其中部署資源的區域。 Msp 提案名稱 說明此定義的名稱。 例如, Azure AD B2C 監視。 在 Azure Lighthouse 中將顯示的名稱是這個。 MSP 供應項目名稱在您的 Microsoft Entra 識別碼中必須是唯一的。 若要監視多個 Azure AD B2C 租使用者,請使用不同的名稱。 Msp 供應項目描述 您提案的簡短描述。 例如, 在 Azure AD B2C 中啟用 Azure 監視器。 由租用戶識別碼管理 Azure AD B2C 租戶的 租戶 ID (也稱為目錄 ID)。 授權 指定物件的 JSON 陣列,其中包含 Microsoft Entra ID principalId
、principalIdDisplayName
和 AzureroleDefinitionId
。principalId
是 B2C 群組或使用者的物件識別碼,可存取此 Azure 訂用帳戶中的資源。 在本逐步解說中,請指定您稍早記錄的群組對象識別碼。 對於roleDefinitionId
,使用內建角色值來設定參與者角色,b24988ac-6180-42a0-ab88-20f7382dd24c
。Rg 名稱 您稍早在 Microsoft Entra 租使用者中建立的資源群組名稱。 例如 azure-ad-b2c-monitor。 下列範例示範具有一個安全性群組的 [授權] 陣列。
[ { "principalId": "<Replace with group's OBJECT ID>", "principalIdDisplayName": "Azure AD B2C tenant administrators", "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c" } ]
部署範本之後,資源投影可能需要幾分鐘 (通常不超過五分鐘) 才能完成。 您可以在 Microsoft Entra 租戶中驗證部署,並取得資源預測的詳細資訊。 如需詳細資訊,請參閱檢視和管理服務提供者。
4.選取您的訂用帳戶
部署範本並等候幾分鐘讓資源投影完成之後,請遵循下列步驟,將您的訂用帳戶與您的 Azure AD B2C 目錄產生關聯。
備註
在入口網站設定 | 目錄 + 訂用帳戶頁面上,確保已在目前 + 委派的目錄下選取您的 Azure AD B2C 和 Microsoft Entra 租戶。
註銷Azure 入口,並使用Azure AD B2C系統管理帳戶重新登入。 此帳戶必須是您在 委派資源管理 步驟中指定的安全組成員。 登出並重新登入可在下一個步驟刷新您的工作階段認證。
在入口網站工具列中選取 [設定] 圖示。
在 入口設置 | 目錄 + 訂用帳戶 頁面的 目錄名稱 清單中,尋找包含 Azure 訂用帳戶的 Microsoft Entra ID 目錄,以及您建立的 azure-ad-b2c-monitor 資源群組,然後選取 切換。
確認您已選取正確的目錄,並在 [預設訂用帳戶篩選器] 中列出並選取您的 Azure 訂用帳戶。
5.設定診斷設定
診斷設定會定義應將資源的記錄和計量傳送到何處。 可能的目的地包括:
在此範例中,我們使用 Log Analytics 工作區來建立儀表板。
5.1 建立診斷設定
您已準備好在 Azure 入口網站中 建立診斷設定 。
若要設定 Azure AD B2C 活動記錄的監視設定:
使用您的 Azure AD B2C 系統管理帳戶登入 Azure 入口網站。 此帳戶必須是您在 選取安全組 步驟中指定的安全組成員。
如果您有多個租用戶的存取權,請使用頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租用戶。
選取 [Microsoft Entra ID]
在 [監視] 下,選取 [診斷設定]。
如果資源存在現有的設定,您會看到已設定的設定清單。 選取 [新增診斷設定] 來新增設定,或選取 [編輯設定] 來編輯現有設定。 每個設定中,每種目的地類型最多只能有一個。
如果您的設定還沒有名稱,請為其命名。
選取 [AuditLogs] 和 [SignInLogs]。
選取「傳送至 Log Analytics 工作區」,然後:
- 在 [訂用帳戶] 下,選取您的訂用帳戶。
- 在 [Log Analytics 工作區] 下,選取您稍早建立的工作區名稱,例如
AzureAdB2C
。
備註
Azure AD B2C 租使用者目前僅支援 AuditLogs 和 SignInLogs 診斷設定。
選取 [儲存]。
備註
事件發出后最多可能需要 15 分鐘的時間,才會 出現在 Log Analytics 工作區中。 此外,深入瞭解 Active Directory 報告延遲,這可能會影響數據的過時,並在報告中扮演重要角色。
如果您看到錯誤訊息: 若要設定診斷設定以使用 Azure 監視器作為 Azure AD B2C 目錄,您必須設定委派的資源管理,請務必使用屬於 安全組 成員的使用者登入,然後 選取您的訂用帳戶。
6.將數據可視化
現在您可以設定 Log Analytics 工作區,以將數據可視化並設定警示。 您可以在您的 Microsoft Entra 租使用者和 Azure AD B2C 租使用者中設定這些設定。
6.1 建立查詢
記錄查詢可協助您充分使用 Azure 監視器記錄中收集的資料值。 強大的查詢語言可讓您聯結來自多個資料表的資料、匯總大型資料集,並以最少的程式碼執行複雜作業。 只要已收集支持的數據,您就幾乎可以回答和分析任何問題,而且您瞭解如何建構正確的查詢。 如需詳細資訊,請參閱開始使用 Azure 監視器中的記錄查詢。
登入 Azure 入口網站。
如果您有多個租戶的存取權,請選取頂端功能表中的設定圖示,從目錄 + 訂用帳戶功能表切換至Microsoft Entra ID 租戶。
從 [Log Analytics 工作區] 視窗中,選取 [記錄]
在查詢編輯器中,貼上下列 Kusto 查詢語言查詢。 此查詢會依操作顯示過去 x 天內的政策使用情況。 預設持續時間設定為 90 天 (90d)。 請注意,此查詢僅針對政策發出權杖/代碼的作業。
AuditLogs | where TimeGenerated > ago(90d) | where OperationName contains "issue" | extend UserId=extractjson("$.[0].id",tostring(TargetResources)) | extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails)) | summarize SignInCount = count() by Policy, OperationName | order by SignInCount desc nulls last
選擇 執行。 查詢結果會顯示在畫面底部。
若要儲存您的查詢供稍後使用,請選取 [儲存]。
填入下列詳細資料:
- 名稱:輸入查詢的名稱。
-
另存新檔 - 選擇
query
。 -
類別:選取
Log
。
選取 [儲存]。
您也可以變更查詢,以使用 render 運算子將資料視覺化。
AuditLogs
| where TimeGenerated > ago(90d)
| where OperationName contains "issue"
| extend UserId=extractjson("$.[0].id",tostring(TargetResources))
| extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails))
| summarize SignInCount = count() by Policy
| order by SignInCount desc nulls last
| render piechart
如需更多範例,請參閱 Azure AD B2C SIEM GitHub 存放庫。
6.2 建立活頁簿
活頁簿提供彈性的畫布,可供您用來分析資料,並在 Azure 入口網站中建立豐富的視覺效果報表。 它們可讓您從 Azure 中挖掘多個數據源,並將其結合成統一的互動式體驗。 如需詳細資訊,請參閱 Azure 監視器活頁簿。
請遵循下列指示,使用 JSON 資源庫範本建立新的活頁簿。 此活頁簿提供 Azure AD B2C 租戶的 使用者洞察 和 身份驗證 儀表板。
登入 Azure 入口網站。
如果您有多個租戶的存取權,請選取頂端功能表中的設定圖示,從目錄 + 訂用帳戶功能表切換至Microsoft Entra ID 租戶。
從 [Log Analytics 工作區] 視窗中,選取 [ 活頁簿]。
從工具列中,選取 [+ 新增 ] 選項以建立新的活頁簿。
在 [新增活頁簿] 頁面上,使用 選項選取 [<]。
選取 畫廊範本。
將圖庫範本中的 JSON 替換為來自 Azure AD B2C 基本工作簿的內容。
按下 套用 按鈕以套用範本。
從工具列選取 [完成編輯] 按鈕,以完成編輯活頁簿。
最後,使用工具列中的 [ 儲存 ] 按鈕儲存活頁簿。
提供 標題,例如 Azure AD B2C 儀錶板。
選取 [儲存]。
活頁簿會以儀錶板的形式顯示報表。
建立警示
警示是由 Azure 監視器中的警示規則所建立,並可定期自動執行已儲存的查詢或自定義記錄搜尋。 您可以根據特定效能計量或特定事件發生時建立警示。 您也可以建立針對事件缺失的警報,或者在特定時間範圍內發生一定數量事件時的警報。 例如,警示可用來在平均登入數目超過特定閾值時通知您。 如需詳細資訊,請參閱建立警示。
使用以下說明創建新的 Azure 警報,每當總請求數與上一時間段相比下降 25% 時,該警報將發送電子郵件通知。 警示會每隔 5 分鐘執行一次,並在最後一小時內尋找與前一小時相比的下降。 警示是使用 Kusto 查詢語言建立的。
登入 Azure 入口網站。
如果您有多個租戶的存取權,請選取頂端功能表中的設定圖示,從目錄 + 訂用帳戶功能表切換至Microsoft Entra ID 租戶。
從 Log Analytics 工作區中,選取 [ 記錄]。
使用此查詢建立新的 Kusto 查詢 。
let start = ago(2h); let end = now(); let threshold = -25; //25% decrease in total requests. AuditLogs | serialize TimeGenerated, CorrelationId, Result | make-series TotalRequests=dcount(CorrelationId) on TimeGenerated from start to end step 1h | mvexpand TimeGenerated, TotalRequests | serialize TotalRequests, TimeGenerated, TimeGeneratedFormatted=format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd [HH:mm:ss]') | project TimeGeneratedFormatted, TotalRequests, PercentageChange= ((toreal(TotalRequests) - toreal(prev(TotalRequests,1)))/toreal(prev(TotalRequests,1)))*100 | order by TimeGeneratedFormatted desc | where PercentageChange <= threshold //Trigger's alert rule if matched.
選取 [執行],以測試查詢。 如果過去一小時內請求總數下降了 25% 或更多,您應該會看到結果。
若要根據此查詢建立警示規則,請使用工具列中可用的 [+ 新增警示規則 ] 選項。
在 [ 建立警示規則] 頁面上,選取 [ 條件名稱]
在 [ 設定訊號邏輯 ] 頁面上,設定下列值,然後使用 [完成 ] 按鈕來儲存變更。
- 警示邏輯:設定大於0的結果數目。
- 評估依據:針對期間(分鐘)選取 120 ,並針對頻率選取 5 (以分鐘為單位)
建立警示之後,請移至 Log Analytics工作區 ,然後選取 [ 警示]。 此頁面會顯示 [ 時間範圍 ] 選項所設定期間內觸發的所有警示。
設定動作群組
Azure 監視器和服務健康狀態警示使用動作群組來通知使用者警示已被觸發。 您可以包括傳送語音電話、簡訊、電子郵件;或觸發各種類型的自動化動作。 遵循在 Azure 入口網站中建立和管理動作群組的指引
以下是警示通知電子郵件的範例。
多位租戶
若要將多個 Azure AD B2C 租用戶記錄上架到相同的 Log Analytics 工作區(或 Azure 記憶體帳戶或事件中樞),您需要使用不同的 Msp 供應專案名稱 值進行個別部署。 請確定 Log Analytics 工作區位於與您在 建立或選擇資源群組中所設定的資源群組相同。
使用多個 Log Analytics 工作區時,請使用 跨工作區查詢 來建立跨多個工作區運作的查詢。 例如,下列查詢會根據相同類別執行來自不同租使用者的兩個稽核記錄聯結(例如驗證):
workspace("AD-B2C-TENANT1").AuditLogs
| join workspace("AD-B2C-TENANT2").AuditLogs
on $left.Category== $right.Category
變更資料保留期間
Azure 監視器記錄旨在擴展並支援每天從企業或已部署在 Azure 的任何來源收集、編製索引和儲存大量資料。 根據預設,記錄保留 30 天,但保留期間最多可延長至兩年。 了解如何使用 Azure 監視器記錄來管理使用量和成本。 選取定價層之後,您可以變更資料保留期間。
停用監視資料收集
若要停止收集 Log Analytics 工作區的記錄,請刪除您建立的診斷設定。 您將持續因保留已收集到工作區的記錄資料而產生費用。 如果不再需要收集的監視資料,您可以刪除 Log Analytics 工作區和您為 Azure 監視器建立的資源群組。 刪除 Log Analytics 工作區會刪除工作區中的所有資料,並防止產生額外的資料保留費用。
刪除 Log Analytics 工作區和資源群組
- 登入 Azure 入口網站。
- 如果您有多個租戶的存取權,請選取頂端功能表中的設定圖示,從目錄 + 訂用帳戶功能表切換至Microsoft Entra ID 租戶。
- 選擇包含 Log Analytics 工作區的資源群組。 此範例會使用名為 azure-ad-b2c-monitor 的資源群組,以及名為的
AzureAdB2C
Log Analytics 工作區。 - 刪除 Logs Analytics 工作區。
- 選取 [刪除] 按鈕以刪除資源群組。
後續步驟
在 Azure AD B2C SIEM 資源庫中尋找更多範例。
如需在 Azure 監視器中新增和設定診斷設定的詳細資訊,請參閱 教學課程:從 Azure 資源收集和分析資源記錄。
如需將 Microsoft Entra 記錄串流至事件中樞的相關資訊,請參閱 教學課程:將 Microsoft Entra 記錄串流至 Azure 事件中樞。