Jaa


Microsoft Defender XDR REST -ohjelmointirajapinnan Hei maailma

Koskee seuraavia:

  • Microsoft Defender XDR

Tärkeää

Jotkin tiedot liittyvät tuotteen ennakkoon, jota voidaan muuttaa huomattavasti ennen kaupallista julkaisua. Microsoft ei anna nimenomaisia eikä oletettuja takuita tässä annetuista tiedoista.

Tapausten hakeminen yksinkertaisen PowerShell-komentosarjan avulla

Tämän projektin valmistuminen vie 5–10 minuuttia. Tämä aika-arvio sisältää sovelluksen rekisteröimisen ja koodin käyttämisen PowerShell-mallikomentosarjasta.

Sovelluksen rekisteröiminen Microsoft Entra ID

  1. Kirjaudu Azureen käyttäjänä, jolla on yleinen järjestelmänvalvoja rooli.

  2. Siirry kohtaan Microsoft Entra ID>Sovelluksen rekisteröinnit>Uusi rekisteröinti.

    Microsoft Defender portaalin Uusi rekisteröinti -osa

  3. Valitse rekisteröintilomakkeessa sovellukselle nimi ja valitse sitten Rekisteröi. Uudelleenohjauksen URI-tunnuksen valitseminen on valinnaista. Tämän esimerkin suorittamiseen ei tarvita sellaista.

  4. Valitse sovellussivulla ohjelmointirajapinnan käyttöoikeudetLisää käyttöoikeuksien>ohjelmointirajapinnat>, joita organisaationi käyttää>, kirjoita Microsoft Threat Protection ja valitse Microsoft Threat Protection. Sovelluksesi voi nyt käyttää Microsoft Defender XDR.

    Vihje

    Microsoft Threat Protection on Microsoft Defender XDR entinen nimi, eikä sitä näytetä alkuperäisessä luettelossa. Sinun on alettava kirjoittaa sen nimeä tekstiruutuun, jotta näet sen näkyvän. Ohjelmointirajapintojen käytön osa Microsoft Defender portaalissa

    • Valitse Sovelluksen käyttöoikeudet>Incident.Read.All ja valitse Lisää käyttöoikeuksia.

      Sovelluksen käyttöoikeusruutu Microsoft Defender portaalissa

  5. Valitse Myönnä järjestelmänvalvojan suostumus. Aina, kun lisäät käyttöoikeuden, sinun on valittava Myönnä järjestelmänvalvojan suostumus , jotta se tulee voimaan.

    Myönnä järjestelmänvalvojan suostumus -osa Microsoft Defender portaalissa

  6. Lisää sovellukselle salaisuus. Valitse Varmenteet & salaisuuksia, lisää salaisuuskuvaus ja valitse sitten Lisää.

    Vihje

    Kun olet valinnut Lisää, valitse kopioi luotu salaisen koodin arvo. Et voi noutaa salaisen koodin arvoa poistuttuasi.

    Salaisen koodin lisäämisen osa Microsoft Defender portaalissa

  7. Tallenna sovellustunnuksesi ja vuokraajatunnuksesi jonnekin turvalliseen paikkaan. Ne on lueteltu sovellussivulla Yleiskatsaus-kohdassa .

    Microsoft Defender portaalin Yleiskatsaus-osa

Hanki tunnus sovelluksen avulla ja käytä ohjelmointirajapintaa tunnuksen avulla

Lisätietoja Microsoft Entra tunnuksista on Microsoft Entra opetusohjelmassa.

Tärkeää

Vaikka tämän esittelysovelluksen esimerkki rohkaisee sinua liittämään salaisen koodin arvosi testausta varten, sinun ei pitäisi koskaan koodata salaisia koodeja sovelluksessa, joka on käynnissä tuotannossa. Kolmas osapuoli voi käyttää salaisuuttasi resurssien käyttämiseen. Voit auttaa pitämään sovelluksesi salaisuudet suojattuina käyttämällä Azure Key Vault. Käytännön esimerkki siitä, miten voit suojata sovellustasi, on artikkelissa Salaisten koodien hallinta palvelinsovelluksissa Azure Key Vault avulla.

  1. Kopioi alla oleva komentosarja ja liitä se suosikkitekstieditoriin. Tallenna nimellä Get-Token.ps1. Voit myös suorittaa koodin sellaisenaan PowerShell ISE:ssä, mutta sinun pitäisi tallentaa se, koska se on suoritettava uudelleen, kun käytämme tapahtuman noutokomentosarjaa seuraavassa osiossa.

    Tämä komentosarja luo tunnuksen ja tallentaa sen työkansioon nimellä Latest-token.txt.

    # This script gets the app context token and saves it to a file named "Latest-token.txt" under the current directory.
    # Paste in your tenant ID, client ID and app secret (App key).
    
    $tenantId = '' # Paste your directory (tenant) ID here
    $clientId = '' # Paste your application (client) ID here
    $appSecret = '' # # Paste your own app secret here to test, then store it in a safe place!
    
    $resourceAppIdUri = 'https://api.security.microsoft.com'
    $oAuthUri = "https://login.windows.net/$tenantId/oauth2/token"
    $authBody = [Ordered] @{
      resource = $resourceAppIdUri
      client_id = $clientId
      client_secret = $appSecret
      grant_type = 'client_credentials'
    }
    $authResponse = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $authBody -ErrorAction Stop
    $token = $authResponse.access_token
    Out-File -FilePath "./Latest-token.txt" -InputObject $token
    return $token
    

Tunnuksen vahvistaminen

  1. Kopioi ja liitä saamasi tunnus JWT :hen sen koodaamiseksi.

  2. JWT tarkoittaa JSON-verkkotunnusta. Koodattu tunnus sisältää useita JSON-muotoiltuja kohteita tai väitteitä. Varmista, että koodatun tunnuksen roolit sisältävät halutut käyttöoikeudet.

    Seuraavassa kuvassa näet sovelluksesta hankitun koodatun tunnuksen, jolla on Incidents.Read.All, Incidents.ReadWrite.Allja AdvancedHunting.Read.All -käyttöoikeudet:

    Microsoft Defender portaalin koodatun tunnuksen osio

Hae luettelo viimeaikaisista tapauksista

Alla olevassa komentosarjassa käytetään Get-Token.ps1 ohjelmointirajapinnan käyttämiseen. Sen jälkeen se hakee luettelon tapauksista, jotka on viimeksi päivitetty viimeisen 48 tunnin aikana, ja tallentaa luettelon JSON-tiedostona.

Tärkeää

Tallenna tämä komentosarja samaan kansioon, jonka tallensit Get-Token.ps1.

# This script returns incidents last updated within the past 48 hours.

$token = ./Get-Token.ps1

# Get incidents from the past 48 hours.
# The script may appear to fail if you don't have any incidents in that time frame.
$dateTime = (Get-Date).ToUniversalTime().AddHours(-48).ToString("o")

# This URL contains the type of query and the time filter we created above.
# Note that `$filter` does not refer to a local variable in our script --
# it's actually an OData operator and part of the API's syntax.
$url = "https://api.security.microsoft.com/api/incidents`?`$filter=lastUpdateTime+ge+$dateTime"

# Set the webrequest headers
$headers = @{
    'Content-Type' = 'application/json'
    'Accept' = 'application/json'
    'Authorization' = "Bearer $token"
}

# Send the request and get the results.
$response = Invoke-WebRequest -Method Get -Uri $url -Headers $headers -ErrorAction Stop

# Extract the incidents from the results.
$incidents =  ($response | ConvertFrom-Json).value | ConvertTo-Json -Depth 99

# Get a string containing the execution time. We concatenate that string to the name 
# of the output file to avoid overwriting the file on consecutive runs of the script.
$dateTimeForFileName = Get-Date -Format o | foreach {$_ -replace ":", "."}

# Save the result as json
$outputJsonPath = "./Latest Incidents $dateTimeForFileName.json"

Out-File -FilePath $outputJsonPath -InputObject $incidents

Kaikki on valmista! Olet onnistunut:

  • Sovellus on luotu ja rekisteröity.
  • Sovellukselle myönnetty oikeus lukea ilmoituksia.
  • Yhdistetty ohjelmointirajapintaan.
  • On käyttänyt PowerShell-komentosarjaa viimeisen 48 tunnin aikana päivitettyjen tapausten palauttamiseen.

Vihje

Haluatko tietää lisää? Ota yhteyttä Microsoft Security -yhteisöön Tech Community -yhteisössä: Microsoft Defender XDR Tech Community.