Uç Nokta API'leri için Microsoft Defender üzerinden iş ortağı erişimi
Şunlar için geçerlidir:
- Uç Nokta için Microsoft Defender Planı 1
- Uç Nokta için Microsoft Defender Planı 2
- İş için Microsoft Defender
Önemli
Gelişmiş avcılık özellikleri İş için Defender'a dahil değildir.
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'da 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
- ina.api.security.microsoft.com
Bu sayfada, müşterileriniz adına Uç Nokta için Microsoft Defender'a programlı erişim elde etmek için bir Microsoft Entra uygulamasının nasıl oluşturulacağı açıklanır.
Uç Nokta için Microsoft Defender, bir dizi programlı API aracılığıyla verilerinin ve eylemlerinin büyük bir kısmını kullanıma sunar. Bu API'ler iş akışlarını otomatikleştirmenize ve Uç Nokta için Microsoft Defender özelliklerine göre yenilik yapmaya yardımcı olur. API erişimi için OAuth2.0 kimlik doğrulaması gerekir. Daha fazla bilgi için bkz . OAuth 2.0 Yetkilendirme Kodu Akışı.
Genel olarak, API'leri kullanmak için aşağıdaki adımları uygulamanız gerekir:
Çok kiracılı bir Microsoft Entra uygulaması oluşturun.
Uygulamanızın ihtiyaç duyduğu Uç Nokta için Defender kaynaklarına erişmesi için müşteri yöneticinizden yetki (onay) alın.
Bu uygulamayı kullanarak erişim belirteci alın.
Uç Nokta IÇIN Microsoft Defender API'sine erişmek için belirteci kullanın.
Aşağıdaki adımlar bir Microsoft Entra uygulaması oluşturma, Uç Nokta için Microsoft Defender'a erişim belirteci alma ve belirteci doğrulama konusunda size yol gösterir.
Önemli
Microsoft, rolleri en az izinle kullanmanızı önerir. Bu, kuruluşunuzun güvenliğini artırmaya yardımcı olur. Genel Yönetici, mevcut bir rolü kullanamıyorsanız acil durum senaryolarıyla sınırlı olması gereken yüksek ayrıcalıklı bir roldür.
Çok kiracılı uygulamayı oluşturma
Genel Yönetici rolüne sahip kullanıcıyla Azure kiracınızda oturum açın.
Microsoft Entra Id>Uygulama kayıtları>Yeni kayıt'a gidin.
Kayıt formunda:
Uygulamanız için bir ad seçin.
Desteklenen hesap türleri - herhangi bir kuruluş dizinindeki hesaplar.
Yeniden yönlendirme URI'si - tür: Web, URI: https://portal.azure.com
Uygulamanızın Uç Nokta için Microsoft Defender'a erişmesine izin verin ve tümleştirmeyi tamamlamak için gereken minimum izin kümesiyle uygulamayı atayın.
API izinleri isteme
Hangi izne ihtiyacınız olduğunu belirlemek için, çağırmak istediğiniz API'nin İzinler bölümünü gözden geçirin. Örneğin:
- Gelişmiş sorguları çalıştırmak için Gelişmiş sorguları çalıştır iznini seçin.
- Cihazı yalıtmak için Makineyi yalıtma iznini seçin.
Aşağıdaki örnekte Tüm uyarıları okuma iznini kullanıyoruz:
Uygulama izinleri>Alert.Read.All> seçeneğini İzin ekle'yi seçin
İzin ver'i seçin
- İzin eklediğinizde, yeni iznin geçerli olması için İzin ver'i seçmeniz gerekir.
Uygulamaya gizli dizi ekleyin.
- Sertifikalar & gizli diziler'i seçin, gizli diziye açıklama ekleyin ve Ekle'yi seçin.
Ekle'yi seçtikten sonra, oluşturulan gizli dizi değerini kopyaladığınızdan emin olun. Gittikten sonra geri alamayacaksınız!
Uygulama kimliğinizi not edin:
Uygulamayı müşterinizin kiracısına ekleyin.
Uygulamanızı kullanmak istediğiniz her müşteri kiracısında onaylanması gerekir. Uygulamanız müşteriniz adına Uç Nokta için Microsoft Defender uygulamasıyla etkileşimde bulunduğundan bu onay gereklidir.
Müşterinizin kiracısından Genel Yöneticiye sahip bir kullanıcının onay bağlantısını seçip uygulamanızı onaylaması gerekir.
Onay bağlantısı şu biçimdedir:
https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
Burada
00000000-0000-0000-0000-000000000000
Uygulama Kimliğiniz ile değiştirilmelidir.Onay bağlantısını seçtikten sonra müşterinin kiracısının Genel Yöneticisi olarak oturum açın ve uygulamayı onaylayın.
Ayrıca, müşterinizden kiracı kimliğini istemeniz ve belirteci alırken gelecekte kullanmak üzere kaydetmeniz gerekir.
Bitti! Bir uygulamayı başarıyla kaydettiniz! Belirteç alma ve doğrulama için aşağıdaki örneklere bakın.
Erişim belirteci örneği alma
Müşteriniz adına erişim belirteci almak için aşağıdaki belirteç alımlarında müşterinin kiracı kimliğini kullanın.
Microsoft Entra belirteci hakkında daha fazla bilgi için bkz. Microsoft Entra öğreticisi.
PowerShell kullanma
# 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 key 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
C kullanma#
Önemli
Microsoft.IdentityModel.Clients.ActiveDirectory NuGet paketi ve Azure AD Kimlik Doğrulama Kitaplığı (ADAL) kullanım dışı bırakıldı. 30 Haziran 2020'den bu yana yeni özellik eklenmemiş. Yükseltmek için geçiş kılavuzuna bakın.
Yeni bir Konsol Uygulaması oluşturun.
NuGet Microsoft.Identity.Client'ı yükleyin.
Kodu kullanarak aşağıdakileri ekleyin:
using Microsoft.Identity.Client;
Bu kod NuGet
Microsoft.Identity.Client
ile test edilmiştir.Uygulamanıza aşağıdaki kodu kopyalayın/yapıştırın (üç değişkeni güncelleştirmeyi unutmayın:
tenantId
,appId
veappSecret
).string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here for a test, and then store it in a safe place! const string authority = https://login.microsoftonline.com; const string audience = https://api.securitycenter.microsoft.com; IConfidentialClientApplication myApp = ConfidentialClientApplicationBuilder.Create(appId).WithClientSecret(appSecret).WithAuthority($"{authority}/{tenantId}").Build(); List<string> scopes = new List<string>() { $"{audience}/.default" }; AuthenticationResult authResult = myApp.AcquireTokenForClient(scopes).ExecuteAsync().GetAwaiter().GetResult(); string token = authResult.AccessToken;
Python kullanma
Bkz. Python kullanarak belirteç alma.
Curl kullanma
Not
Windows için Curl'in bilgisayarınızda zaten yüklü olduğu varsayılan aşağıdaki yordam
Bir komut penceresi açın.
Azure uygulama kimliğiniz olarak ayarlayın
CLIENT_ID
.Azure uygulama gizli dizinize ayarlayın
CLIENT_SECRET
.Uç Nokta için Microsoft Defender uygulamasına erişmek için uygulamanızı kullanmak isteyen müşterinin Azure kiracı kimliğine ayarlayın
TENANT_ID
.Aşağıdaki komutu çalıştırın:
curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID%/oauth2/v2.0/token" -k
Aşağıdaki kod parçacığına benzer bir yanıt alırsınız:
{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}
Belirteci doğrulama
Doğru belirteci aldığınızı onaylayın.
Kodunu çözmek için önceki adımda aldığınız belirteci JWT'ye kopyalayın/yapıştırın.
Uygun izinlere sahip bir rol talebi aldığınızdan emin olun.
Aşağıdaki ekran görüntüsünde, Uç Nokta için Microsoft Defender'a yönelik birden çok izne sahip bir Uygulamadan alınan kodu çözülen belirteci görebilirsiniz:
"tid" talebi, belirtecin ait olduğu kiracı kimliğidir.
Uç Nokta IÇIN Microsoft Defender API'sine erişmek için belirteci kullanma
Kullanmak istediğiniz API'yi seçin. Daha fazla bilgi için bkz. Uç Nokta API'leri için Desteklenen Microsoft Defender.
Gönderdiğiniz
Bearer {token}
Http isteğinde Yetkilendirme üst bilgisini ayarlayın (Taşıyıcı, Yetkilendirme şemasıdır). Belirtecin Süre sonu süresi bir saattir (aynı belirteçle birden fazla istek gönderebilirsiniz).C# kullanarak uyarıların listesini almak için istek gönderme örneği aşağıda verilmiştir:
var httpClient = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Get, "https://api.securitycenter.microsoft.com/api/alerts"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); var response = httpClient.SendAsync(request).GetAwaiter().GetResult(); // Do something useful with the response
Ayrıca bkz.
- Desteklenen Uç Nokta için Microsoft Defender API'leri
- Kullanıcı adına Uç Nokta için Microsoft Defender'a erişme
İpucu
Daha fazla bilgi edinmek mi istiyorsunuz? Teknoloji Topluluğumuzdaki Microsoft Güvenlik topluluğuyla etkileşime geçin: Uç Nokta için Microsoft Defender Teknoloji Topluluğu.