Uç Nokta için Microsoft Defender API - Merhaba Dünya
Şunlar için geçerlidir:
Uç Nokta için Microsoft Defender'ı deneyimlemek ister misiniz? Ücretsiz deneme için kaydolun.
Not
ABD Kamu müşterisiyseniz lütfen US Government müşterileri için Uç Nokta için Microsoft Defender'de listelenen URI'leri kullanın.
İpucu
Daha iyi performans için coğrafi konumunuza daha yakın olan sunucuyu kullanabilirsiniz:
- 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
Basit bir PowerShell betiği kullanarak Uyarılar alma
Bu örnekten geçmek ne kadar sürer?
İki adımda yalnızca 5 dakika sürer:
- Uygulama kaydı
- Örnekleri kullanma: Yalnızca kısa bir PowerShell betiğinin kopyalanmasını/yapıştırılabilmesini gerektirir
Bağlanmak için izne ihtiyacım var mı?
Uygulama kayıt aşaması için Microsoft Entra kiracınızda Genel yönetici bir rolünüz olmalıdır.
1. Adım: Microsoft Entra ID'da uygulama İçerik Oluşturucu
Microsoft Entra ID>Uygulama kayıtları>Yeni kayıt'a gidin.
Kayıt formunda, uygulamanız için bir ad seçin ve Kaydet'e tıklayın.
Uygulamanızın Uç Nokta için Defender'a erişmesine ve 'Tüm uyarıları okuma' izni atamasına izin verin:
Uygulama sayfanızda API İzinleriKuruluşumun kullandığı>izin> API'leri >ekle'ye tıklayın WindowsDefenderATP türüne tıklayın ve WindowsDefenderATP'ye tıklayın.
Not
WindowsDefenderATP özgün listede görünmez. Görünmesini sağlamak için metin kutusuna adını yazmaya başlamanız gerekir.
Uygulama izinleri>Uyarısı.Okuma'yı seçin.Tümü>İzin ekle'ye tıklayın.
Önemli
İlgili izinleri seçmeniz gerekir. 'Tüm Uyarıları Oku' yalnızca bir örnektir!
Örneğin:
- Gelişmiş sorgular çalıştırmak için 'Gelişmiş sorgu çalıştır' iznini seçin.
- Bir makineyi yalıtmak için 'Makineyi yalıtma' iznini seçin.
- Hangi izne ihtiyacınız olduğunu belirlemek için lütfen çağırmak istediğiniz API'nin İzinler bölümüne bakın.
İzin ver'e tıklayın.
Not
her izin eklediğinizde, yeni iznin geçerli olması için Onay ver'e tıklamanız gerekir.
Uygulamaya gizli dizi ekleyin.
Sertifikalar & gizli diziler'e tıklayın, gizli diziye açıklama ekleyin ve Ekle'ye tıklayın.
Önemli
Ekle'ye tıkladıktan sonra oluşturulan gizli dizi değerini kopyalayın. Gittikten sonra geri alamazsınız!
Uygulama kimliğinizi ve kiracı kimliğinizi not edin.
Uygulama sayfanızda Genel Bakış'a gidin ve aşağıdakileri kopyalayın:
Bitti! Bir uygulamayı başarıyla kaydettiniz!
2. Adım: Uygulamayı kullanarak bir belirteç alın ve API'ye erişmek için bu belirteci kullanın.
Aşağıdaki betiği PowerShell ISE'ye veya bir metin düzenleyicisine kopyalayın ve Get-Token.ps1olarak kaydedin.
Bu betiği çalıştırmak bir belirteç oluşturur ve Latest-token.txtadı altında çalışma klasörüne kaydeder.
# 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 Denetimi:
- Betiği çalıştırın.
- Tarayıcınızda adresine gidin: https://jwt.ms/.
- Belirteci kopyalayın (Latest-token.txt dosyasının içeriği).
- Üstteki kutuya yapıştırın.
- "Roller" bölümünü arayın. Alert.Read.All rolünü bulun.
Uyarıları alalım!
Aşağıdaki betik, API'ye erişmek için Get-Token.ps1 kullanır ve son 48 saatlik Uyarıları alır.
Bu betiği, Get-Token.ps1önceki betiği kaydettiğiniz klasöre kaydedin.
Betik, betiklerle aynı klasörde yer alan verileri içeren iki dosya (json ve csv) oluşturur.
# 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
Hepsi bu kadar! Başarılı bir şekilde:
- Oluşturulan ve kaydedilen ve uygulama
- Bu uygulamaya uyarıları okuma izni verildi
- API'yi bağlama
- Son 48 saat içinde oluşturulan uyarıları döndürmek için PowerShell betiği kullanıldı
İlgili konu
- api'leri Uç Nokta için Microsoft Defender
- Uygulama bağlamı ile Uç Nokta için Microsoft Defender erişme
- Kullanıcı bağlamıyla Uç Nokta için Microsoft Defender erişme
İpucu
Daha fazla bilgi edinmek mi istiyorsunuz? Teknoloji Topluluğumuzdaki Microsoft Güvenlik topluluğuyla Engage: Uç Nokta için Microsoft Defender Teknoloji Topluluğu.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin