Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní Graph REST API umožňují vypsat a dotazovat se na vlastní grafy v Microsoft Sentinel Data Lake. Tato rozhraní API slouží k programové interakci s vlastními grafy z libovolného klienta HTTP, kanálu automatizace nebo vlastní aplikace.
Další informace o vytváření vlastních grafů najdete v tématu Vytváření vlastních grafů v jezeře Security Data Lake.
Ověřování
Rozhraní Graph REST API používají ověřování nosných tokenů OAuth 2.0. Pokud chcete volat rozhraní API, získejte přístupový token z Microsoft Entra ID a zahrňte ho do Authorization hlavičky každého požadavku.
Získání přístupového tokenu
- Zaregistrujte aplikaci v Microsoft Entra ID nebo použijte existující registraci aplikace. Další informace najdete v tématu Registrace aplikace.
- Udělte aplikaci požadovaná oprávnění pro Microsoft Defender XDR.
- Vyžádejte si přístupový token pomocí toku přihlašovacích údajů klienta OAuth 2.0 nebo jménem přihlášeného uživatele.
Zahrnout token do požadavků
Přidejte token do hlavičky Authorization každého požadavku rozhraní API:
Authorization: Bearer <access_token>
Základní adresa URL
Všechny koncové body rozhraní Graph REST API používají následující základní adresu URL:
https://api.securityplatform.microsoft.com
Výpis grafů
Vypíše všechny vlastní grafy dostupné ve vašem tenantovi.
Požadavek
GET https://api.securityplatform.microsoft.com/graphs/graph-instances?graphTypes=Custom
Text požadavku se nevyžaduje.
Reakce
{
"value": [
{
"name": "custom_graph_10",
"mapFileName": "custom_graph_10",
"mapFileVersion": "1.0.0",
"graphDefinitionName": "custom_graph_10",
"graphDefinitionVersion": "1.0.0",
"refreshFrequency": "00:00:00",
"createTime": "11/04/2025 22:32:43",
"lastUpdateTime": "11/04/2025 22:32:43",
"lastSnapshotTime": "2025-11-04T22:34:04.7105015+00:00",
"lastSnapshotRequestTime": "2025-11-04T22:32:52.0187838+00:00",
"instanceStatus": "Ready"
},
{
"name": "notebook_graph_5",
"mapFileName": null,
"mapFileVersion": null,
"graphDefinitionName": "notebook_graph_5",
"graphDefinitionVersion": "1.0.0",
"refreshFrequency": "00:00:00",
"createTime": "11/04/2025 20:15:22",
"lastUpdateTime": "11/04/2025 20:15:22",
"lastSnapshotTime": null,
"lastSnapshotRequestTime": null,
"instanceStatus": "Creating"
}
]
}
Vlastnosti odpovědi
| Vlastnost | Typ | Popis |
|---|---|---|
name |
String | Název instance grafu. |
mapFileName |
String | Název mapového souboru přidruženého k grafu. |
mapFileVersion |
String | Verze souboru mapy. |
graphDefinitionName |
String | Název definice grafu použité k sestavení této instance. |
graphDefinitionVersion |
String | Verze definice grafu |
refreshFrequency |
String | Jak často se data grafu aktualizují. |
createTime |
String | Kdy byla vytvořena instance grafu. |
lastUpdateTime |
String | Kdy byla instance grafu naposledy aktualizována. |
lastSnapshotTime |
String | Časové razítko posledního snímku dat. |
lastSnapshotRequestTime |
String | Kdy byl požadován poslední snímek. |
instanceStatus |
String | Aktuální stav instance grafu. |
Stavové kódy odpovědí
| Stavový kód | Popis |
|---|---|
| 200 OK | Seznam byl úspěšně načten. |
Dotazování grafu
Dotazování vlastního grafu pomocí jazyka Graph Query Language (GQL) Další informace o GQL najdete v referenčních informacích ke GQL pro graf Microsoft Sentinel.
Poznámka
{graphName} odkazuje na name graf vrácený operací seznamu.
Požadavek
POST https://api.securityplatform.microsoft.com/graphs/graph-instances/{graphName}/query
Content-Type: application/json
Text požadavku
{
"query": "string",
"queryLanguage": "GQL"
}
Vlastnosti textu požadavku
| Vlastnost | Typ | Povinný | Popis |
|---|---|---|---|
query |
String | Ano | Dotaz GQL, který se má spustit. |
queryLanguage |
String | Ano | Dotazovací jazyk. Musí být GQL. |
responseFormats |
Pole řetězců | Ne | Řídí formát odpovědi na dotaz. Přijímá jednu nebo obě následující hodnoty: Table, Graph. Výchozí hodnota je, Table pokud není zadána. |
Formáty odpovědí
Vlastnost responseFormats řídí strukturu odpovědi:
| Formát | Popis |
|---|---|
Table |
Vrátí nezpracovaná tabulková data (výchozí, pokud nejsou zadána). |
Graph |
Vrátí data strukturovaná v grafu s uzly a hrany. |
Můžete požádat o jeden nebo oba formáty:
-
["Table"]– Vrátí pouze formát tabulky. -
["Graph"]– Vrátí pouze formát grafu. -
["Table", "Graph"]– Vrátí oba formáty v odpovědi.
Příklad: Základní dotaz
POST https://api.securityplatform.microsoft.com/graphs/graph-instances/{graphName}/query
Content-Type: application/json
{
"query": "MATCH (u)-[v]->(w) RETURN * LIMIT 2",
"queryLanguage": "GQL"
}
Příklad: Dotaz s oběma formáty odpovědí
POST https://api.securityplatform.microsoft.com/graphs/graph-instances/{graphName}/query
Content-Type: application/json
{
"query": "MATCH (n:User)-[r:HasAccess]->(m:Resource) RETURN n, r, m LIMIT 100",
"responseFormats": ["Table", "Graph"],
"queryLanguage": "GQL"
}
Ukázková odpověď (oba formáty)
{
"status": 200,
"result": {
"rawData": {
"tables": [
{
"tableName": "PrimaryResult",
"columns": [
{
"columnName": "u",
"dataType": "dynamic"
},
{
"columnName": "r",
"dataType": "dynamic"
},
{
"columnName": "g",
"dataType": "dynamic"
}
],
"rows": [
[
{
"oid": "node-user-001",
"labels": ["User"],
"properties": {
"name": "Aino Rebane",
"email": "aino.rebane@contoso.com",
"department": "Engineering"
}
},
{
"oid": "edge-001",
"labels": ["HasRole"],
"sourceOid": "node-user-001",
"targetOid": "node-group-001",
"properties": {
"assignedDate": "2024-01-15T10:30:00Z",
"assignedBy": "admin@contoso.com"
}
},
{
"oid": "node-group-001",
"labels": ["Group"],
"properties": {
"name": "Administrators",
"description": "System administrators group",
"memberCount": 25
}
}
]
]
}
]
},
"graph": {
"nodes": [
{
"id": "node-user-001",
"labels": ["User"],
"properties": {
"name": "Aino Rebane",
"email": "aino.rebane@contoso.com",
"department": "Engineering"
}
},
{
"id": "node-group-001",
"labels": ["Group"],
"properties": {
"name": "Administrators",
"description": "System administrators group",
"memberCount": 25
}
},
{
"id": "node-group-002",
"labels": ["Group"],
"properties": {
"name": "Engineering Team",
"description": "Software engineering team",
"memberCount": 150
}
}
],
"edges": [
{
"id": "edge-001",
"sourceId": "node-user-001",
"targetId": "node-group-001",
"labels": ["HasRole"],
"properties": {
"assignedDate": "2024-01-15T10:30:00Z",
"assignedBy": "admin@contoso.com"
}
},
{
"id": "edge-002",
"sourceId": "node-user-001",
"targetId": "node-group-002",
"labels": ["HasRole"],
"properties": {
"assignedDate": "2024-02-01T14:20:00Z",
"assignedBy": "hr@contoso.com"
}
}
]
}
},
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Stavové kódy odpovědí
| Stavový kód | Popis |
|---|---|
| 200 OK | Dotaz se úspěšně spustil. |
| 404 Nenalezena | Zadaná instance grafu neexistuje. |
Příklad odpovědi na chybu
{
"error": {
"code": "GraphInstanceNotFound",
"message": "Graph Instance CustomGraph1 does not exist.",
"target": null,
"details": []
}
}