Aracılığıyla paylaş


Uygulama bağlamı ile erişim Microsoft Defender for Cloud Apps

Bu sayfada, kullanıcı olmadan Defender for Cloud Apps program aracılığıyla erişim elde etmek için bir uygulamanın nasıl oluşturulacağı açıklanır. Kullanıcı adına Defender for Cloud Apps program aracılığıyla erişmeniz gerekiyorsa bkz. Kullanıcı bağlamıyla erişim alma. Hangi erişime ihtiyacınız olduğundan emin değilseniz API belirteçlerini yönetme sayfasına bakın.

Microsoft Defender for Cloud Apps, 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 Defender for Cloud Apps özelliklerine göre yenilik oluşturmanıza 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:

  • bir Microsoft Entra uygulaması oluşturun.
  • Bu uygulamayı kullanarak erişim belirteci alın.
  • Defender for Cloud Apps API'ye erişmek için belirteci kullanın.

Bu makalede Microsoft Entra uygulaması oluşturma, Microsoft Defender for Cloud Apps erişim belirteci alma ve belirteci doğrulama açıklanmaktadır.

Defender for Cloud Apps için uygulama oluşturma

  1. Microsoft Entra yönetim merkezi yeni bir uygulama kaydedin. Daha fazla bilgi için bkz. Hızlı Başlangıç: Uygulamayı Microsoft Entra yönetim merkezi kaydetme.

  2. Uygulamanızın Defender for Cloud Apps erişmesini ve 'Tüm uyarıları okuma' izni atamasını sağlamak için uygulama sayfanızda API İzinleriKuruluşumun kullandığı> izin > API'leri >ekle'yiseçin, Microsoft Bulut Uygulamaları Güvenliği yazın ve ardından Microsoft'u seçin Bulut Uygulamaları Güvenliği.

    Not

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

    Uygulamanız için API izinlerini yapılandırmayı gösteren ekran görüntüsü.

  3. Uygulama izinleri>Araştırma.Okuma'yı ve ardından İzin ekle'yi seçin.

    Uygulamanız için hangi API izinlerinin istendiğini gösteren ekran görüntüsü.

  4. İlgili izinleri seçmeniz gerekir. Investigation.Read yalnızca bir örnektir. Diğer izin kapsamları için bkz . Desteklenen izin kapsamları

  5. Hangi izne ihtiyacınız olduğunu belirlemek için çağırmak istediğiniz API'nin İzinler bölümüne bakın.

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

    Yönetici onayı verme seçeneğini gösteren ekran görüntüsü.

  7. Uygulamaya gizli dizi eklemek için Sertifikalar & gizli diziler'i seçin ve Yeni istemci gizli dizisi'ni seçin. Gizli diziye bir açıklama ekleyin ve ekle'yi seçin.

    Not

    Ekle'yi seçtikten sonra oluşturulan gizli dizi değerini kopyala'yı seçin. Ayrıldıktan sonra bu değeri alamazsınız.

    Uygulama anahtarının nasıl oluşturulacağını gösteren ekran görüntüsü.

  8. Uygulama kimliğinizi ve kiracı kimliğinizi not edin. Uygulama sayfanızda Genel Bakış'a gidin ve Uygulama (istemci) Kimliğini ve Dizin (kiracı) Kimliğini kopyalayın.

    Oluşturulan uygulama kimliğini gösteren ekran görüntüsü.

  9. Yalnızca Microsoft Defender for Cloud Apps İş Ortakları için. Uygulamanızı çok kiracılı olacak şekilde ayarlayın (onaydan sonra tüm kiracılarda kullanılabilir). Bu, üçüncü taraf uygulamalar için gereklidir (örneğin, birden çok müşterinin kiracısında çalıştırılması amaçlanan bir uygulama oluşturursanız). Yalnızca kiracınızda çalıştırmak istediğiniz bir hizmet oluşturursanız (örneğin, kendi kullanımınız için yalnızca kendi verilerinizle etkileşim kuracak bir uygulama oluşturursanız) bu gerekli değildir . Uygulamanızı çok kiracılı olarak ayarlamak için:

    • Kimlik Doğrulaması'na gidin ve Yeniden Yönlendirme URI'sini ekleyinhttps://portal.azure.com.

    • Sayfanın alt kısmındaki Desteklenen hesap türleri'nin altında, çok kiracılı uygulamanız için Herhangi bir kuruluş dizini uygulamasındaki hesaplar onayını seçin.

    Uygulamanızı kullanmak istediğiniz her kiracıda onaylanması gerekir. Bunun nedeni uygulamanızın müşteriniz adına Defender for Cloud Apps etkileşim kurmasıdır.

    Sizin (veya üçüncü taraf bir uygulama yazıyorsanız müşterinizin) onay bağlantısını seçip uygulamanızı onaylamanız gerekir. Onay, Active Directory'de yönetici ayrıcalıklarına sahip bir kullanıcıyla yapılmalıdır.

    Onay bağlantısı aşağıdaki gibi oluşturulur:

    https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
    

    Burada 000000000-0000-0000-0000-0000000000000000 yerine uygulama kimliğiniz eklenir.

Bitti! Bir uygulamayı başarıyla kaydettiniz! Belirteç alma ve doğrulama için aşağıdaki örneklere bakın.

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şlemi yapılmaz.

Tüm varlık eylemlerini gerçekleştirin.
Etkinlik 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 investigation.read eylemlerini gerçekleştirin. Etkinlik 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
Discovery.read 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
Discovery.manage 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.okuma IP aralıklarını listeleyin. Alt ağ listesi
Ayarlar.yönet IP aralıklarını listeleme ve yönetme. Alt ağ listesi, oluşturma/güncelleştirme/silme

Erişim belirteci alma

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

PowerShell kullanma

# This script acquires the App Context Token and stores it in the variable $token for later use in the script.
# Paste your Tenant ID, App ID, and App Secret (App key) into the indicated quotes below.

$tenantId = '' ### Paste your tenant ID here
$appId = '' ### Paste your Application ID here
$appSecret = '' ### Paste your Application key here

$resourceAppIdUri = '05a65629-4c1b-48c1-a78b-804c4abdd4af'
$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

C kullanma#

Aşağıdaki kod NuGet Microsoft.Identity.Client 4.47.2 ile test edilmiştir.

  1. Yeni bir konsol uygulaması oluşturun.

  2. NuGet Microsoft.Identity.Client'ı yükleyin.

  3. Aşağıdakileri ekleyin:

    using Microsoft.Identity.Client;
    
  4. Aşağıdaki kodu kopyalayıp uygulamanıza yapıştırın (üç değişkeni güncelleştirmeyi unutmayın: tenantId, appId, appSecret):

    string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here
    string appId = "00001111-aaaa-2222-bbbb-3333cccc4444"; // 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 = "05a65629-4c1b-48c1-a78b-804c4abdd4af";
    
    IConfidentialClientApplication myApp = ConfidentialClientApplicationBuilder.Create(appId).WithClientSecret(appSecret).WithAuthority($"{authority}/{tenantId}").Build();
    
    List scopes = new List() { $"{audience}/.default" };
    
    AuthenticationResult authResult = myApp.AcquireTokenForClient(scopes).ExecuteAsync().GetAwaiter().GetResult();
    
    string token = authResult.AccessToken;
    

Python kullanma

Bkz. Python için Microsoft Kimlik Doğrulama Kitaplığı (MSAL).

Curl kullanma

Not

Aşağıdaki yordamda, Windows için Curl'un bilgisayarınızda zaten yüklü olduğu varsayılır.

  1. Bir komut istemi açın ve CLIENT_ID Azure uygulama kimliğiniz olarak ayarlayın.

  2. CLIENT_SECRET Azure uygulama gizli dizinize ayarlayın.

  3. Defender for Cloud Apps erişmek için uygulamanızı kullanmak isteyen müşterinin Azure kiracı kimliğine TENANT_ID ayarlayın.

  4. 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=05a65629-4c1b-48c1-a78b-804c4abdd4af/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID%/oauth2/v2.0/token" -k
    

    Aşağıdaki biçimde 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ızdan emin olun:

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

  2. İstenen izinlere sahip bir 'roller' talebi aldığınızdan doğrulayın.

  3. Aşağıdaki görüntüde, tüm Microsoft Defender for Cloud Apps rolleri için izinlere sahip bir uygulamadan alınan kodu çözülen belirteci görebilirsiniz:

    Kodu çözülen belirteci gösteren ekran görüntüsü.

Microsoft Defender for Cloud Apps API'ye erişmek için belirteci kullanma

  1. Kullanmak istediğiniz API'yi seçin. Daha fazla bilgi için bkz. Defender for Cloud Apps API'leri.

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

  3. Belirtecin süre sonu bir saattir. Aynı belirteçle birden fazla istek gönderebilirsiniz.

    Aşağıda , C# kullanarak uyarıların listesini almak için istek gönderme örneği verilmiştir:

        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.