Megosztás a következőn keresztül:


Végponthoz készült Microsoft Defender API – "Helló világ!" alkalmazás

Érintett szolgáltatás:

Szeretné megismerni a Végponthoz készült Microsoft Defendert? Regisztráció az ingyenes próbaverzióra

Megjegyzés:

Ha Ön az USA kormányzati szerveinek ügyfele, használja a Végponthoz készült Microsoft Defender-ben felsorolt URI-kat az USA kormányzati ügyfelei számára.

Tipp

A jobb teljesítmény érdekében a földrajzi helyhez közelebbi kiszolgálót használhat:

  • 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

Riasztások lekérése egyszerű PowerShell-szkripttel

Mennyi ideig tart végigmenni ezen a példán?

Két lépésben csak 5 percet vesz igénybe:

  • Alkalmazásregisztráció
  • Példák használata: csak egy rövid PowerShell-szkript másolása/beillesztése szükséges

Szükségem van engedélyre a csatlakozáshoz?

Az alkalmazásregisztrációs szakaszban globális rendszergazda szerepkörrel kell rendelkeznie a Microsoft Entra bérlőben.

1. lépés – Alkalmazás Létrehozás Microsoft Entra ID

  1. Jelentkezzen be az Azure-baglobális rendszergazda felhasználójával.

  2. Lépjen a Microsoft Entra ID>Alkalmazásregisztrációk>Új regisztráció elemre.

    A Microsoft Entra felügyeleti központ Kezelés paneljének Alkalmazásregisztrációk lehetősége

  3. A regisztrációs űrlapon válassza ki az alkalmazás nevét, majd kattintson a Regisztráció gombra.

  4. Engedélyezze az alkalmazás számára a Végponthoz készült Defender elérését, és rendelje hozzá az "Összes riasztás olvasása" engedélyt:

    • Az alkalmazás oldalán kattintson az API-engedélyek>Engedély hozzáadása>API-k a szervezet> által Használt WindowsDefenderATP típusra, majd kattintson a WindowsDefenderATP elemre.

      Megjegyzés:

      A WindowsDefenderATP nem jelenik meg az eredeti listában. A megjelenítendő szövegmezőbe be kell írnia a nevét.

      Az API-engedélyek lehetőség a Microsoft Entra felügyeleti központ Kezelés paneljén

    • Válassza az Alkalmazásengedélyek>Alert.Read.All> kattintson az Engedélyek hozzáadása elemre.

      Az engedélytípus és a beállítások paneljei az API-engedélyek kérése lapon

      Fontos

      Ki kell választania a megfelelő engedélyeket. Az "Összes riasztás olvasása" csak egy példa!

      Például:

  5. Kattintson a Hozzájárulás megadása elemre.

    Megjegyzés:

    Minden engedély hozzáadásakor kattintson a Hozzájárulás megadása az új engedély érvénybe lépéséhez lehetőségre.

    A hozzájárulás megadásának lehetősége a Microsoft Entra felügyeleti központ

  6. Adjon hozzá egy titkos kódot az alkalmazáshoz.

    Kattintson a Tanúsítványok & titkos kódok elemre, adjon hozzá leírást a titkos kódhoz, majd kattintson a Hozzáadás gombra.

    Fontos

    Miután a Hozzáadás gombra kattintott, másolja ki a létrehozott titkos kulcsot. Miután elment, nem fogja tudni lekérni!

    A Tanúsítványok & titkos kódok menüelem a Microsoft Entra felügyeleti központ Kezelés paneljén

  7. Jegyezze fel az alkalmazásazonosítót és a bérlőazonosítót.

    Az alkalmazás oldalán lépjen az Áttekintés lapra, és másolja a következőt:

    Az alkalmazás részleteit tartalmazó ablaktábla a Microsoft Entra felügyeleti központ Áttekintés menüeleme alatt

Kész! Sikeresen regisztrált egy alkalmazást!

2. lépés – Szerezzen be egy jogkivonatot az alkalmazással, és használja ezt a jogkivonatot az API eléréséhez.

  • Másolja az alábbi szkriptet a PowerShell ISE-be vagy egy szövegszerkesztőbe, és mentse Get-Token.ps1.

  • A szkript futtatása létrehoz egy jogkivonatot, és a Latest-token.txtnevű munkamappába menti.

    # That code gets the App Context Token and save it to a file named "Latest-token.txt" under the current directory
    # Paste below your Tenant ID, App ID and App Secret (App key).
    
    $tenantId = '' ### Paste your tenant ID here
    $appId = '' ### Paste your Application ID here
    $appSecret = '' ### Paste your Application secret here
    
    $resourceAppIdUri = 'https://api.securitycenter.microsoft.com'
    $oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/token"
    $authBody = [Ordered] @{
         resource = "$resourceAppIdUri"
         client_id = "$appId"
         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
    
  • Sanity Check:

    • Futtassa a parancsprogramot.
    • A böngészőben nyissa meg a következőt: https://jwt.ms/.
    • Másolja ki a jogkivonatot (a Latest-token.txt fájl tartalmát).
    • Illessze be a felső mezőbe.
    • Keresse meg a "szerepkörök" szakaszt. Keresse meg a Alert.Read.All szerepkört.

    Az jwt.ms Dekódolt jogkivonat panelje

Szerezzük be a riasztásokat!

  • Az alábbi szkript Get-Token.ps1 fog hozzáférni az API-hoz, és megkapja az elmúlt 48 órás riasztásokat.

  • Mentse a szkriptet ugyanabban a mappában, amelybe az előző szkriptetGet-Token.ps1mentette.

  • A szkript két fájlt (json és csv) hoz létre az adatokkal ugyanabban a mappában, mint a szkriptek.

    # Returns Alerts created in the past 48 hours.
    
    $token = ./Get-Token.ps1       #run the script Get-Token.ps1  - make sure you are running this script from the same folder of Get-Token.ps1
    
    # Get Alert from the last 48 hours. Make sure you have alerts in that time frame.
    $dateTime = (Get-Date).ToUniversalTime().AddHours(-48).ToString("o")
    
    # The URL contains the type of query and the time filter we create above
    # Read more about [other query options and filters](get-alerts.md).
    $url = "https://api.securitycenter.microsoft.com/api/alerts?`$filter=alertCreationTime ge $dateTime"
    
    # Set the WebRequest headers
    $headers = @{
        'Content-Type' = 'application/json'
        Accept = 'application/json'
        Authorization = "Bearer $token"
    }
    
    # Send the webrequest and get the results.
    $response = Invoke-WebRequest -Method Get -Uri $url -Headers $headers -ErrorAction Stop
    
    # Extract the alerts from the results.
    $alerts =  ($response | ConvertFrom-Json).value | ConvertTo-Json
    
    # Get string with the execution time. We concatenate that string to the output file to avoid overwrite the file
    $dateTimeForFileName = Get-Date -Format o | foreach {$_ -replace ":", "."}
    
    # Save the result as json and as csv
    $outputJsonPath = "./Latest Alerts $dateTimeForFileName.json"
    $outputCsvPath = "./Latest Alerts $dateTimeForFileName.csv"
    
    Out-File -FilePath $outputJsonPath -InputObject $alerts
    ($alerts | ConvertFrom-Json) | Export-CSV $outputCsvPath -NoTypeInformation
    

Minden elkészült! Sikeresen elvégezte a következőt:

  • Létrehozva és regisztrálva és alkalmazás
  • Engedélyt kapott az alkalmazásnak a riasztások olvasására
  • Csatlakoztatta az API-t
  • PowerShell-szkripttel az elmúlt 48 órában létrehozott riasztásokat adott vissza

Tipp

Szeretne többet megtudni? Engage a Microsoft biztonsági közösségével a technikai közösségünkben: Végponthoz készült Microsoft Defender Tech Community.