Microsoft Sentinel
Developer and API

Graph Visualization

In brief

The documentation now explains that only graphs materialized by published graph jobs appear in Graph management, on-demand job graphs are retained for 30 days, scheduled jobs rebuild graphs, and graph queries incur graph-meter charges. It also notes that predefined queries use a default LIMIT clause that can cap visualization results.

What Defender admins need to know

Administrators should account for graph retention and charges, monitor job schedules, and increase or remove query limits when complete results are required. No mandatory action is stated.

Summaries are generated from the documentation change itself.

Documentation change

The comparison below shows only the changed extract. Use the full-page view for complete context.

Prerequisites

  • To access the graph experience in Microsoft Sentinel and query itthe graph experience to produce visualizations, you must have the appropriate permissions. For more information, see Get started with custom graphs in Microsoft Sentinel. Users of Sentinel Scope can't access Sentinel Graphs unless they hold one of four highly privileged roles that override scoping: Security Reader, Security Operator, Security Admin, or Global Admin.

Access graphs

To access the graph experience in Microsoft Sentinel, sign in to the Microsoft Defender portal, select Microsoft Sentinel > Graphs from the navigation pane.

The Sentinel Graph management page lists all custom graphs that you created usingwith the Microsoft Sentinel extension for Visual Studio Code Sentinel extension.and materialized by publishing a graph job. A graph created only in an interactive notebook session isn't available on this page. If you haven't createdpublished a custom graph, see Create a custom graph to get started.

If you already created custom graphs, the Graphs page in Microsoft Sentinel displays all available custom graphs. View an overview of each custom graph by selecting the ... menu on any graph tile.

Graphs published by an on-demand graph job are retained for 30 days and then deleted. Scheduled graph jobs rebuild graphs on their configured refresh schedules. If a graph is missing or its data is stale, review the graph job status and schedule in the Microsoft Sentinel extension for Visual Studio Code.

:::image type="content" source="media/graph-visualization/graphs-landing-page.png" alt-text="Screenshot showing how to access Sentinel graph from the Microsoft Sentinel navigation pane." lightbox="media/graph-visualization/graphs-landing-page.png":::

Select Query graph on the graph tile to view the graph query page.

Graph queries are billed under the Microsoft Sentinel graph meter. For more information, see Graph charges.

View the schema to understand the graph ontology – nodes, edges, and their properties available to query.

:::image type="content" source="media/graph-visualization/graph-creation-schema.png" alt-text="Screenshot showing the Sentinel graph creation page with the schema panel and query input." lightbox="media/graph-visualization/graph-creation-schema.png"::: ``` For more information on using GQL, see Graph Query Language (GQL) reference.

  1. Select Run GQL query to view your results. You can cancel a query mid-execution. Copy the content of your query editor cell to share or save the query elsewhere.

  2. When the query finishes, the graph visualization appears. Some queries use operators like COLLECTLIST that can't be rendered as a graph. These operators are reflected in the table view. In these instances, the graph tab displays a message explaining why a graph can't be rendered

  3. Select any node to view the node details, including the properties associated with that node. Use this information to inform subsequent queries and visualizations.

By default, nodes are grouped on your graph visualization if they are the same node type, and connect to the same origin node by the same edge type. For example, "file" nodes and "accessed by" edges. Grouped nodes are represented by stacked circles on the descriptive layout and diamond shapes on the simplified layout. Node grouping produces a cleaner visualization with fewer nodes, which is important when investigating large graphs. To ungroup nodes, right-click and select ungroup to ungroup all nodes. Select the node group to open a right-hand pane of all nodes within that group. Select individual nodes to ungroup, leaving the unselected nodes in their original grouping. To regroup nodes, right-click on any node that was included in the group and select Regroup.

View node details

Select a node to open a details pane on the right side. Use the metadata shown here to refine future queries—for example, by filtering on geographic region, department, or last updated date.

Explore connected assets

Right-click the node, and select Explore connected assets to traverse the graph and view the next hop from this node. When viewing the detailed renderer, you can also traverse by clicking the plus "+" icon next to a node.

View a tabular representation of your data by selecting the Table tab. From the table, you can:

  • Validate that your GQL query produced the desired results.
  • Search and sort the table to quickly find entities of interest.
  • View the underlying JSON for an individual cell, providing key context that you can use in future queries.
  • Export to CSV format for use in other preexisting workflows. Customize the table format by using the RETURN operator to define the column structure, or order results to your preference. For more information, see the GQL documentation
    1. Select Run GQL query to view your results. You can cancel a query mid-execution. Copy the content of your query editor cell to share or save the query elsewhere.

    2. When the query finishes, the graph visualization appears. Some queries use operators like COLLECTLIST that can't be rendered as a graph. Operators that can't be rendered as a graph are reflected in the table view. When a query uses operators that can't be rendered as a graph, the graph tab displays a message explaining why the graph can't be rendered

    3. Select any node to view the node details, including the properties associated with that node. Use this information to inform subsequent queries and visualizations.

    By default, nodes are grouped on your graph visualization if they are the same node type, and connect to the same origin node by the same edge type. For example, "file" nodes and "accessed by" edges. Grouped nodes are represented by stacked circles on the descriptive layout and diamond shapes on the simplified layout. Node grouping produces a cleaner visualization with fewer nodes, which is important when investigating large graphs. To ungroup nodes, right-click and select ungroup to ungroup all nodes. Select the node group to open a right-hand pane of all nodes within that group. Select individual nodes to ungroup, leaving the unselected nodes in their original grouping. To regroup nodes, right-click on any node that was included in the group and select Regroup.

    View node details

    Select a node to open a details pane on the right side. Use the metadata shown in the details pane to refine future queries—for example, by filtering on geographic region, department, or last updated date.

    Explore connected assets

    Right-click the node, and select Explore connected assets to traverse the graph and view the next hop from this node. When viewing the detailed renderer, you can also traverse by clicking the plus "+" icon next to a node.

    View a tabular representation of your data by selecting the Table tab. From the table, you can:

    • Validate that your Graph Query Language (GQL) query produced the desired results.
    • Search and sort the table to quickly find entities of interest.
    • View the underlying JSON for an individual cell, providing key context that you can use in future queries.
    • Export to CSV format for use in other preexisting workflows. Customize the table format by using the RETURN operator to define the column structure, or order results to your preference. For more information, see the GQL documentation.

    ConfigurationConfigure graph visualization options

    On the bottom right corner of the graph canvas, you can customize your graph visualization with a series of configuration options.

    The first settings button offers a series of customization options for your graph visualization.

    RendererChoose a graph renderer

    To accommodate both targeted investigations and large-scale open exploration, the graph uses two different renderers to produce visualizations. By default, the renderer is set to "auto," which means the graph renders based on the number of displayed nodes. Use either the descriptive or simplified renderer according to your needs. The descriptive renderer is best suited for smaller graphs where detailed granularity is key. It includes small enhancements like plus ("+") icons next to each node for easy graph traversal, and grouped nodes are represented by stacked circles. The simplified renderer is better suited for large graphs with thousands of nodes, scaling for open exploration of the presented data, and represents node groups as diamond shapes.

    The following image below demonstrates the difference between the descriptive renderer on the left and the simplified renderer on the right renderers.right.

    :::image type="content" source="media/graph-visualization/renderer-comparison.png" alt-text="Screenshot showing the difference between the descriptive and simplified renderers in graph visualization." lightbox="media/graph-visualization/renderer-comparison.png":::

    LayoutSelect a graph layout

    You have the option to change the layout of your graph from "force" (default) to "directed." The force layout automatically displays nodes based on their connections, producing an interconnected graph where anomalies are easy to identify. The directed layout follows a stricter structure, organizing nodes top-down in a clean, linear manner. The following image below demonstrates the directed layout.

    :::image type="content" source="media/graph-visualization/directed-layout.png" alt-text="Screenshot showing the directed layout of a graph visualization." lightbox="media/graph-visualization/directed-layout.png":::

    BehaviorConfigure graph interaction behavior

    By default, the "Preserve positions on data change" option is selected. ThisThe "Preserve positions on data change" setting ensures that actions like node connection expansion or grouping/ungrouping don't change the positioning of other nodes. Turning thisoff the "Preserve positions on data change" setting off shifts the positioning of existing nodes when thesenode connection expansion or grouping and ungrouping actions are taken.

    ActionsAvailable graph actions

    Selecting "Realign graph" reverts the graph to its original state.

    LayersConfigure graph layers

    By default, both node and edge labels are visible on the graph, as well as icons for pre-defined graphs. Turn off labels and icons from the settings menu.

    Zoom to fit

    Select the zoom to fit option to reposition your graph so that all nodes are visible and take up the majority of your graph canvas screen. While the "Realign graph" option reverts the graph back to its original state, thisthe zoom to fit option simply fits the graph (with any moved nodes or other customizations) within your screen.