收集 Microsoft Azure AD Context 記錄

支援的國家/地區:

本文說明如何設定 Google Security Operations 資訊提供,以收集 Microsoft Azure Active Directory (AD) 記錄。

Azure Active Directory (AZURE_AD) 現在稱為 Microsoft Entra ID。Azure AD 稽核記錄 (AZURE_AD_AUDIT) 現在稱為 Microsoft Entra ID 稽核記錄。

詳情請參閱「將資料擷取至 Google Security Operations」。

擷取標籤會識別剖析器,該剖析器會將原始記錄資料正規化為具結構性的 UDM 格式。

事前準備

請確認您已完成下列事前準備事項:

  • 可登入的 Azure 訂用帳戶
  • 全域管理員或 Azure AD 管理員角色
  • Azure 中的 Azure AD (租用戶)

如何設定 Azure AD

  1. 登入 Azure 入口網站。
  2. 依序前往「首頁」>「應用程式註冊」,選取已註冊的應用程式,或註冊應用程式 (如果尚未建立應用程式)。
  3. 如要註冊應用程式,請在「App registration」部分點選「New registration」
  4. 在「名稱」欄位中,提供應用程式的顯示名稱。
  5. 在「支援的帳戶類型」部分,選取所需選項,指定可使用應用程式或存取 API 的對象。
  6. 按一下「註冊」
  7. 前往「總覽」頁面,複製應用程式 (用戶端) ID 和目錄 (租戶) ID,這些 ID 是設定 Google Security Operations 資訊動態饋給時的必要資訊。
  8. 按一下「API 權限」
  9. 按一下「Add a permission」,然後在新窗格中選取「Microsoft Graph」
  10. 按一下「應用程式權限」
  11. 選取「AuditLog.Read.All」、「Directory.Read.All」和「SecurityEvents.Read.All」權限。確認權限為「應用程式權限」,而非「委派權限」
  12. 按一下「Grant admin consent for default directory」(為預設目錄授予管理員同意)。應用程式獲得使用者或管理員在同意程序中授予的權限後,即可呼叫 API。
  13. 依序前往「設定」>「管理」
  14. 按一下「憑證和密鑰」
  15. 按一下「新增用戶端密碼」。「Value」(值) 欄位會顯示用戶端密碼。
  16. 複製用戶端密鑰值。這個值只會在建立時顯示,而且是 Azure 應用程式註冊和設定 Google Security Operations 資訊動態饋給的必要條件。

設定動態饋給

在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:

  • 「SIEM 設定」>「動態消息」
  • 內容中心 > 內容包

依序前往「SIEM 設定」>「動態消息」,設定動態消息

如要為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。

如要設定單一動態饋給,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱,例如「Azure AD Context Logs」
  5. 選取「第三方 API」做為「來源類型」
  6. 選取「Azure AD 組織內容」做為「記錄類型」
  7. 點選「下一步」
  8. 設定下列必要輸入參數:
    • OAUTH 用戶端 ID:指定您先前取得的用戶端 ID。
    • OAUTH 用戶端密鑰:指定先前取得的用戶端密鑰。
    • 租戶 ID:指定您先前取得的租戶 ID。
  9. 依序點按「繼續」和「提交」

如要進一步瞭解 Google Security Operations 動態消息,請參閱 Google Security Operations 動態消息說明文件。如要瞭解各動態饋給類型的規定,請參閱「依類型設定動態饋給」。如果在建立動態饋給時遇到問題,請與 Google Security Operations 支援團隊聯絡

從內容中心設定動態饋給

為下列欄位指定值:

  • OAUTH 用戶端 ID:指定您先前取得的用戶端 ID。
  • OAUTH 用戶端密鑰:指定先前取得的用戶端密鑰。
  • 租戶 ID:指定您先前取得的租戶 ID。

進階選項

  • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
  • 來源類型:將記錄收集到 Google SecOps 的方法。
  • 資產命名空間與動態饋給相關聯的命名空間
  • 擷取標籤:套用至這個動態饋給所有事件的標籤。

欄位對應參考資料

這個剖析器程式碼會將 Azure Active Directory 的原始 JSON 格式記錄轉換為統一資料模型 (UDM)。這項服務會擷取使用者和管理員資訊,包括屬性、角色、關係和標籤,同時處理各種資料不一致的情況,並以標準化欄位豐富輸出內容。

UDM 對應表

記錄欄位 UDM 對應 邏輯
businessPhones user.phone_numbers 直接從原始記錄中的 businessPhones 欄位對應。系統會擷取多組電話號碼,並對應為個別項目。
city user.personal_address.city 直接從原始記錄中的 city 欄位對應。
companyName user.company_name 直接從原始記錄中的 companyName 欄位對應。
國家/地區 user.personal_address.country_or_region 直接從原始記錄中的 country 欄位對應。如果 country 為空,則會從 usageLocation 取值。
createdDateTime user.attribute.creation_time 使用 RFC 3339 格式,從原始記錄的 createdDateTime 欄位轉換為時間戳記。
部門 user.department 直接從原始記錄中的 department 欄位對應。系統會擷取多個部門,並對應為個別項目。
displayName user.user_display_name 直接從原始記錄中的 displayName 欄位對應。
employeeId user.employee_id 直接從原始記錄中的 employeeId 欄位對應。如果 employeeId 為空,則會從 extension_employeeNumber 取值。
employeeType user.attribute.labels.value (key: employeeType) 直接從原始記錄中的 employeeType 欄位對應,並以索引鍵 employeeType 新增為標籤。
extension_employeeNumber user.employee_id 如果 employeeId 為空,則會對應至 user.employee_id
extension_wfc_AccountType event.idm.entity.entity.labels.value (key: wfc_AccountType) 直接從原始記錄中的 extension_wfc_AccountType 欄位對應,並以索引鍵 wfc_AccountType 新增為標籤。
extension_wfc_AccountingUnitName event.idm.entity.entity.labels.value (key: extension_wfc_AccountingUnitName) 直接從原始記錄中的 extension_wfc_AccountingUnitName 欄位對應,並以索引鍵 extension_wfc_AccountingUnitName 新增為標籤。
extension_wfc_execDescription event.idm.entity.entity.labels.value (key: extension_wfc_execDescription) 直接從原始記錄中的 extension_wfc_execDescription 欄位對應,並以索引鍵 extension_wfc_execDescription 新增為標籤。
extension_wfc_groupDescription event.idm.entity.entity.labels.value (key: extension_wfc_groupDescription) 直接從原始記錄中的 extension_wfc_groupDescription 欄位對應,並以索引鍵 extension_wfc_groupDescription 新增為標籤。
extension_wfc_orgDescription event.idm.entity.entity.labels.value (key: extension_wfc_orgDescription) 直接從原始記錄中的 extension_wfc_orgDescription 欄位對應,並以索引鍵 extension_wfc_orgDescription 新增為標籤。
givenName user.first_name 直接從原始記錄中的 givenName 欄位對應。
gopher-devices event.idm.entity.relations gopher-devices 陣列中的每個裝置都會對應到個別的關係項目。deviceId 會對應至 product_object_idoperatingSystemoperatingSystemVersion 會合併為 platform_versionmodel 會直接對應,而 createdDateTime 會轉換為時間戳記並對應至 created_timestamp。關係設為 OWNS,方向設為 UNIDIRECTIONAL
gopher-groups event.idm.entity.relations gopher-groups 陣列中的每個群組都會對應到個別的關係項目。id 對應至 product_object_id,而 displayName 對應至 group_display_name。關係設為 MEMBER,方向設為 UNIDIRECTIONAL
gopher-manager.businessPhones empmanager.phone_numbers 如果 manager 為空,則會對應至 empmanager.phone_numbers
gopher-manager.country empmanager.personal_address.country_or_region 如果 manager 為空,則會對應至 empmanager.personal_address.country_or_region。如果 gopher-manager.countrygopher-manager.usageLocation 皆為空值,則該欄位會留空。
gopher-manager.department empmanager.department 如果 manager 為空,則會對應至 empmanager.department
gopher-manager.displayName empmanager.user_display_name 如果 manager 為空,則會對應至 empmanager.user_display_name
gopher-manager.employeeId empmanager.employee_id 如果 manager 為空值且 gopher-manager.employeeId 不是空值,則會對應至 empmanager.employee_id
gopher-manager.extension_employeeNumber empmanager.employee_id 如果 managergopher-manager.employeeId 為空值,且 gopher-manager.extension_employeeNumber 不是空值,則會對應至 empmanager.employee_id
gopher-manager.givenName empmanager.first_name 如果 manager 為空,則會對應至 empmanager.first_name
gopher-manager.id empmanager.product_object_id 如果 manager 為空,則會對應至 empmanager.product_object_id
gopher-manager.jobTitle empmanager.title 如果 manager 為空,則會對應至 empmanager.title
gopher-manager.mail empmanager.email_addresses 如果 manager 為空,則會對應至 empmanager.email_addresses
gopher-manager.onPremisesImmutableId user.attribute.labels.value (key: gopher-manager onPremisesImmutableId) 對應為鍵為 gopher-manager onPremisesImmutableId 的標籤。
gopher-manager.onPremisesSamAccountName empmanager.userid 如果 manager 為空,則會對應至 empmanager.userid
gopher-manager.onPremisesSecurityIdentifier empmanager.windows_sid 如果 manager 為空,則會對應至 empmanager.windows_sid
gopher-manager.proxyAddresses empmanager.email_addresses、empmanager.group_identifiers 如果 manager 為空,系統會根據 gopher-manager.proxyAddresses 陣列中的每個地址是否以「smtp」或「SMTP」開頭,將其對應至 empmanager.email_addressesempmanager.group_identifiers
gopher-manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (key: refreshTokensValidFromDateTime) 如果 manager 為空,則會對應為具有 refreshTokensValidFromDateTime 鍵的標籤。
gopher-manager.streetAddress empmanager.personal_address.name 如果 manager 為空,則會對應至 empmanager.personal_address.name
gopher-manager.surname empmanager.last_name 如果 manager 為空,則會對應至 empmanager.last_name
gopher-manager.usageLocation user.attribute.labels.value (key: manager_src_usageLocation) 對應為鍵為 manager_src_usageLocation 的標籤。
gopher-manager.userType empmanager.attribute.roles.name 如果 manager 為空,則會對應至 empmanager.attribute.roles.name
id user.product_object_id 直接從原始記錄中的 id 欄位對應。
身分 user.attribute.labels.value (key: signInType)、user.attribute.labels.value (key: userPrincipalName) signInType 會對應為標籤,且鍵為 signInType。如果 signInTypeuserPrincipalName 不為空白,系統會將兩者合併,並以鍵 userPrincipalName 對應為標籤。
jobTitle user.title 直接從原始記錄中的 jobTitle 欄位對應。
mail user.email_addresses 直接從原始記錄中的 mail 欄位對應。如果 mail 開頭為「svc-」,則 user_role.type 會設為 SERVICE_ACCOUNT
mailNickname user.attribute.labels.value (key: mailNickname) 直接從原始記錄中的 mailNickname 欄位對應,並以索引鍵 mailNickname 新增為標籤。
manager.businessPhones empmanager.phone_numbers 如果 gopher-manager 為空,則會對應至 empmanager.phone_numbers
manager.city empmanager.personal_address.city 如果 gopher-manager 為空,則會對應至 empmanager.personal_address.city
manager.companyName empmanager.company_name 如果 gopher-manager 為空,則會對應至 empmanager.company_name
manager.country empmanager.personal_address.country_or_region 如果 gopher-manager 為空,則會對應至 empmanager.personal_address.country_or_region。如果 manager.countrymanager.usageLocation 皆為空值,則該欄位會留空。
manager.department empmanager.department 如果 gopher-manager 為空,則會對應至 empmanager.department
manager.displayName empmanager.user_display_name 如果 gopher-manager 為空,則會對應至 empmanager.user_display_name
manager.employeeId empmanager.employee_id 如果 gopher-manager 為空值且 manager.employeeId 不是空值,則會對應至 empmanager.employee_id
manager.extension_employeeNumber empmanager.employee_id 如果 gopher-managermanager.employeeId 為空值,且 manager.extension_employeeNumber 不是空值,則會對應至 empmanager.employee_id
manager.givenName empmanager.first_name 如果 gopher-manager 為空,則會對應至 empmanager.first_name
manager.id empmanager.product_object_id 如果 gopher-manager 為空,則會對應至 empmanager.product_object_id
manager.jobTitle empmanager.title 如果 gopher-manager 為空,則會對應至 empmanager.title
manager.mail empmanager.email_addresses 如果 gopher-manager 為空,則會對應至 empmanager.email_addresses
manager.onPremisesSamAccountName empmanager.userid 如果 gopher-manager 為空,則會對應至 empmanager.userid
manager.onPremisesSecurityIdentifier empmanager.windows_sid 如果 gopher-manager 為空,則會對應至 empmanager.windows_sid
manager.proxyAddresses empmanager.email_addresses、empmanager.group_identifiers 如果 gopher-manager 為空,系統會根據 manager.proxyAddresses 陣列中的每個地址是否以「smtp」或「SMTP」開頭,將其對應至 empmanager.email_addressesempmanager.group_identifiers
manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (key: refreshTokensValidFromDateTime) 如果 gopher-manager 為空,則會對應為具有 refreshTokensValidFromDateTime 鍵的標籤。
manager.state empmanager.personal_address.state 如果 gopher-manager 為空,則會對應至 empmanager.personal_address.state
manager.streetAddress empmanager.personal_address.name 如果 gopher-manager 為空,則會對應至 empmanager.personal_address.name
manager.surname empmanager.last_name 如果 gopher-manager 為空,則會對應至 empmanager.last_name
manager.usageLocation user.attribute.labels.value (key: manager_src_usageLocation)、empmanager.personal_address.country_or_region 對應為鍵為 manager_src_usageLocation 的標籤。如果 manager.country 為空,值也會對應至 empmanager.personal_address.country_or_region
manager.userType empmanager.attribute.roles.name 如果 gopher-manager 為空,則會對應至 empmanager.attribute.roles.name
onPremisesDistinguishedName user.attribute.labels.value (key: onPremisesDistinguishedName)、user.attribute.labels.value (key: onPremisesDistinguishedName-OU data) 完整辨別名稱會對應為標籤,索引鍵為 onPremisesDistinguishedName。系統會擷取識別名稱的 OU 部分,並以 onPremisesDistinguishedName-OU data 鍵對應為標籤。如果 OU 部分包含「Admin」,user_role.type 會設為 ADMINISTRATOR。如果包含「服務帳戶」,則 user_role.type 會設為 SERVICE_ACCOUNT
onPremisesDomainName user.group_identifiers、user.attribute.labels.value (key: onPremisesDomainName) 直接對應至 user.group_identifiers,並以 onPremisesDomainName 鍵新增為標籤。
onPremisesImmutableId user.attribute.labels.value (key: onPremisesImmutableId) 直接從原始記錄中的 onPremisesImmutableId 欄位對應,並以索引鍵 onPremisesImmutableId 新增為標籤。
onPremisesSamAccountName user.userid、user.attribute.labels.value (key: onPremisesSamAccountName) 如果 sAMAccountName 為空,則會對應至 user.userid。也會以鍵 onPremisesSamAccountName 新增為標籤。
onPremisesSecurityIdentifier user.windows_sid 直接從原始記錄中的 onPremisesSecurityIdentifier 欄位對應。
proxyAddresses user.email_addresses、user.group_identifiers proxyAddresses 陣列中的每個地址都會對應至 user.email_addressesuser.group_identifiers,視地址是否以「smtp」或「SMTP」開頭而定。如果地址開頭為「smtp」或「SMTP」,系統會移除「smtp:」或「SMTP:」前置字元,並擷取剩餘的電子郵件地址,然後對應至 user.email_addresses
refreshTokensValidFromDateTime user.attribute.labels.value (key: refreshTokensValidFromDateTime) 直接從原始記錄中的 refreshTokensValidFromDateTime 欄位對應,並以索引鍵 refreshTokensValidFromDateTime 新增為標籤。
sAMAccountName user.userid 直接從原始記錄中的 sAMAccountName 欄位對應。
state user.personal_address.state 直接從原始記錄中的 state 欄位對應。
streetAddress user.personal_address.name 直接從原始記錄中的 streetAddress 欄位對應。
surname user.last_name 直接從原始記錄中的 surname 欄位對應。
usageLocation user.personal_address.country_or_region 如果 country 為空,則值會對應至 user.personal_address.country_or_region
userPrincipalName user.email_addresses 直接從原始記錄中的 userPrincipalName 欄位對應。如果 userPrincipalName 開頭為「svc-」,則 user_role.type 會設為 SERVICE_ACCOUNT
userType user.attribute.roles.name 直接從原始記錄檔的 userType 欄位對應,並新增至 user.attribute.roles.name
剖析器邏輯 UDM 對應 邏輯
不適用 event.idm.entity.metadata.vendor_name 設為「Microsoft」。
不適用 event.idm.entity.metadata.product_name 設為「Azure Active Directory」。
不適用 event.idm.entity.metadata.entity_type 設為「USER」。
不適用 event.idm.entity.metadata.collected_timestamp 設為原始記錄中的 create_time 欄位。
accountEnabled user.user_authentication_status、user.attribute.labels.value (鍵:accountEnabled) 如果 accountEnabled 為 true,user.user_authentication_status 會設為「ACTIVE」,並新增鍵為 accountEnabled、值為「true」的標籤。否則,系統會新增鍵為 accountEnabled 且值為「false」的標籤。
empmanager-src.accountEnabled user.user_authentication_status、user.attribute.labels.value (鍵:accountEnabled) 如果 manager 為空且 empmanager-src.accountEnabled 為「true」,則 user.user_authentication_status 會設為「ACTIVE」,並新增鍵為 accountEnabled 且值為「true」的標籤。否則,系統會新增鍵為 accountEnabled 且值為「false」的標籤。
onPremisesDistinguishedName user_role.type 如果識別名稱的 OU 部分包含「Admin」,則 user_role.type 會設為 ADMINISTRATOR。如果包含「服務帳戶」,則 user_role.type 會設為 SERVICE_ACCOUNT
userPrincipalName user_role.type 如果 userPrincipalName 開頭為「svc-」,則 user_role.type 會設為 SERVICE_ACCOUNT
empmanager-src.onPremisesDistinguishedName manager_role.type 如果 gopher-manager 為空,且管理員識別名稱的 OU 部分包含「Users」,則 manager_role.type 會設為 ADMINISTRATOR。如果包含「服務帳戶」,則 manager_role.type 會設為 SERVICE_ACCOUNT
empmanager-src.userPrincipalName manager_role.type 如果 gopher-manager 為空,且 empmanager-src.userPrincipalName 開頭為「svc-」,則 manager_role.type 會設為 SERVICE_ACCOUNT
mail user_role.type 如果 mail 開頭為「svc-」,則 user_role.type 會設為 SERVICE_ACCOUNT

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。