Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Jeśli jesteś klientem rządowym USA, użyj identyfikatorów URI wymienionych w Ochrona punktu końcowego w usłudze Microsoft Defender dla klientów rządowych USA.
Porada
Aby uzyskać lepszą wydajność, użyj serwera bliżej geolokalizacji:
- us.api.security.microsoft.com
- eu.api.security.microsoft.com
- uk.api.security.microsoft.com
- au.api.security.microsoft.com
- swa.api.security.microsoft.com
- ina.api.security.microsoft.com
- aea.api.security.microsoft.com
Uruchom zaawansowane zapytania przy użyciu języka Python, zobacz Advanced Hunting API (Zaawansowany interfejs API wyszukiwania zagrożeń).
W tej sekcji udostępnimy przykłady języka Python, aby pobrać token i użyć go do uruchomienia zapytania.
Wymagania wstępne: najpierw musisz utworzyć aplikację.
Uzyskiwanie tokenu
- Uruchom następujące polecenia:
import json
import urllib.request
import urllib.parse
tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here
appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here
appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here
url = "https://login.microsoftonline.com/%s/oauth2/token" % (tenantId)
resourceAppIdUri = 'https://api.securitycenter.microsoft.com'
body = {
'resource' : resourceAppIdUri,
'client_id' : appId,
'client_secret' : appSecret,
'grant_type' : 'client_credentials'
}
data = urllib.parse.urlencode(body).encode("utf-8")
req = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)
jsonResponse = json.loads(response.read())
aadToken = jsonResponse["access_token"]
Gdzie
- tenantId: identyfikator dzierżawy, w imieniu której chcesz uruchomić zapytanie (tj. zapytanie jest uruchamiane na danych tej dzierżawy)
- appId: identyfikator aplikacji Microsoft Entra (aplikacja musi mieć uprawnienie "Uruchamianie zaawansowanych zapytań" do Ochrona punktu końcowego w usłudze Microsoft Defender)
- appSecret: wpis tajny aplikacji Microsoft Entra
Uruchamianie zapytania
Uruchom następujące zapytanie:
query = 'DeviceRegistryEvents | limit 10' # Paste your own query here
url = "https://api.securitycenter.microsoft.com/api/advancedqueries/run"
headers = {
'Content-Type' : 'application/json',
'Accept' : 'application/json',
'Authorization' : "Bearer " + aadToken
}
data = json.dumps({ 'Query' : query }).encode("utf-8")
req = urllib.request.Request(url, data, headers)
response = urllib.request.urlopen(req)
jsonResponse = json.loads(response.read())
schema = jsonResponse["Schema"]
results = jsonResponse["Results"]
- schemat zawiera schemat wyników zapytania
- wyniki zawierają wyniki zapytania
Złożone zapytania
Jeśli chcesz uruchamiać złożone zapytania (lub zapytania wielowierszowe), zapisz zapytanie w pliku i zamiast pierwszego wiersza w powyższym przykładzie uruchom poniższe polecenie:
queryFile = open("D:\\Temp\\myQuery.txt", 'r') # Replace with the path to your file
query = queryFile.read()
queryFile.close()
Praca z wynikami zapytań
Teraz możesz użyć wyników zapytania.
Aby iterować wyniki, użyj następującego polecenia:
for result in results:
print(result) # Prints the whole result
print(result["EventTime"]) # Prints only the property 'EventTime' from the result
Aby wyświetlić wyniki zapytania w formacie CSV w pliku file1.csv użyj następującego polecenia:
import csv
outputFile = open("D:\\Temp\\file1.csv", 'w')
output = csv.writer(outputFile)
output.writerow(results[0].keys())
for result in results:
output.writerow(result.values())
outputFile.close()
Aby wyświetlić wyniki zapytania w formacie JSON w pliku file1.json użyj następującego polecenia:
outputFile = open("D:\\Temp\\file1.json", 'w')
json.dump(results, outputFile)
outputFile.close()
Temat pokrewny
- interfejsy API Ochrona punktu końcowego w usłudze Microsoft Defender
- Zaawansowany interfejs API wyszukiwania zagrożeń
- Zaawansowane wyszukiwanie zagrożeń przy użyciu programu PowerShell
Porada
Chcesz dowiedzieć się więcej? Engage ze społecznością microsoft security w naszej społeczności technicznej: Ochrona punktu końcowego w usłudze Microsoft Defender Tech Community.