Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Huomautus
Jos olet Yhdysvaltain valtionhallinnon asiakas, käytä Microsoft Defender for Endpoint lueteltuja URI-tunnuksia Yhdysvaltain valtionhallinnon asiakkaille.
Vihje
Paranna suorituskykyä api.security.microsoft.com käyttämisen sijaan käyttämällä palvelinta, joka on lähempänä maantieteellistä sijaintiasi:
- 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
Kehittyneiden kyselyiden suorittaminen Pythonilla, katso Lisämetsästyksen ohjelmointirajapinta.
Tässä osiossa jaamme Python-malleja tunnuksen noutamiseksi ja sen avulla kyselyn suorittamiseksi.
Edellytys: Sinun on ensin luotava sovellus.
Hanki tunnus
- Suorita seuraavat komennot:
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"]
Jossa:
-
tenantId: Sen vuokraajan tunnus, jonka puolesta haluat suorittaa kyselyn (eli kysely suoritetaan tämän vuokraajan tiedoille) -
appId: Microsoft Entra sovelluksesi tunnus (sovelluksella on oltava lisäkyselyjen suorittaminen -oikeus Microsoft Defender for Endpoint) -
appSecret: Microsoft Entra sovelluksesi salaisuus
Suorita kysely
Suorita seuraava kysely:
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"]
- schema sisältää kyselyn tulosten rakenteen
- tulokset sisältävät kyselyn tulokset
Monimutkaiset kyselyt
Jos haluat suorittaa monimutkaisia kyselyitä (tai monirivikyselyitä), tallenna kysely tiedostoon ja suorita edellisen esimerkin ensimmäisen rivin sijaan seuraava komento:
queryFile = open("D:\\Temp\\myQuery.txt", 'r') # Replace with the path to your file
query = queryFile.read()
queryFile.close()
Kyselytulosten käsitteleminen
Voit nyt käyttää kyselyn tuloksia.
Jos haluat iteroida tulokset, käytä seuraavaa komentoa:
for result in results:
print(result) # Prints the whole result
print(result["EventTime"]) # Prints only the property 'EventTime' from the result
Jos haluat tulostaa kyselyn tulokset CSV-muodossa tiedostossa file1.csv, käytä seuraavaa komentoa:
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()
Jos haluat tulostaa kyselyn tulokset JSON-muodossa tiedostossa file1.json, käytä seuraavaa komentoa:
outputFile = open("D:\\Temp\\file1.json", 'w')
json.dump(results, outputFile)
outputFile.close()
Aiheeseen liittyviä artikkeleita
- Microsoft Defender for Endpoint ohjelmointirajapinnat
- Kehittyneen metsästyksen ohjelmointirajapinta
- Tarkennettu etsintä PowerShellin avulla
Vihje
Haluatko tietää lisää? Ota yhteyttä Microsoft Security -yhteisöön Tech Community -yhteisössä: Microsoft Defender for Endpoint Community.