將 Microsoft 365 Identity Protection 與 Google SecOps 整合
本文說明如何將 Microsoft 365 Identity Protection 與 Google Security Operations (Google SecOps) 整合。
必要條件
在 Google SecOps 平台中設定整合功能前,請先完成下列必要步驟:
建立 Microsoft Entra 應用程式。
設定應用程式的 API 權限。
建立用戶端密鑰。
建立 Microsoft Entra 應用程式
以使用者管理員或密碼管理員的身分登入 Azure 入口網站。
選取「Microsoft Entra ID」。
依序前往「App registrations」>「New registration」。
輸入應用程式名稱。
按一下「註冊」。
儲存「Application (client) ID」和「Directory (tenant) ID」值,稍後設定整合參數時會用到。
設定 API 權限
依序前往「API Permissions」>「Add a permission」。
選取「Microsoft Graph」。
在「Select Permissions」(選取權限) 部分,選取下列權限:
IdentityRiskEvent.Read.AllIdentityRiskyUser.ReadWrite.All
按一下「Add permissions」。
按一下「Grant admin consent for
YOUR_ORGANIZATION_NAME」。畫面顯示「Grant admin consent confirmation」對話方塊時,按一下「Yes」。
建立用戶端密鑰
依序前往「Certificates and secrets」(憑證和密鑰) >「New client secret」(新增用戶端密鑰)。
提供用戶端密鑰的說明,並設定到期期限。
按一下「新增」。
儲存用戶端密鑰的值 (而非密鑰 ID),以便在設定整合時,將其做為
Client Secret參數值使用。用戶端密鑰值只會顯示一次。
整合參數
請使用下列參數設定整合:
| 參數顯示名稱 | 類型 | 預設值 | 為必填 | 說明 |
|---|---|---|---|---|
| 登入 API 根層級 | 字串 | https://login.microsoftonline.com | 否 | 用於向 Microsoft Identity Platform 驗證身分的 API 根目錄。 |
| API 根層級 | 字串 | https://graph.microsoft.com | 是 | Microsoft 365 Identity Protection 執行個體的 API 根目錄。 |
| 用戶群 ID | 字串 | 不適用 | 是 | Microsoft 365 Identity Protection 帳戶的租戶 ID。 |
| 用戶端 ID | 字串 | 不適用 | 是 | Microsoft 365 Identity Protection 帳戶的用戶端 ID。 |
| 用戶端密鑰 | 密碼 | 不適用 | 是 | Microsoft 365 Identity Protection 帳戶的用戶端密鑰。 |
| 驗證 SSL | 核取方塊 | 已勾選 | 是 | 如果啟用,系統會驗證連至 Microsoft 365 Identity Protection 伺服器的 SSL 憑證是否有效。 |
如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。
如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。
乒乓
測試與 Microsoft 365 Identity Protection 的連線能力。
參數
不適用
執行日期
這項動作不會對實體執行,也沒有必要輸入參數。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
案件總覽
| 結果類型 | 值/說明 | 類型 (實體 \ 一般) |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果成功:「已成功使用提供的連線參數連線至 Azure AD Identity Protection 伺服器!」 動作應失敗並停止執行應對手冊: 如果不成功:「無法連線至 Azure AD Identity Protection 伺服器!錯誤為 {0}".format(exception.stacktrace) |
一般 |
充實實體
使用 Microsoft 365 Identity Protection 的資訊擴充實體。支援的實體:使用者名稱、電子郵件地址 (符合電子郵件規則運算式模式的使用者實體)。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填 | 說明 |
|---|---|---|---|---|
| 建立洞察 | 核取方塊 | 已勾選 | 否 | 如果啟用,這項動作會建立一項洞察,其中包含擷取到的所有實體相關資訊。 |
執行日期
這項動作會對「使用者名稱」實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
"id": "2600d017-84a1-444f-94ba-4bebed30b09e",
"isDeleted": false,
"isProcessing": false,
"riskLevel": "none",
"riskState": "remediated",
"riskDetail": "userPerformedSecuredPasswordChange",
"riskLastUpdatedDateTime": "2021-09-02T14:10:48Z",
"userDisplayName": "user_1",
"userPrincipalName": "user_1@example.com"
}
實體充實
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| is_deleted | JSON 格式 (如有) |
| is_processing | JSON 格式 (如有) |
| risk_level | JSON 格式 (如有) |
| risk_state | JSON 格式 (如有) |
| risk_detail | JSON 格式 (如有) |
| risk_updated | JSON 格式 (如有) |
| display_name | JSON 格式 (如有) |
| principal_name | JSON 格式 (如有) |
案件總覽
| 結果類型 | 值/說明 | 類型 (實體 \ 一般) |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果一個實體有可用資料 (is_success=true):「已成功使用 Azure AD Identity Protection 的資訊擴充下列實體:{entity.identifier}」。 如果無法取得某個實體的資料 (is_success=true):「動作無法使用 Azure AD Identity Protection 的資訊充實下列實體:{entity.identifier}」。 如果所有實體都沒有資料 (is_success=false):「提供的實體都沒有經過擴充。」 動作應失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『擴充實體』動作時發生錯誤。原因:{0}''.format(error.Stacktrace) |
一般 |
| 案件總覽表格 | 資料表名稱:{entity.identifier} 表格欄:
|
實體 |
更新使用者狀態
更新 Microsoft 365 Identity Protection 中的使用者狀態。支援的實體:使用者名稱、電子郵件地址 (符合電子郵件規則運算式模式的使用者實體)。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填 | 說明 |
|---|---|---|---|---|
| 狀態 | DDL | 遭駭 可能的值:
|
否 | 指定使用者的狀態。 |
執行日期
這項動作會對「使用者名稱」實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
案件總覽
| 結果類型 | 值/說明 | 類型 (實體 \ 一般) |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果系統回報一位使用者的 204 狀態碼 (is_success=true):「已成功更新下列使用者在 Azure AD Identity Protection 中的狀態:{entity identifier}」。 如果找不到某位使用者 (is_success=true):「在 Azure AD Identity Protection 中找不到下列使用者:{entity.identifier}」 如果找不到所有使用者 (is_success=true): 「在 Azure AD Identity Protection 中找不到任何提供的使用者。」 動作應失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『更新使用者狀態』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)' |
一般 |
連接器
如要進一步瞭解如何在 Google SecOps 中設定連接器,請參閱「擷取資料 (連接器)」。
Azure AD Identity Protection - Risk Detections 連接器
從 Microsoft 365 Identity Protection 提取風險偵測相關資訊。
動態清單篩選器可與 riskEventType 參數搭配使用。
連接器參數
使用下列參數設定連接器:
| 參數顯示名稱 | 類型 | 預設值 | 為必填 | 說明 |
|---|---|---|---|---|
| 登入 API 根層級 | 字串 | https://login.microsoftonline.com | 否 | 用於向 Microsoft Identity Platform 驗證身分的 API 根目錄。 |
| API 根層級 | 字串 | https://graph.microsoft.com | 是 | Microsoft 365 Identity Protection 執行個體的 API 根目錄。 |
| 產品欄位名稱 | 字串 | 產品名稱 | 是 |
儲存產品名稱的欄位名稱。 產品名稱主要會影響對應。為簡化及改善連接器的對應程序,預設值會解析為程式碼參照的備用值。如果這個參數的輸入內容無效,預設會解析為備用值。 預設值為 |
| 事件欄位名稱 | 字串 | riskEventType | 是 | 決定事件名稱 (子類型) 的欄位名稱。 |
| 環境欄位名稱 | 字串 | "" | 否 | 儲存環境名稱的欄位名稱。 如果缺少環境欄位,連接器會使用預設值。 |
Environment Regex Pattern |
字串 | .* | 否 |
規則運算式模式,用於對 使用預設值 如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為預設環境。 |
| PythonProcessTimeout | 整數 | 180 | 是 | 執行目前指令碼的 Python 程序逾時限制 (以秒為單位)。 |
| API 根層級 | 字串 | https://graph.microsoft.com | 是 | Microsoft 365 Identity Protection 執行個體的 API 根目錄。 |
| 用戶群 ID | 字串 | 不適用 | 是 | Microsoft 365 Identity Protection 帳戶的租戶 ID。 |
| 用戶端 ID | 字串 | 不適用 | 是 | Microsoft 365 Identity Protection 帳戶的用戶端 ID。 |
| 用戶端密鑰 | 密碼 | 不適用 | 是 | Microsoft 365 Identity Protection 帳戶的用戶端密鑰。 |
| 要擷取的最低風險等級 | 字串 | 不適用 | 否 | 擷取快訊時,必須使用的最低風險。 可能的值: 如未指定值,連接器會擷取所有風險等級的風險偵測項目。 |
| 往回查詢時數上限 | 整數 | 1 | 否 | 要擷取風險偵測項目的時數。 |
| 要擷取的警告數量上限 | 整數 | 100 | 否 | 每次連接器疊代要處理的警告數量。 |
Use whitelist as a blacklist |
核取方塊 | 已取消勾選 | 是 | 如果選取,連接器會將動態清單做為封鎖清單。 |
| 驗證 SSL | 核取方塊 | 已勾選 | 是 | 如果選取,整合功能會在連線至 Microsoft 365 Identity Protection 伺服器時驗證 SSL 憑證。 |
| Proxy 伺服器位址 | 字串 | 不適用 | 否 | 要使用的 Proxy 伺服器位址。 |
| Proxy 使用者名稱 | 字串 | 不適用 | 否 | 用於驗證的 Proxy 使用者名稱。 |
| Proxy 密碼 | 密碼 | 不適用 | 否 | 用於驗證的 Proxy 密碼。 |
連接器規則
連接器支援 Proxy。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。