Uç Nokta için Microsoft Defender API'lerini kullanma

Önemli

Gelişmiş avcılık özellikleri İş için Defender dahil değildir.

Not

ABD Kamu müşterisiyseniz US Government müşterileri için Uç Nokta için Microsoft Defender'da listelenen URI'leri kullanın.

İpucu

Daha iyi performans için api.security.microsoft.com kullanmak yerine coğrafi konumunuza daha yakın bir sunucu kullanın:

  • 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
  • aea.api.security.microsoft.com

Bu sayfada, kullanıcı adına Uç Nokta için Defender'a programlı erişim elde etmek için bir uygulamanın nasıl oluşturulacağı açıklanır.

Kullanıcı olmadan Uç Nokta için Microsoft Defender programlı erişime ihtiyacınız varsa, uygulama bağlamı ile Erişim Uç Nokta için Microsoft Defender'ne bakın.

Hangi erişime ihtiyacınız olduğundan emin değilseniz Giriş sayfasını okuyun.

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 yapmanızı sağlar. 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:

  • Microsoft Entra uygulaması oluşturma
  • Bu uygulamayı kullanarak erişim belirteci alma
  • Uç Nokta için Defender API'sine erişmek için belirteci kullanma

Bu sayfada bir Microsoft Entra uygulaması oluşturma, Uç Nokta için Microsoft Defender için erişim belirteci alma ve belirteci doğrulama açıklanmaktadır.

Not

Kullanıcı adına Uç Nokta için Microsoft Defender API'sine erişirken doğru Uygulama iznine ve kullanıcı iznine ihtiyacınız olacaktır. Uç Nokta için Microsoft Defender kullanıcı izinlerini tanımıyorsanız bkz. Rol tabanlı erişim denetimini kullanarak portal erişimini yönetme.

İpucu

Portalda bir eylem gerçekleştirme izniniz varsa, eylemi API'de gerçekleştirme izniniz vardır.

Uygulama oluşturma

  1. Azure portalda oturum açın.

  2. Microsoft Entra ID>Uygulama kayıtları>Yeni kayıt'a gidin.

    Microsoft Azure portal'daki Uygulama kayıtları sayfası

  3. Uygulamayı kaydet sayfası görüntülendiğinde, uygulamanızın kayıt bilgilerini girin:

    • Ad - Uygulamanın kullanıcılarına gösterilen anlamlı bir uygulama adı girin.

    • Desteklenen hesap türleri - Uygulamanızın hangi hesapları desteklemesini istediğinizi seçin.


      Desteklenen hesap türleri Açıklama
      Yalnızca bu kuruluş dizinindeki hesaplar İş kolu (LOB) uygulaması oluşturuyorsanız bu seçeneği belirleyin. Uygulamayı bir dizine kaydetmiyorsanız bu seçenek kullanılamaz.

      Bu seçenek yalnızca Microsoft Entra tek kiracıyla eşlenir.

      Bu seçenek, uygulamayı bir dizinin dışına kaydetmediğiniz sürece varsayılan seçenektir. Uygulamanın bir dizin dışında kayıtlı olduğu durumlarda, varsayılan olarak çok kiracılı ve kişisel Microsoft hesapları Microsoft Entra.
      Herhangi bir kuruluş dizinindeki hesaplar Tüm iş ve eğitim müşterilerini hedeflemek istiyorsanız bu seçeneği belirleyin.

      Bu seçenek yalnızca Microsoft Entra çok kiracılıya eşler.

      Uygulamayı yalnızca Microsoft Entra tek kiracı olarak kaydettiyseniz, Çok kiracılı Microsoft Entra olacak şekilde güncelleştirebilir ve Kimlik Doğrulaması dikey penceresi aracılığıyla tek kiracıya dönebilirsiniz.
      Herhangi bir kuruluş dizinindeki hesaplar ve kişisel Microsoft hesapları En geniş müşteri kümesini hedeflemek için bu seçeneği belirleyin.

      Bu seçenek, çok kiracılı ve kişisel Microsoft Entra Microsoft hesaplarıyla eşler.

      Uygulamayı çok kiracılı ve kişisel Microsoft Entra Microsoft hesapları olarak kaydettiyseniz, bunu kullanıcı arabiriminde değiştiremezsiniz. Bunun yerine, desteklenen hesap türlerini değiştirmek için uygulama bildirim düzenleyicisini kullanmanız gerekir.
    • Yeniden yönlendirme URI'si (isteğe bağlı) - Oluşturduğunuz uygulama türünü, Web veya Genel istemciyi (mobil & masaüstü) seçin ve ardından uygulamanız için yeniden yönlendirme URI'sini (veya yanıt URL'sini) girin.

      • Web uygulamaları için uygulamanızın temel URL'sini sağlayın. Örneğin, http://localhost:31544 yerel makinenizde çalışan bir web uygulamasının URL'si olabilir. Kullanıcılar bir web istemci uygulamasında oturum açmak için bu URL'yi kullanır.

      • Genel istemci uygulamaları için, belirteç yanıtlarını döndürmek için Microsoft Entra ID tarafından kullanılan URI'yi sağlayın. Uygulamanıza myapp://authözgü gibi bir değer girin.

      Web uygulamalarına veya yerel uygulamalara yönelik belirli örnekleri görmek için hızlı başlangıçlarımıza göz atın.

      İşiniz bittiğinde Kaydet'i seçin.

  4. Uygulamanızın Uç Nokta için Microsoft Defender erişmesine izin verin ve 'Uyarıları okuma' izni atayın:

    • Uygulama sayfanızda API İzinleri>> API'leri >ekle'yi seçin WindowsDefenderATP yazın ve WindowsDefenderATP'yi seçin.

      Not

      WindowsDefenderATP özgün listede görünmez. Görünmesini görmek için metin kutusuna adını yazmaya başlayın.

      izin ekleyin.

    • Temsilci izinleri>Uyarısı'nı seçin.Okuma>İzin ekle'yi seçin.

      Uygulama türü ve izin bölmeleri

    Önemli

    İlgili izinleri seçin. Uyarıları okuma yalnızca bir örnektir.

    Örneğin:

    • Gelişmiş sorgular çalıştırmak için Gelişmiş sorgu çalıştırma izni'ne tıklayın.

    • Cihazı yalıtmak için Makine iznini yalıt'ı seçin.

    • Hangi izne ihtiyacınız olduğunu belirlemek için çağırmak istediğiniz API'deki İzinler bölümünü görüntüleyin.

    • İzin ver'i seçin.

      Not

      İzin eklediğinizde, yeni iznin geçerli olması için İzin ver'i seçmeniz gerekir.

      Genel yönetici onayı seçeneği

  5. Uygulama kimliğinizi ve kiracı kimliğinizi not edin.

    Uygulama sayfanızda Genel Bakış'a gidin ve aşağıdaki bilgileri kopyalayın:

    Oluşturulan uygulama kimliği

Erişim belirteci alma

Microsoft Entra belirteçleri hakkında daha fazla bilgi için Microsoft Entra öğreticiye bakın.

Not

Bu makaledeki örnek, kullanıcıya tarayıcıda kimlik doğrulama yapmasını isteyen ve çok faktörlü kimlik doğrulama ile Koşullu Erişim desteğini veren etkileşimli giriş girişi kullanır. Uygulamanın kullanıcının şifresini doğrudan toplamasını veya kullanmasını gerektiren kimlik doğrulama akışlarından kaçının. Oturum açmış kullanıcı olmadan programatik erişime ihtiyacınız varsa, bunun yerine yönetilen bir kimlik veya sertifika kimlik bilgisi ile uygulama bağlamını kullanın.

C kullanma#

İpucu

Bazı Uç Nokta için Microsoft Defender API'ler, eski kaynak https://api.securitycenter.microsoft.comiçin erişim belirteçleri verilmesini gerektirmeye devam eder. Belirteç hedef kitlesi API tarafından beklenen kaynakla eşleşmiyorsa, API uç noktası kullansa 403 Forbiddenbile istekler ile https://api.security.microsoft.combaşarısız olur. Belirteçleri alırken kaynak veya kapsam olarak kullanın https://api.securitycenter.microsoft.com .

Bu örnek, Microsoft Authentication Library (MSAL) kullanarak bir token etkileşimli olarak elde edilir. Çalıştırmadan önce:

  • Microsoft.Identity.Client NuGet paketini projenize ekleyin.
  • Uygulama kaydınızda, yönlendirme URI'si ile bir Mobil ve masaüstü uygulama platformu http://localhost yapılandırın, böylece etkileşimli akış tokenı geri döndürebilir.
  • Aşağıdaki sınıfı uygulamanıza kopyalayıp yapıştırın, ardından uygulama kimliğiniz ve kiracı kimliğinizle AcquireUserTokenAsync'i çağırın. Kullanıcıdan etkileşimli olarak giriş yapması istenir; Şifreleri uygulamanız tarafından asla ele alınmaz.
    namespace WindowsDefenderATP
    {
        using System.Linq;
        using System.Threading.Tasks;
        using Microsoft.Identity.Client;

        public static class WindowsDefenderATPUtils
        {
            private const string Authority = "https://login.microsoftonline.com";

            // Microsoft Defender for Endpoint APIs expect tokens issued for this resource.
            private static readonly string[] Scopes = { "https://api.securitycenter.microsoft.com/.default" };

            public static async Task<string> AcquireUserTokenAsync(string appId, string tenantId)
            {
                // Public client application for a native (desktop) app.
                // No client secret or user password is stored or handled by the app.
                var app = PublicClientApplicationBuilder
                    .Create(appId)
                    .WithAuthority($"{Authority}/{tenantId}")
                    .WithDefaultRedirectUri() // http://localhost - register as a public client redirect URI
                    .Build();

                var account = (await app.GetAccountsAsync().ConfigureAwait(false)).FirstOrDefault();

                try
                {
                    // Reuse a cached token when one is available.
                    var silentResult = await app
                        .AcquireTokenSilent(Scopes, account)
                        .ExecuteAsync()
                        .ConfigureAwait(false);

                    return silentResult.AccessToken;
                }
                catch (MsalUiRequiredException)
                {
                    // First run or expired session: prompt the user to sign in.
                    // Uses the authorization code flow with PKCE and supports
                    // multifactor authentication and Conditional Access.
                    var interactiveResult = await app
                        .AcquireTokenInteractive(Scopes)
                        .ExecuteAsync()
                        .ConfigureAwait(false);

                    return interactiveResult.AccessToken;
                }
            }
        }
    }

İpucu

Başsız veya tarayıcısız bir ortam için, cihaz kodu akışını (AcquireTokenWithDeviceCode) yerine AcquireTokenInteractivekullanın.

Belirteci doğrulama

Doğru belirteci kullandığınızdan emin olmak için doğrulayın:

  • Kodunu çözmek için önceki adımda aldığınız belirteci JWT'ye kopyalayın/yapıştırın.

  • İstenen uygulama izinleriyle bir 'scp' talebi aldığınızdan doğrulayın.

  • Aşağıdaki ekran görüntüsünde, öğreticide uygulamadan alınan kodu çözülen bir belirteci görebilirsiniz:

    Belirteç doğrulama sayfası

Uç Nokta için Microsoft Defender API'ye erişmek için belirteci kullanma

  • Kullanmak istediğiniz API'yi seçin - Desteklenen Uç Nokta için Microsoft Defender API'leri.

  • Gönderdiğiniz HTTP isteğinde Yetkilendirme üst bilgisini "Taşıyıcı {token}" olarak ayarlayın (Taşıyıcı, Yetkilendirme şemasıdır).

  • Belirtecin Sona erme süresi 1 saattir (aynı belirteçle birden fazla istek gönderebilirsiniz).

  • C# kullanarak uyarıların listesini almak için istek gönderme örneği:

    var httpClient = new HttpClient();
    
    var request = new HttpRequestMessage(HttpMethod.Get, "https://api.security.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.

İ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.