Skip to main content
Skip table of contents

Global List Site Mapping

LAST UPDATED: FEB 12, 2025

Global list site mapping is a feature that ensures that events are automatically created in the correct client site based on a unique identifier within the incoming raw ingestion data. This ensures proper site-level segregation, making events accessible only within their assigned site.

To enable this mapping, the integration connection must be configured with the Site field set to Shared to Client Sites.

Impact of Connection Site Configuration on Global List Site Mapping
Frame 1 (47)-20250211-223520.png

Site Configuration: (a) Shared to Internal Sites (b) Shared to Client Sites

Frame 2 (50)-20250211-224711.png

Connection Site: Shared to Internal Sites | Global List for Site Mapping: ABSENT

Frame 5 (31)-20250212-034204.png

Connection Site: Shared to Client Sites | Global List for Site Mapping: PRESENT

Before setting up global list site mapping, MSSPs must coordinate with their clients to identify the field in the incoming ingestion data that will provide the unique identifier for site mapping. Consider the following as the expected incoming ingestion data:

SAMPLE DATA

JSON
{
    "demoField1": "value1",
    "demoField2": "value2",
    "demoField3": {
        "demoField3A": "value3A",
        "demoField3B": {
            "keyToTheUniqueIdentifier": "uniqueIdentifier"
        }
    },
    "demoField4": [
        "value4A",
        "value4B",
        "value4C"
    ],
    "demoField5": "value5"
}

The D3 system will extract the (line 7) value of keyToTheUniqueIdentifier (uniqueIdentifier) and match it against a key in a selected global list to determine the correct client site for event creation.

Frame 4 (43)-20250212-024130.png

Demo Global List – A Global List Containing Site Mappings

  • If a match is found (i.e., uniqueIdentifier), the corresponding value (demo-site) will be used to determine the site where the event will be stored.

  • If no match is found, the event will be assigned to the Unknown Client Site.

Ensuring Correct Site Mapping in Global List

NOTICE

D3 currently does not support moving events between sites once they have been created. Users are advised to double-check that the unique identifier extracted from the incoming data has a corresponding key in the global list and that it maps to an existing client site.

Frame 6 (38)-20250212-190143.png

Verifying Global List Values Against Existing Sites

Once the unique identifier has been defined and communicated to clients, and a corresponding global list has been established, users can proceed with configuring data ingestion. Two pieces of information are needed before completing ingestion setup:

  • The JSON path to locate the unique identifier key ($.demoField3.demoField3B.keyToTheUniqueIdentifier for the sample data above )

  • The name of the global list storing the site mappings (Demo Global List)

Ingestions and Results

Webhook Push
  1. Navigate to the Data Ingestion module.

  2. Add a new webhook ingestion.

    Frame 7 (46)-20250212-200829.png
  3. Select the integration with the pre-configured Shared to Client Sites connection, specify the site as Shared to All Client Sites, choose the authentication method (API Key for this demonstration), and generate an API key if one does not already exist.

    Frame 8 (44)-20250212-201616.png
  4. Select Shared to All Client Sites from the dropdown.

    Frame 9 (45)-20250212-202338.png
  5. Copy the POST request URL from vSOC and paste it into Postman.

    Frame 10 (36)-20250212-202540.png
    Frame 11 (38)-20250212-202921.png
  6. Copy the request header key and value from vSOC and paste them into Postman.

    Frame 12 (37)-20250212-203653.png

  7. Input the JSON path to locate the unique identifier key, then select the global list for site mapping.

    Frame 31 (10)-20250212-233614.png
    1. JSON path: $.demoField3.demoField3B.keyToTheUniqueIdentifier

    2. Global list: Demo Global List

  8. Copy and paste the following code into Postman, then click on the Send button.

    CODE
    {
        "demoField1": "value1",
        "demoField2": "value2",
        "demoField3": {
            "demoField3A": "value3A",
            "demoField3B": {
                "keyToTheUniqueIdentifier": "uniqueIdentifier"
            }
        },
        "demoField4": [
            "value4A",
            "value4B",
            "value4C"
        ],
        "demoField5": "value5"
    }
    Frame 13 (40)-20250212-204205.png
  9. Navigate back to the Data Ingestion module, verify event creation and note the eventId.

    Frame 14 (42)-20250212-204939.png

    Event 4312516 Created

  10. Navigate to the Investigation Dashboard to find the event.

    Frame 20 (18)-20250212-205641.png

    Unmatching Sites from Demo Global List Will Not Have Access to Event 4312516

    Frame 19 (17)-20250212-205749.png

    Only demo-site Will Contain Event 4312516

Scheduled Pull
  1. Copy and paste the following Python code into a custom Fetch Event command:

    PY
    def fetchEvent(startTime, endTime, TopN, SearchCon):
        
        eventData = {
            "id": str(uuid.uuid4()),  # Generate a unique ID for the event
            "demoField1": "value1",
            "demoField2": "value2",
            "demoField3": {
                "demoField3A": "value3A",
                "demoField3B": {
                    "keyToTheUniqueIdentifier": "uniqueIdentifier"
                }
            },
            "demoField4": [
                "value4A",
                "value4B",
                "value4C"
            ],
            "demoField5": "value5"
        }
    
        return pb.returnOutputModel(eventData, eventData, None, eventData, eventData, None)
    Frame 30 (10)-20250212-232033.png
  2. Add a connection with the Site field set to Shared to Client Sites.

    Frame 23 (27)-20250212-232127.png
  3. Test the command and verify that the output contains the intended structure.

    Frame 24 (25)-20250212-232256.png
  4. Submit the command.

    Frame 25 (20)-20250212-232440.png
  5. Set up a new schedule.

    Frame 32 (8)-20250213-031238.png

    JSON Path for Site: $.demoField3.demoField3B.keyToTheUniqueIdentifier

    Global list for Site Mapping: Demo Global List

  6. Navigate to the Data Ingestion module, verify event creation and note the eventId.

    Frame 27 (10)-20250212-232703.png

    Event 4312749 Created

  7. Navigate to the Investigation Dashboard to find the event.

    Frame 20 (18)-20250212-205641.png

    Unmatching Sites from Demo Global List Will Not Have Access to Event 4312749

    Frame 33 (25)-20250213-031520.png

    Only demo-site Will Contain Event 4312749

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.