Aracılığıyla paylaş


Kullanıcı bağlamı ile Bulut için Microsoft Defender Apps API'lerine erişme

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

Kullanıcısız uygulamalar Bulut için Microsoft Defender programlı erişime ihtiyacınız varsa, Uygulama bağlamı ile Access Bulut için Microsoft Defender Uygulamaları'na bakın.

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

Bulut için Microsoft Defender Uygulamaları, verilerinin ve eylemlerinin çoğunu bir dizi programlı API aracılığıyla kullanıma sunar. Bu API'ler, iş akışlarını otomatikleştirmenize ve Bulut için Microsoft Defender Uygulamaları ö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
  • Bulut için Defender Apps API'sine erişmek için belirteci kullanma

Bu sayfada Bir Microsoft Entra uygulaması oluşturma, Bulut için Microsoft Defender Uygulamalarına erişim belirteci alma ve belirteci doğrulama açıklanmaktadır.

Not

Bir kullanıcı adına Bulut için Microsoft Defender Apps API'sine erişirken doğru Uygulama iznine ve kullanıcı iznine ihtiyacınız olacaktır. Bulut için Microsoft Defender Uygulamalarındaki kullanıcı izinlerini bilmiyorsanız bkz. Yönetici erişimini yönetme.

İpucu

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

Uygulama oluşturun

  1. Genel Yönetici istrator rolüne sahip bir kullanıcı hesabıyla Azure'da oturum açın.

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

    Image of Microsoft Azure and navigation to application registration.

  3. Bir uygulamayı kaydet sayfası göründüğünde, uygulamanızın kayıt bilgilerini girin:

    • Ad - Uygulama kullanıcılarına gösterilecek anlamlı bir uygulama adı girin.

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

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

      Bu seçenek Microsoft Entra-only tek kiracı ile eşlenir.

      Uygulamayı bir dizinin dışına kaydetmediğiniz sürece, bu varsayılan seçenektir. Uygulamanın bir dizin dışında kayıtlı olduğu durumlarda varsayılan değer Microsoft Entra çok kiracılı ve kişisel Microsoft hesaplarıdır.
      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-only çok kiracılı ile eşlenir.

      Uygulamayı Microsoft Entra-only tek kiracı olarak kaydettiyseniz, Kimlik Doğrulaması bölmesi aracılığıyla uygulamayı Microsoft Entra çok kiracılı olacak şekilde güncelleştirebilir ve tek kiracıya geri 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 seçin.

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

      Uygulamayı Microsoft Entra çok kiracılı ve kişisel Microsoft hesapları olarak kaydettiyseniz, bunu kullanıcı arabiriminde değiştiremezsiniz. Bunun yerine, desteklenen hesap türlerini değiştirmek için uygulama bildirimi Düzenleyicisini kullanmalısınız.
    • Yeniden yönlendirme URI’si (isteğe bağlı) - Web veya Genel istemci (mobil ve masaüstü) seçenekleri arasından oluşturduğunuz uygulamanın türünü 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 girin. Ö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 Kimliği tarafından kullanılan URI'yi sağlayın. Uygulamanıza özgü bir değer girin, örn. myapp://auth.

      Web uygulamalarına veya yerel uygulamalara özgü örnekler görmek için, hızlı başlangıçlara göz atın.

      Bittiğinde Kaydet’i seçin.

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

    • Uygulama sayfanızda API İzinleri Kuruluşumun kullandığı> izin>API'leri>ekle'yi seçin, Microsoft Bulut Uygulamaları Güvenliği yazın ve ardından Microsoft Bulut Uygulamaları Güvenliği'ı seçin.

    • Not: Microsoft Bulut Uygulamaları Güvenliği özgün listede görünmez. Görünmesini sağlamak için metin kutusuna adını yazmaya başlayın. Ürün artık Bulut için Defender Uygulamaları olarak adlandırılıyor olsa da bu adı yazdığınızdan emin olun.

      add permission.

    • Temsilci izinleri>Araştırma'yı seçin.Okuma> İzin ekle'yi seçin

      application permissions.

    • Önemli not: İlgili izinleri seçin. Investigation.Read yalnızca bir örnektir. Diğer izin kapsamları için bkz . Desteklenen izin kapsamları

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

      Not: her izin eklediğinizde, yeni iznin geçerli olması için Yönetici onayı ver'i seçmeniz gerekir.

      Image of Grant permissions.

  5. Uygulama kimliğinizi ve kiracı kimliğinizi yazın:

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

      Image of created app id.

Desteklenen izin kapsamları

İzin adı Açıklama Desteklenen eylemler
Araştırma.okuma Uyarıları kapatma dışında etkinlikler ve uyarılar üzerinde desteklenen tüm eylemleri gerçekleştirin.
IP aralıklarını görüntüleyin ancak ekleme, güncelleştirme veya silme işlemleri yapılmaz.

Tüm varlık eylemlerini gerçekleştirin.
Etkinlikler listesi, getirme, geri bildirim
Uyarılar listesi, getirme, okundu/okunmadı olarak işaretleme
Varlıklar listesi, getirme, getirme ağacı
Alt ağ listesi
Araştırma.yönetme Uyarıları ve IP aralıklarını yönetmeye ek olarak tüm araştırma.okuma eylemlerini gerçekleştirin. Etkinlikler listesi, getirme, geri bildirim
Uyarılar listesi, getirme, okundu/okunmadı olarak işaretleme, kapatma
Varlıklar listesi, getirme, getirme ağacı
Alt ağ listesi, oluşturma/güncelleştirme/silme
Bulma.okuma Uyarıları kapatma dışında etkinlikler ve uyarılar üzerinde desteklenen tüm eylemleri gerçekleştirin.
Bulma raporlarını ve kategorilerini listeleyin.
Uyarılar listesi, getirme, okundu/okunmadı olarak işaretleme
Bulma listesi raporları, liste raporu kategorileri
Bulma.yönetme Discovery.read izinleri
Uyarıları kapatma, bulma dosyalarını karşıya yükleme ve blok betikleri oluşturma
Uyarılar listesi, getirme, okundu/okunmadı olarak işaretleme, kapatma
Bulma listesi raporları, liste raporu kategorileri
Bulma dosyası karşıya yükleme, blok betiği oluşturma
Ayarlar.read IP aralıklarını listeleyin. Alt ağ listesi
Ayarlar.manage IP aralıklarını listeleme ve yönetme. Alt ağ listesi, oluşturma/güncelleştirme/silme

Bir erişim belirteci alma

Microsoft Entra belirteçleri hakkında daha fazla bilgi için bkz . Microsoft Entra öğreticisi

C# kullanma

  • Uygulamanıza aşağıdaki sınıfı kopyalayın/yapıştırın.

  • Belirteç almak için uygulama kimliğiniz, kiracı kimliğiniz, kullanıcı adınız ve parolanızla AcquireUserTokenAsync yöntemini kullanın.

    namespace MDA
    {
        using System.Net.Http;
        using System.Text;
        using System.Threading.Tasks;
        using Newtonsoft.Json.Linq;
    
        public static class MDAUtils
        {
            private const string Authority = "https://login.microsoftonline.com";
    
            private const string MDAId = "05a65629-4c1b-48c1-a78b-804c4abdd4af";
    
            private const string Scope = "Investigation.read";
    
            public static async Task<string> AcquireUserTokenAsync(string username, string password, string appId, string tenantId)
            {
                using (var httpClient = new HttpClient())
                {
                    var urlEncodedBody = $"scope={MDAId}/{Scope}&client_id={appId}&grant_type=password&username={username}&password={password}";
    
                    var stringContent = new StringContent(urlEncodedBody, Encoding.UTF8, "application/x-www-form-urlencoded");
    
                    using (var response = await httpClient.PostAsync($"{Authority}/{tenantId}/oauth2/token", stringContent).ConfigureAwait(false))
                    {
                        response.EnsureSuccessStatusCode();
    
                        var json = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
    
                        var jObject = JObject.Parse(json);
    
                        return jObject["access_token"].Value<string>();
                    }
                }
            }
        }
    } 
    

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 kopyalayıp JWT'ye 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:

    Image of token validation.

Bulut için Microsoft Defender Apps API'sine erişmek için belirteci kullanma

  • Kullanmak istediğiniz API'yi seçin. Daha fazla bilgi için bkz. uygulamalar API Bulut için Defender.

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

  • Belirtecin süre sonu 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://portal.cloudappsecurity.com/cas/api/v1/alerts/");
    
    request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
    
    var response = httpClient.SendAsync(request).GetAwaiter().GetResult();
    
    // Do something useful with the response
    

Ayrıca bkz.