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ść, zamiast korzystać z api.security.microsoft.com, użyj serwera bliżej lokalizacji geograficznej:
- 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.security.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.security.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 poprzednim przykładzie uruchom następujące 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()
Artykuły pokrewne
- 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? Zaangażuj się w społeczność rozwiązań zabezpieczających firmy Microsoft w naszej społeczności technicznej Społeczność techniczna usługi Ochrona punktu końcowego w usłudze Microsoft Defender.