Mengakses Microsoft Defender for Cloud Apps dengan konteks aplikasi

Halaman ini menjelaskan cara membuat aplikasi untuk mendapatkan akses terprogram ke Defender for Cloud Apps tanpa pengguna. Jika Anda memerlukan akses terprogram ke Defender for Cloud Apps atas nama pengguna, lihat Mendapatkan akses dengan konteks pengguna. Jika Anda tidak yakin akses mana yang Anda butuhkan, lihat halaman Mengelola token API .

Microsoft Defender for Cloud Apps mengekspos sebagian besar data dan tindakannya melalui serangkaian API terprogram. API tersebut membantu Anda mengotomatiskan alur kerja dan berinovasi berdasarkan kemampuan Defender for Cloud Apps. Akses API memerlukan autentikasi OAuth2.0. Untuk informasi selengkapnya, lihat Alur Kode Otorisasi OAuth 2.0.

Secara umum, Anda perlu mengambil langkah-langkah berikut untuk menggunakan API:

  • Buat aplikasi Microsoft Entra.
  • Dapatkan token akses menggunakan aplikasi ini.
  • Gunakan token untuk mengakses API Defender for Cloud Apps.

Artikel ini menjelaskan cara membuat aplikasi Microsoft Entra, mendapatkan token akses ke Microsoft Defender for Cloud Apps, dan memvalidasi token.

Membuat aplikasi untuk Defender for Cloud Apps

  1. Di pusat admin Microsoft Entra, daftarkan aplikasi baru. Untuk informasi selengkapnya, lihat Mulai Cepat: Mendaftarkan aplikasi dengan pusat admin Microsoft Entra.

  2. Untuk mengaktifkan aplikasi Anda mengakses Defender for Cloud Apps dan menetapkan izin 'Baca semua pemberitahuan', di halaman aplikasi Anda, pilih IZIN> APITambahkan API izin>yang digunakan> organisasi saya, ketik Microsoft Cloud App Security, lalu pilih Microsoft Cloud Keamanan Aplikasi.

    Note

    Microsoft Cloud App Security tidak muncul di daftar asli. Mulai tulis namanya di kotak teks untuk melihatnya muncul. Pastikan untuk mengetikkan nama ini, meskipun produk sekarang disebut Defender for Cloud Apps.

    Cuplikan layar memperlihatkan cara mengonfigurasi izin API untuk aplikasi Anda.

  3. Pilih Izin> aplikasiInvestigasi.Baca, lalu pilih Tambahkan izin.

    Cuplikan layar yang menunjukkan izin API mana yang akan diminta untuk aplikasi Anda.

  4. Anda perlu memilih izin yang relevan. Investigation.Read hanyalah contoh. Untuk cakupan izin lainnya, lihat Cakupan izin yang didukung

  5. Untuk menentukan izin mana yang Anda butuhkan, lihat bagian Izin di API yang ingin Anda panggil.

  6. Pilih Berikan perizinan admin.

    Note

    Setiap kali menambahkan izin, Anda harus memilih Berikan persetujuan admin agar izin baru diterapkan.

    Cuplikan layar yang memperlihatkan opsi untuk memberikan persetujuan admin.

  7. Untuk menambahkan rahasia ke aplikasi, pilih Sertifikat & rahasia, pilih Rahasia klien baru. Tambahkan deskripsi ke rahasia, lalu pilih Tambahkan.

    Note

    Setelah Anda memilih Tambahkan, pilih salin nilai rahasia yang dihasilkan. Anda tidak akan dapat mengambil nilai ini setelah Anda pergi.

    Cuplikan layar yang memperlihatkan cara membuat kunci aplikasi.

  8. Tulis ID aplikasi dan ID penyewa Anda. Pada halaman aplikasi Anda, buka Gambaran Umum dan salin ID Aplikasi (klien) dan ID Direktori (penyewa).

    Cuplikan layar yang memperlihatkan ID aplikasi yang dibuat.

  9. Hanya untuk mitra Microsoft Defender for Cloud Apps. Atur aplikasi Anda menjadi multipenyewa (tersedia di semua penyewa setelah persetujuan). Ini diperlukan untuk aplikasi pihak ketiga (misalnya, jika Anda membuat aplikasi yang dimaksudkan untuk dijalankan di beberapa penyewa pelanggan). Ini tidak diperlukan jika Anda membuat layanan yang ingin Anda jalankan di penyewa Anda saja (misalnya, jika Anda membuat aplikasi untuk penggunaan Anda sendiri yang hanya akan berinteraksi dengan data Anda sendiri). Untuk mengatur aplikasi Anda menjadi multipenyewa:

    • Buka Autentikasi, dan tambahkan https://portal.azure.com sebagai URI Pengalihan.

    • Di bagian bawah halaman, di bawah Jenis akun yang didukung, pilih Akun di persetujuan aplikasi direktori organisasi apa pun untuk aplikasi multipenyewa Anda.

    Anda memerlukan aplikasi Anda untuk disetujui di setiap penyewa tempat Anda ingin menggunakannya. Ini karena aplikasi Anda berinteraksi Defender for Cloud Apps atas nama pelanggan Anda.

    Anda (atau pelanggan jika Anda menulis aplikasi pihak ketiga) perlu memilih tautan persetujuan dan menyetujui aplikasi Anda. Persetujuan harus dilakukan dengan pengguna yang memiliki hak istimewa admin dalam Direktori Aktif.

    Tautan persetujuan dibentuk sebagai berikut:

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

    Di mana 00000000-0000-0000-0000-00000000000 diganti dengan ID aplikasi Anda.

Selesai! Anda berhasil mendaftarkan aplikasi! Lihat contoh di bawah ini untuk akuisisi dan validasi token.

Cakupan izin yang didukung

Nama izin Deskripsi Tindakan yang didukung
Investigation.read Lakukan semua tindakan yang didukung pada aktivitas dan pemberitahuan kecuali menutup pemberitahuan.
Lihat rentang IP tetapi tidak menambahkan, memperbarui, atau menghapus.

Lakukan semua tindakan entitas.
Daftar aktivitas, pengambilan, umpan balik
Daftar pemberitahuan, ambil, tandai sebagai sudah dibaca/belum dibaca
Daftar entitas, ambil, ambil pohon
Daftar subnet
Investigation.manage Lakukan semua tindakan investigation.read selain mengelola pemberitahuan dan rentang IP. Daftar aktivitas, pengambilan, umpan balik
Daftar pemberitahuan, ambil, tandai sebagai sudah dibaca/belum dibaca, tutup
Daftar entitas, ambil, ambil pohon
Daftar subnet, buat/perbarui/hapus
Discovery.read Lakukan semua tindakan yang didukung pada aktivitas dan pemberitahuan kecuali menutup pemberitahuan.
Mencantumkan laporan dan kategori penemuan.
Daftar pemberitahuan, ambil, tandai sebagai sudah dibaca/belum dibaca
Laporan daftar penemuan, kategori laporan daftar
Discovery.manage Izin Discovery.read
Tutup pemberitahuan, unggah file penemuan, dan hasilkan skrip blok
Daftar pemberitahuan, ambil, tandai sebagai sudah dibaca/belum dibaca, tutup
Laporan daftar penemuan, kategori laporan daftar
Unggahan file penemuan, hasilkan skrip blok
Settings.read Mencantumkan rentang IP. Daftar subnet
Settings.manage Mencantumkan dan mengelola rentang IP. Daftar subnet, buat/perbarui/hapus

Mendapatkan token akses

Untuk informasi selengkapnya tentang token Microsoft Entra, lihat tutorial Microsoft Entra.

Menggunakan PowerShell

# 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

Gunakan C#

Kode berikut diuji dengan NuGet Microsoft. Identity.Client 4.47.2.

  1. Buat aplikasi konsol baru.

  2. Instal NuGet Microsoft. Identity.Client.

  3. Tambahkan berikut ini:

    using Microsoft.Identity.Client;
    
  4. Salin dan tempel kode berikut di aplikasi Anda (jangan lupa untuk memperbarui tiga variabel: 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;
    

Gunakan Python

Lihat Pustaka Autentikasi Microsoft (MSAL) untuk Python.

Gunakan Curl

Note

Prosedur berikut mengasumsikan bahwa Curl untuk Windows sudah diinstal di komputer Anda.

  1. Buka prompt perintah, dan atur CLIENT_ID ke ID aplikasi Azure Anda.

  2. Atur CLIENT_SECRET ke rahasia aplikasi Azure Anda.

  3. Atur TENANT_ID ke ID penyewa Azure pelanggan yang ingin menggunakan aplikasi Anda untuk mengakses Defender for Cloud Apps.

  4. Jalankan perintah berikut:

    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
    

    Anda mendapatkan jawaban dalam formulir berikut:

    {"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}
    

Validasi token

Pastikan Anda mendapatkan token yang benar:

  1. Salin dan tempel token yang Anda dapatkan di langkah sebelumnya ke JWT untuk mendekodenya.

  2. Validasi bahwa Anda mendapatkan klaim 'peran' dengan izin yang diinginkan.

  3. Dalam gambar berikut, Anda dapat melihat token yang didekodekan yang diperoleh dari aplikasi dengan izin ke semua peran Microsoft Defender for Cloud Apps:

    Cuplikan layar yang memperlihatkan token yang didekodekan.

Gunakan token untuk mengakses API Microsoft Defender for Cloud Apps

  1. Pilih API yang ingin Anda gunakan. Untuk informasi selengkapnya, lihat API Defender for Cloud Apps.

  2. Atur header otorisasi dalam permintaan http yang Anda kirim ke "Pembawa {token}" (Pembawa adalah skema otorisasi).

  3. Waktu kedaluwarsa token adalah satu jam. Anda dapat mengirim lebih dari satu permintaan dengan token yang sama.

    Berikut ini adalah contoh pengiriman permintaan untuk mendapatkan daftar pemberitahuan menggunakan C#:

        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
    

Baca juga