DropboxEventCollector

Modeling Rule

Dropbox

Details

IDDropboxEventCollector
From Version6.10.0

Rules (XIF)

[MODEL: dataset=dropbox_dropbox_raw]
alter
    Get_Event_Type = event_category -> [".tag"],
    assets_array = arraystring(assets -> [], ",")
| alter
    xdm.event.type = Get_Event_Type,
    xdm.event.operation_sub_type = event_type -> [".tag"],
    xdm.event.description = event_type -> description,
    xdm.source.user.user_type = if(actor -> [".tag"] in ("admin","anonymous","reseller","user"),XDM_CONST.USER_TYPE_REGULAR ,actor -> [".tag"] in ("app","dropbox"),XDM_CONST.USER_TYPE_SERVICE_ACCOUNT,to_string(actor -> [".tag"])),
    xdm.source.user.identifier = if(Get_Event_Type != "logins", actor -> user.account_id, context -> account_id),
    xdm.source.user.username = if(Get_Event_Type = "logins" , context -> display_name,  actor -> user.display_name),
    xdm.source.user.upn = if(Get_Event_Type = "logins" ,context -> email , actor -> user.email),
    xdm.source.ipv4 = if(origin -> geo_location.ip_address ~= "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", origin -> geo_location.ip_address),
    xdm.source.ipv6 = if(origin -> geo_location.ip_address ~= "[a-fA-F0-9\:]{1,5}[a-fA-F0-9\:]{1,5}[a-fA-F0-9\:]{1,5}[a-fA-F0-9\:]{1,5}[a-fA-F0-9\:]{1,5}[a-fA-F0-9\:]{1,5}[a-fA-F0-9\:]{1,5}[a-fA-F0-9\:]{1,5}", origin -> geo_location.ip_address),
    xdm.source.location.city = origin -> geo_location.city,
    xdm.source.location.region = origin -> geo_location.region,
    xdm.source.location.country = origin -> geo_location.country,
    xdm.target.user.identifier = if(Get_Event_Type != "logins", context -> account_id),
    xdm.target.user.username = if(Get_Event_Type != "logins", context -> display_name),
    xdm.target.user.upn = if(Get_Event_Type != "logins", context -> email),
    xdm.target.user.groups = arraycreate(context -> team.display_name),
    xdm.target.resource.value = details -> [".tag"],
    xdm.target.url = details -> shared_content_link,
    xdm.target.file.file_type = assets_array -> [".tag"],
    xdm.target.file.path = coalesce(assets_array -> path.contextual, assets_array -> path.namespace_relative.relative_path),
    xdm.target.file.filename = assets_array -> display_name,
    xdm.target.file.size = to_integer(assets_array -> file_size);

Schema

dropbox_dropbox_raw

Field Type Array?
actor string
assets string
context string
details string
event_category string
event_type string
origin string
timestamp datetime
Raw JSON
{
  "dropbox_dropbox_raw": {
    "actor": {
      "type": "string",
      "is_array": false
    },
    "assets": {
      "type": "string",
      "is_array": false
    },
    "context": {
      "type": "string",
      "is_array": false
    },
    "details": {
      "type": "string",
      "is_array": false
    },
    "event_category": {
      "type": "string",
      "is_array": false
    },
    "event_type": {
      "type": "string",
      "is_array": false
    },
    "origin": {
      "type": "string",
      "is_array": false
    },
    "timestamp": {
      "type": "datetime",
      "is_array": false
    }
  }
}