共用方式為


適用於 SAP 應用程式的 Microsoft Sentinel 解決方案 - 函式參考

本文說明在安裝適用於 SAP 應用程式的Microsoft Sentinel 解決方案之後,工作區中可用的函式。 在 sentinel 中流覽 Microsoft並載入函式程式碼,以探索更多函式。

尋找函式,如下所示:

  • 在 [Azure 入口網站] 的 [一般>記錄] 頁面上的 [函式] 索引標籤上,並列在 [工作區] 函式底下
  • 在 Defender 入口網站的 [調查與回應>進階搜捕] 頁面上,於 [函式] 索引標籤上,並列在 Sentinel 工作區函式底下

本文中的內容適用於您的 安全性 小組。

在查詢中使用函式,而不是基礎記錄或數據表

強烈建議您盡可能使用本文所列的函式作為其分析主體,而不是基礎記錄或數據表

這些函式的目的是做為數據的主要用戶介面。 它們會形成您現成可用的所有內建分析規則和活頁簿的基礎。 使用函式可讓您變更函式底下的數據基礎結構,而不會中斷使用者建立的內容。

SAPUsersAssignments

SAPUsersAssignments 函式會從多個 SAP 數據源收集數據,並建立以使用者為中心的目前使用者主要數據檢視,包括目前指派的角色和配置檔。

此函式摘要說明角色和設定檔的使用者指派,並傳回下列資料:

欄位 描述 數據來源/附注
User SAP 使用者識別碼 僅限 SAL
電子郵件 SMTP 位址 USR21 (SMTP_ADDR)
UserType 使用者類型 USR02 (USTYP)
時區 Time zone USR02 (TZONE)
LockedStatus 鎖定狀態 USR02 (UFLAG)
LastSeenDate 上次看到日期 USR02 (TRDAT)
LastSeenTime 上次出現時間 USR02 (LTIME)
UserGroupAuth 使用者主要維護中的使用者群組 USR02 (CLASS)
設定檔 設定檔案集 (預設最大設定大小 = 50) ["Profile 1", "Profile 2",...,"profile 50"]
DirectRoles 直接指定角色集 (預設最大設定大小 = 50) ["Role 1", "Role 2",...,"”"Role 50"]
ChildRoles 一組間接指派的角色(預設最大設定大小 = 50) ["Role 1", "Role 2",...,"”"Role 50"]
用戶端 Client ID
SystemID 系統識別碼 如連接器中所定義

SAPUsersGetPrivileged

SAPUsersGetPrivileged 函式會傳回每個用戶端和系統識別碼的特殊許可權用戶清單。

當使用者符合下列任何描述時,會被視為具有特殊許可權:

  • 它們列在 SAP - 特殊許可權使用者 關注清單中
  • 它們會指派給 SAP - 敏感性設定檔關注清單中所列的配置檔
  • 它們會新增至 SAP - 敏感性角色關注清單中所列的角色

參數:

名稱 選擇性/必要 預設 描述
TimeAgo 選擇性 七天 判斷函式會從 值所 TimeAgo 定義的時間搜尋使用者主要數據,直到值所定義 now() 的時間為止。

SAPUsersGetPrivileged 函式會傳回下列數據:

欄位 描述
User SAP 使用者識別碼
用戶端 Client ID
SystemID 系統識別碼

SAPUsersAuthorizations

SAPUsersAuthorizations 函式會將來自數個數據表的數據結合在一起,以產生目前角色和指派授權的使用者中心檢視。 只會傳回具有作用中角色和授權指派的使用者。

參數:

名稱 選擇性/必要 預設 描述
TimeAgo 選擇性 七天 判斷函式會從 值所 TimeAgo 定義的時間搜尋使用者主要數據,直到值所定義 now() 的時間為止。

SAPUsersAuthorizations 函式會傳回下列數據:

欄位 描述 附註
User SAP 使用者識別碼
角色 角色集 (預設最大設定大小 = 50) ["Role 1", "Role 2",...,"Role 50"]
AuthorizationsDetails 授權集 (預設最大集大小 = 100) {{AuthorizationsDetails1},
{AuthorizationsDetails2},
...,
{AuthorizationsDetails100}}
用戶端 Client ID
SystemID 系統識別碼

SAPConnectorHealth

SAPConnectorHealth 函式會反映代理程式的狀態和基礎 SAP 系統的連線能力。 根據活動訊號記錄 檔SAP_HeartBeat_CL 和其他健康情況指標,它會傳回下列數據:

欄位 描述
代理程式 代理程式設定中的代理程式識別碼 (自動產生)
SystemID SAP 系統識別碼
狀態 整體連線狀態
詳細資料 連線詳細資料
ExtendedDetails 線上擴充詳細數據
LastSeen 最新活動的時間戳
StatusCode 反映系統狀態的程序代碼

SAPConnectorOverview

SAPConnectorOverview 函式會顯示每個系統識別碼每個 SAP 數據表的數據列計數。 它會傳回每個系統標識碼的數據記錄清單,以及其產生的時間。

參數:

名稱 選擇性/必要 預設 描述
TimeAgo 選擇性 七天 判斷函式會從 值所 TimeAgo 定義的時間搜尋使用者主要數據,直到值所定義 now() 的時間為止。

SAPConnectorOverview 函式會傳回下列數據:

欄位 描述
TimeGenerated 記錄產生時間戳的日期時間值
SystemID_s 表示 SAP 系統識別碼的字串

使用下列 Kusto 查詢來執行每日趨勢分析:

SAPConnectorOverview(7d)
| summarize count() by bin(TimeGenerated, 1d), SystemID_s

SAPUsersEmail

SAPUsersEmail 函式可讓 SAP 使用者的電子郵件位址與每個 SAP 系統和用戶端的效能導向查閱,通常用來將它與 Active Directory 帳戶產生關聯。

SAPUsersEmail 函式會使用從 SAP 資料表 USR21 (使用者名稱/位址金鑰指派) 和 ADR6 (電子郵件位址) 擷取的數據來尋找電子郵件位址。 如果找不到電子郵件位址,則會改為傳回使用者標識碼。

此行為可確保通常未與電子郵件地址相關聯的 SAP 服務帳戶,例如 DDIC,會記錄為虛擬 AD 帳戶。 這也開闢了一些UEBA功能,協助調查事件和狩獵活動。

SAPUsersEmail 函式會傳回下列數據:

欄位 描述
ClientID SAP 用戶端識別碼
SystemID SAP 系統識別碼
User SAP 使用者識別碼
電子郵件 SAP 使用者的電子郵件位址

SAPSystems

SAPSystems 函式可用來集中呈現使用 SAP - Systems 監看清單所建立的個別系統組態。

參數:

名稱 選擇性/必要 預設 描述
SelectedSystems 選擇性 All Systems 用來篩選特定SAP系統
SelectedSystemRoles 選擇性 All System Roles 決定要查看的 SAP 系統角色,如 SAP - Systems 監看清單中所定義

SAPSystems 函式會傳回下列數據:

欄位 描述 數據來源/附注
SearchKey 搜尋索引鍵 SAP 系統識別碼的索引欄位
SystemRole SAP 系統的角色 生產、UAT
SystemUsage SAP 系統的主要用法 ERP、CRM
SystemID SAP 系統識別碼

SAPAuditLogConfiguration

SAPAuditLogConfiguration 函式會將 SAP 稽核記錄警示的本機設定傳回為 sentinel 啟用 Microsoft 的 Log Analytics 工作區。 此設定用於 SAP 稽核記錄相關警示。

SAPAuditLogConfiguration 函式會聯結 SAP 動態稽核記錄監視器組態SAP - 系統監看列表中的數據,以在每個系統角色的工作中提供個別系統設定。

參數:

名稱 選擇性/必要 預設 描述
SelectedSystems 選擇性 All Systems 用來篩選要查看的特定SAP系統。
SelectedSystemRoles 選擇性 All System Roles 決定要查看的 SAP 系統角色(如 SAP - Systems 關注清單中所定義)。
SelectedSeverities 選擇性 [HighMedium] 用來判斷要根據其嚴重性來查看的事件。 每個 SAP 稽核記錄訊息識別碼和系統角色的嚴重性定義於 SAP_Dynamic_Audit_Log_Monitor_Configuration 關注清單中。
SelectedRuleTypes 選擇性 All RuleTypes 判斷哪些事件與偵測異常有關。 每個 SAP 稽核記錄訊息識別碼和系統角色的規則類型都會定義在 SAP_Dynamic_Audit_Log_Monitor_Configuration 關注清單中。

SAPAuditLogConfiguration 函式會傳回下列數據:

欄位 描述 數據來源/附注
CategoryName SAP 指定的事件類別目錄 SAP 動態稽核記錄監視器設定 監看清單
DestinationEmail 指派小組的電子郵件位址 SAP 動態稽核記錄監視器設定 監看清單
DetailedDescription 要顯示在警示上的 Markdown 格式化文字 SAP 動態稽核記錄監視器設定 監看清單
MessageID SAP 稽核記錄訊息標識碼 SAP 動態稽核記錄監視器設定 監看清單
MessageText 範例消息正文 SAP 動態稽核記錄監視器設定 監看清單
RolesTagsToExclude ABAP 角色、配置檔或自由文字標記 SAP 動態稽核記錄監視器設定 監看清單
RuleType 異常或決定性 SAP 動態稽核記錄監視器設定 監看清單
策略 MITRE ATTA&CK 策略 SAP 動態稽核記錄監視器設定 監看清單
TeamsChannelID Teams 通道 SAP 動態稽核記錄監視器設定 監看清單
SystemID SAP 系統識別碼 SAP - 系統 監看清單
SystemRole SAP 系統的角色 SAP - 系統 監看清單
SystemUsage SAP 系統的主要用法 SAP - 系統 監看清單
IsProd 生產系統旗標 SAP - 系統 監看清單
嚴重性 衍生嚴重性 每個系統使用量的嚴重性
臨界值 衍生的臨界值 每個系統使用量的事件計數
BagOfDetails 詳細數據袋 詳細描述事件定義的字典

如需詳細資訊,請參閱 可用的關注清單

SAPAuditLogAnomalies

SAPAuditLogAnomalies 函式會使用Microsoft Sentinel 的基礎 Kusto 資料庫內建機器學習功能,協助偵測 SAP 稽核記錄檔上觀察到的異常事件。

SAPAuditLogAnomalies 函式是針對 SAP - (實驗性) 動態異常型稽核記錄監視器警示分析規則所開發。 雖然其原始設計是警示最近的異常,但它也可以協助醒目提示歷史異常。 如需詳細資訊,請參閱 範例用法

SAPAuditLogAnomalies 函式會在下列層級瞭解不同輸入參數所定義的歷程記錄配量:

  • User
  • 網路屬性
  • 系統
  • 季節性
  • 活動層級

SAPAuditLogAnomalies式接著會根據所學到的內容、套用閾值和其他從 SAP 稽核記錄組態監看清單取得的可設定排除準則,判斷在最後DetectingTime一次範圍內發生的事件。

一旦用戶活動的滑動視窗被視為異常,第二個查詢會將整個用戶活動當做支持決策的證據傳回。

參數:

名稱 選擇性/必要 預設 描述
LearningTime 選擇性 14 天 決定用於模型學習的時間範圍。
DetectingTime 選擇性 一個小時 決定要查看以偵測異常的時間範圍。 呼叫此函式,以 DetectingTime = 0h 反白顯示整個 LearningTime 時間範圍中的異常狀況。
SelectedSystems 選擇性 All Systems 用來篩選要查看的特定SAP系統。
SelectedSystemRoles 選擇性 All System Roles 決定要查看的 SAP 系統角色,如 SAP - Systems 監看清單中所定義
SelectedSeverities 選擇性 [HighMedium] 用來判斷要根據其嚴重性來查看的事件。 每個 SAP 稽核記錄訊息識別碼和系統角色的嚴重性定義於 SAP_Dynamic_Audit_Log_Monitor_Configuration 關注清單中。
SelectedPrefixMask 選擇性 24 用來判斷用於學習和偵測的子網掩碼層級。
SelectedRuleTypes 選擇性 AnomaliesOnly 判斷哪些事件與偵測異常有關。 每個 SAP 稽核記錄訊息識別碼和系統角色的規則類型都會定義在 SAP_Dynamic_Audit_Log_Monitor_Configuration 關注清單中。

SAPAuditLogAnomalies 函式會傳回下列數據:

欄位 描述
SAPAuditLog 中的多個字段 SAP 稽核記錄中的索引鍵欄位
SAPAuditLogConfiguration 中的多個字段 SAP 稽核記錄組態Microsoft Sentinel 的主要欄位
DiscoveredOn 觀察到異常的四捨五入小時
EventCount 傳回的每個數據列所計算的事件數目
AnomalCount 相關滑動窗口中觀察到的事件數目
MinTime 觀察到第一個事件的時間
MaxTime 觀察到的最後一個事件時間
分數 異常模型所產生的異常分數

建議

如同任何機器學習解決方案, SAPAuditLogAnomalies 函式會隨著時間而執行得更好,並視需要視需要進行調整。

我們建議使用許多可用的輸入參數,限制所學習資料庫的大小低於 1 億筆記錄。

範例用法包括

  • 若要搜尋過去一小時內在生產系統上針對在SAP_Dynamic_Audit_Log_Monitor_Configuration關注清單中標示為 AnomaliesOnly 的事件類型,搜尋高嚴重性事件的異常狀況,請執行:

    SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=1h, SelectedSystemRoles= dynamic(["Production"]), 
    SelectedSeverities= dynamic(["High"]), SelectedRuleTypes= dynamic(["AnomaliesOnly"]))
    
  • 若要在 BIP 系統中搜尋過去 14 天內的所有異常,請執行:

    SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=0h, SelectedSystems= dynamic(["BIP"]))
    

如需詳細資訊,請參閱內建的 SAP 分析規則,以使用適用於 SAP 解決方案的 Microsoft Sentinel 監視 SAP 稽核記錄和 SAP 稽核記錄上的異常偵測(部落格)。

SAPAuditLogConfigRecommend

SAPAuditLogConfigRecommend 是協助程式函式,其設計目的是提供 SAP - 動態異常型稽核記錄監視器警示 (預覽) 分析規則設定的建議

如需詳細資訊,請參閱 監視 SAP 稽核記錄

SAPUsersGetVIP

適用於 SAP 應用程式的 Microsoft Sentinel 解決方案會使用中央用戶標記和明確排除的概念,其設計目的是要協助您以最少的努力降低誤判。

使用 SAPUsersGetVIP 函式,藉由指定代表這些使用者的 SAP 使用者角色、SAP 使用者函式或標籤,排除使用者無法觸發警示。 如需詳細資訊,請參閱處理 Microsoft Sentinel 中的誤報

指定為 SAPUsersGetVIP 函式輸入的標記會排除SAP_User_Config關注清單中所列標籤標的所有使用者。 相同的功能擴充為使用通配符,可讓您將單一標記指派給具有相同命名語法的使用者群組。

  1. 標記SAP_User_Config關注清單中的使用者,如下所示:

    • 視需要, 將多個標籤新增至SAP_User_Config 關注清單中的每個使用者,以涵蓋各種案例。 每個警示規則都有自己的相關標籤,如果有的話,您可以視需要新增自定義標籤。

    • 使用星號 \ 作為通配符,以包含具有特定命名語法範本的使用者。

  2. 分析規則中新增 SAPUsersGetVIP 函式,以要求您已定義要從警示中排除的用戶清單。 在函式呼叫中,新增具有您想要排除的標記、SAP 角色和 SAP 配置文件的數位。

例如,在分析規則中使用下列 KQL 查詢來排除在SAP_User_Config關注清單中以 RunObsoleteProgOK 標記設定的任何使用者,或是具有範例SAP_BASIS_ADMIN_ROLE角色或範例SAP_ADMIN_PROFILE配置檔的任何使用者。

複製此範例函式呼叫時,請視需要以您自己的 SAP 角色或設定檔取代 SAP_BASIS_ADMIN_ROLE 角色和 SAP_ADMIN_PROFILE 配置檔。

例如:

// Execution of Obsolete/Insecure Program
let ObsoletePrograms = _GetWatchlist("SAP - Obsolete Programs");
// here you can exclude system users which are OK to run obsolete/ sensitive programs
// by adding those users in the SAP_User_Config watchlist with a tag of 'RunObsoleteProgOK'
// can also specify SAP roles or SAP profiles that group the users you would like to exclude
let excludeUsersTagsRolesProfiles= dynamic(["RunObsoleteProgOK","SAP_BASIS_ADMIN_ROLE", "SAP_ADMIN_PROFILE"]);
let excludedUsers= SAPUsersGetVIP(SearchForTags= excludeUsersTagsRolesProfiles)| summarize by User2Exclude=SAPUser;
// Query logic
SAPAuditLog
| where MessageID == 'AUW'
| where ABAPProgramName in (ObsoletePrograms) // The program is obsolete
| join kind=leftantisemi excludedUsers on $left.User == $right.User2Exclude

SAPUsersGetVIP 函式通常用於確定性和異常稽核記錄監視器警示。 將標籤與 SAP 稽核記錄訊息標識碼產生關聯,或將規則範本延伸至符合您組織需求的自定義規則。

提示

建議您連絡 SAP 系統管理員,以瞭解要包含在SAP_User_Config關注清單中哪些 SAP 使用者、角色和配置檔。

參數:

名稱 選擇性/必要 預設 描述
SearchForTags 選擇性 dynamic('All Tags') 當 等於 All TagsSearchForTags,所有用戶都會連同其標籤一起傳回。

否則,只會傳回包含 中 SearchForTags 指定標籤、SAP 角色或 SAP 設定檔的使用者。 TagsIntersect 會顯示找到的標記,並 IntersectionSize 保留找到的標籤。
SpecialFocusTags 選擇性 Do not return any in-focus users 傳回所有在 中 SpecialFocusTags加上指定標記的使用者,並以標記這些標記 specialFocusTagged = true

SAPUsersGetVIP 函式會傳回下列輸出:

來源 欄位 描述 附註
SAP_User_Config關注清單 SearchKey 搜尋索引鍵
SAP_User_Config關注清單 SAPUser SAP 使用者 OSS、DDIC
SAP_User_Config關注清單 Tags 指派給使用者的標記字串 RunObsoleteProgOK
SAP_User_Config關注清單 使用者的 Microsoft Entra 物件識別碼 Microsoft Entra 物件識別碼
SAP_User_Config關注清單 使用者識別碼 Azure Directory 用戶標識碼
SAP_User_Config關注清單 用戶內部部署 SID
SAP_User_Config關注清單 使用者主體名稱
SAP_User_Config關注清單 TagsList 指派給使用者的標籤清單 ChangeUserMasterDataOK;RunObsoleteProgOK
邏輯 TagsIntersect 符合的一組標籤 SearchForTags [“ChangeUserMasterDataOK”,“RunObsoleteProgOK”]
邏輯 SpecialFocusTagged 特殊焦點指示 True, False
邏輯 IntersectionSize 交集標記的數目

SAPUsersHeader

SAPUsersHeader 函式的設計目的是要提供 SAP 使用者的高階檢視。 它會使用從 SAP 使用者主要數據表和 SAP 稽核記錄上最近活動擷取的數據來收集電子郵件和 IP 位址。 然後,它會傳回最後一個已知的電子郵件和IP位址,以及主要電子郵件和IP位址。

參數:

名稱 選擇性/必要 預設 描述
SelectedSystems 選擇性 All Systems 用來篩選要查看的特定SAP系統
SelectedSystemRoles 選擇性 All System Roles 決定要查看的 SAP 系統角色,如 SAP - Systems 關注清單中所定義
SelectedUsers 選擇性 All Users 可以輸入用戶清單。
SelectedUser 選擇性 All Users 僅接受單一使用者。

例如:

SelectedSystemRoles:dynamic = dynamic(["All System Roles"]) SelectedSystems:dynamic = dynamic(["All Systems"]) SelectedUsers:dynamic = dynamic(["All Users"]) SelectedUser:string = "All Users"

提示

針對效能考慮,只會考慮幾天的稽核活動。 如需用戶活動的完整歷程記錄,請針對 SAPAuditLog 函式執行自定義 KQL 查詢。

SAPUsersHeader 函式會傳回下列輸出:

來源 欄位 描述 附註
User SAP 使用者
SAP 數據表 ADR6 和 USR21 電子郵件 取自使用者的主要數據 OSS、DDIC
SAP 數據表 USR02 UserType 指派給使用者的標記字串 RunObsoleteProgOK
SAP 數據表 USR02 時區 Microsoft Entra 物件識別碼
SAP 數據表 USR02 LockedStatus Azure Directory 用戶標識碼
SAP 稽核記錄 LastSeen 時間戳 用戶觀察到的最後一個稽核事件
SAP 稽核記錄 LastSeenDaysAgo 過去天數 LastSeen
SAP 稽核記錄 PrimaryIP 最常使用的IP位址 ChangeUserMasterDataOK;RunObsoleteProgOK
SAP 稽核記錄 LastKnownIP 最近使用的IP位址 [“ChangeUserMasterDataOK”,“RunObsoleteProgOK”]
SAP 稽核記錄 PrimaryEmail 最常使用的電子郵件位址 True, False
SAP 稽核記錄 KnownIPs 已知IP位址清單 依最頻繁的第一個排序
SAP 稽核記錄 KnownEmails 已知電子郵件地址清單 依最頻繁的第一個排序
用戶端 SAP 用戶端識別碼
SystemID SAP 系統識別碼
SystemRole SAP 系統的角色 生產、UAT
SystemUsage SAP 系統的主要用法 ERP、CRM

如需詳細資訊,請參閱