/*------------------------------- ----------- RULES ------------- ------------------------------- */ [RULE: ibm_maas360_map_common_event_fields] alter ipv4 = if(IP_Address ~= "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",IP_Address ,null), ipv6 = if(IP_Address ~= "^((?:[a-fA-F\d]{0,4}\:){2,7}[a-fA-F\d]{0,4})$",IP_Address ,null), xdm.event.type = source_log_type; /*----------------------------------------- ------------ MODELING RULES ------------- ----------------------------------------- */ [MODEL: dataset = "ibm_maas360_security_raw"] //Modeling Rules -> Admin changes audit filter source_log_type = "admin_changes_audit" | call ibm_maas360_map_common_event_fields | alter is_added = if(len(Roles_Added) = 0 , null, Roles_Added), is_deleted = if(len(Roles_Deleted) = 0 , null, Roles_Deleted) | alter temp_added_description = if(is_added != null,concat("The user was added to role '",is_added,"'"), null), temp_deleted_description = if(is_deleted != null,concat("The user was removed from role '", is_deleted,"'"),null), temp_added_deleted_description = if(is_added != null and is_deleted != null, concat("The user was added to a role '", is_added , "' and ", "was removed from '",is_deleted,"'" )) | alter xdm.source.user.username = Performed_By, xdm.source.identity.username = Performed_By, xdm.event.operation = Operation_Type, xdm.source.ipv4 = ipv4, xdm.source.ipv6 = ipv6, xdm.target.user.upn = E_mail, xdm.target.identity.upn = E_mail, xdm.target.user.username = Username, xdm.target.identity.username = Username, xdm.target.user.first_name = First_Name, xdm.target.identity.first_name = First_Name, xdm.target.user.middle_name = Middle_Name, xdm.target.identity.middle_name = Middle_Name, xdm.target.user.last_name = Last_Name, xdm.target.identity.last_name = Last_Name, xdm.event.description = coalesce(temp_added_deleted_description,temp_deleted_description,temp_added_description); //Modeling Rules -> Admin login report filter source_log_type = "admin_login_report" | call ibm_maas360_map_common_event_fields | alter xdm.source.user.username = Username, xdm.source.identity.username = Username, xdm.source.ipv4 = ipv4, xdm.source.ipv6 = ipv6, xdm.event.outcome = if(Auth_Status = "Successful", XDM_CONST.OUTCOME_SUCCESS, Auth_Status = "User Authentication Failed" or Auth_Status = "Device Authentication Failed", XDM_CONST.OUTCOME_FAILED, Auth_Status = null, null, to_string(Auth_Status)), xdm.source.host.os = Operating_System, xdm.network.http.browser = Browser_Version;