Tutorial: Mendapatkan data menggunakan API pelaporan Azure Active Directory dengan sertifikat

API pelaporan Azure Active Directory (AAD) memberi Anda akses terprogram ke data melalui set API berbasis REST. Anda dapat memanggil API ini dari alat dan bahasa pemrogram. Jika ingin mengakses API Pelaporan Azure Active Directory tanpa intervensi pengguna, Anda harus mengonfigurasi akses untuk menggunakan sertifikat.

Di tutorial ini, Anda mempelajari cara menggunakan sertifikat pengujian untuk mengakses API MS Graph untuk pelaporan. Kami tidak merekomendasikan penggunaan sertifikat pengujian di lingkungan produksi.

Prasyarat

  1. Untuk mengakses data masuk, pastikan Anda memiliki penyewa Azure Active Directory dengan lisensi premium (P1/P2). Lihat Memulai dengan Azure Active Directory Premium untuk meningkatkan edisi Azure Active Directory Anda. Perhatikan bahwa jika Anda tidak memiliki data aktivitas apa pun sebelum peningkatan, ini akan memakan waktu beberapa hari agar data muncul dalam laporan setelah Anda meningkatkan ke lisensi premium.

  2. Buat or beralih ke akun pengguna di peran administrator global, administrator keamanan, pembaca keamanan atau pembaca laporan untuk penyewa.

  3. Selesaikan prasyarat untuk mengakses API pelaporan Azure Active Directory.

  4. Unduh dan pasang PowerShell V2 Azure Active Directory.

  5. Pasang MSCloudIdUtils. Modul ini menyediakan beberapa cmdlet utilitas termasuk:

    • Pustaka ADAL yang diperlukan untuk autentikasi
    • Mengakses token dari pengguna, kunci aplikasi, dan sertifikat menggunakan ADAL
    • API Graph menangani hasil halaman
  6. Jika ini pertama kalinya Anda menggunakan modul, jalankan Install-MSCloudIdUtilsModule, jika tidak impor menggunakan perintah PowerShell Impor-Modul. Sesi Anda akan terlihat seperti layar ini: Windows PowerShell

  7. Gunakan commandlet New-SelfSignedCertificate PowerShell untuk membuat sertifikat pengujian.

    $cert = New-SelfSignedCertificate -Subject "CN=MSGraph_ReportingAPI" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
    
  8. Gunakan commandlet Ekspor-Sertifikat untuk mengekspornya ke file sertifikat.

    Export-Certificate -Cert $cert -FilePath "C:\Reporting\MSGraph_ReportingAPI.cer"
    
    

Mendapatkan data menggunakan API pelaporan Azure Active Directory dengan sertifikat

  1. Navigasikan ke portal Microsoft Azure, pilih Azure Active Directory, lalu pilih Pendaftaran aplikasi dan pilih aplikasi Anda dari daftar.

  2. Pilih Sertifikat & rahasia di bawah bagian Kelola pada bilah pendaftaran Aplikasi dan pilih Unggah Sertifikat.

  3. Pilih file sertifikat dari langkah sebelumnya dan pilih Tambahkan.

  4. Perhatikan ID Aplikasi, dan thumbprint sertifikat yang baru saja Anda daftarkan dengan aplikasi Anda. Untuk menemukan thumbprint, dari halaman aplikasi Anda di portal, buka Sertifikat & rahasia di bawah bagian Kelola. Thumbprint akan berada di bawah daftar Sertifikat.

  5. Buka manifes aplikasi di editor manifes sebaris dan verifikasi properti keyCredentials yang diperbarui dengan informasi sertifikat baru Anda seperti yang ditunjukkan di bawah ini -

    "keyCredentials": [
         {
             "customKeyIdentifier": "$base64Thumbprint", //base64 encoding of the certificate hash
             "keyId": "$keyid", //GUID to identify the key in the manifest
             "type": "AsymmetricX509Cert",
             "usage": "Verify",
             "value":  "$base64Value" //base64 encoding of the certificate raw data
         }
     ]
    
  6. Sekarang, Anda bisa mendapatkan token akses untuk API MS Graph menggunakan sertifikat ini. Gunakan cmdlet Get-MSCloudIdMSGraphAccessTokenFromCert dari modul PowerShell MSCloudIdUtils, melewati ID Aplikasi dan thumbprint yang Anda peroleh dari langkah sebelumnya.

    Screenshot shows a PowerShell window with a command that creates an access token.

  7. Gunakan token akses di skrip PowerShell Anda untuk kueri API Graph. Gunakan cmdlet Invoke-MSCloudIdMSGraphQuery dari MSCloudIDUtils untuk menghitung masuk dan titik akhir direktoriAudits. Cmdlet ini menangani hasil beberapa halaman, dan mengirimkan hasil tersebut ke alur PowerShell.

  8. Buat kueri titik akhir directoryAudits untuk mengambil log audit.

    Screenshot shows a PowerShell window with a command to query the directoryAudits endpoint using the access token from earlier in this procedure.

  9. Buat kueri titik akhir masuk untuk mengambil log masuk.

    Screenshot shows a PowerShell window with a command to query the signins endpoint using the access token from earlier in this procedure.

  10. Anda sekarang dapat memilih untuk mengekspor data ini ke CSV dan menyimpan ke sistem SIEM. Anda juga dapat membungkus skrip Anda dalam tugas terjadwal untuk mendapatkan data Azure Active Directory dari penyewa Anda secara berkala tanpa harus menyimpan kunci aplikasi di kode sumber.

Langkah berikutnya