Végponthoz készült Microsoft Defender API – „Helló világ!” alkalmazás
Érintett szolgáltatás:
- Végponthoz készült Microsoft Defender 1. csomag
- Végponthoz készült Microsoft Defender 2. csomag
- Microsoft Defender Vállalati verzió
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
- ina.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 rendelkeznie kell egy megfelelő szerepkörrel a Microsoft Entra bérlőben. A szerepkörökkel kapcsolatos további információkért lásd: Engedélybeállítások.
1. lépés – Alkalmazás létrehozása Microsoft Entra ID
Jelentkezzen be az Azure portálra.
Lépjen a Microsoft Entra ID>Alkalmazásregisztrációk>Új regisztráció elemre.
A regisztrációs űrlapon válassza ki az alkalmazás nevét, majd válassza a Regisztráció lehetőséget.
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 válassza az API-engedélyek>Engedély> hozzáadásaAPI-k a szervezet általa WindowsDefenderATP típust használ>, majd válassza a WindowsDefenderATP lehetőséget.
Megjegyzés:
A WindowsDefenderATP nem jelenik meg az eredeti listában. A megjelenítendő szövegmezőbe be kell írnia a nevét.
Válassza az Alkalmazásengedélyek>Alert.Read.All lehetőséget, majd az Engedélyek hozzáadása lehetőséget.
Fontos
Ki kell választania a megfelelő engedélyeket. Az Összes riasztás olvasása csak egy példa.
Például:
- Speciális lekérdezések futtatásához válassza a Speciális lekérdezések futtatása engedélyt.
- A gépek elkülönítéséhez válassza a Gép elkülönítése engedélyt.
- Annak megállapításához, hogy melyik engedélyre van szüksége, tekintse meg a meghívni kívánt API Engedélyek szakaszát.
Válassza a Hozzájárulás megadása lehetőséget.
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.
Adjon hozzá egy titkos kódot az alkalmazáshoz.
Válassza a Tanúsítványok & titkos kód lehetőséget, adja meg a titkos kód leírását, majd válassza a Hozzáadás lehetőséget.
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!
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:
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 a következő szkriptet a PowerShell ISE-be vagy egy szövegszerkesztőbe, és mentse a következőként
Get-Token.ps1
: .A szkript futtatása létrehoz egy jogkivonatot, és a nevű
Latest-token.txt
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.
Szerezzük be a riasztásokat!
A következő szkript a használatával
Get-Token.ps1
fér hozzá az API-hoz, és az elmúlt 48 órára vonatkozó riasztásokat kap.Mentse a szkriptet ugyanabban a mappában, ahová az előző szkriptet
Get-Token.ps1
mentette.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
Kapcsolódó cikkek
- Végponthoz készült Microsoft Defender API-k
- Végponthoz készült Microsoft Defender elérése alkalmazáskörnyezettel
- Végponthoz készült Microsoft Defender elérése felhasználói környezettel
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.