Kumpulkan log Azure Active Directory B2C dengan Application Insights
Sebelum memulai, gunakan pemilih Pilih jenis kebijakan untuk memilih jenis kebijakan yang Anda siapkan. Azure Active Directory B2C menawarkan dua metode untuk menentukan cara pengguna berinteraksi dengan aplikasi Anda: melalui alur pengguna yang telah ditentukan sebelumnya atau melalui kebijakan kustom yang sepenuhnya dapat dikonfigurasi. Langkah yang diperlukan dalam artikel ini berbeda untuk setiap metode.
Fitur ini tersedia hanya untuk kebijakan kustom. Untuk langkah-langkah penyiapan, pilih Kebijakan kustom dalam pemilih sebelumnya.
Artikel ini menyediakan langkah-langkah untuk mengumpulkan log dari Active Directory B2C (Azure AD B2C) agar Anda dapat mendiagnosis masalah dengan kebijakan kustom Anda. Application Insights memberikan jalan untuk mendiagnosis pengecualian dan memvisualisasi masalah kinerja aplikasi. Azure AD B2C mencakup fitur untuk mengirim data ke Application Insights.
Log aktivitas terperinci yang dijelaskan di sini harus diaktifkan HANYA selama pengembangan kebijakan kustom Anda.
Peringatan
Jangan atur DeploymentMode
ke Development
dalam lingkungan produksi. Log mengumpulkan semua klaim yang dikirim ke dan dari penyedia identitas. Anda sebagai pengembang bertanggung jawab atas data pribadi apa pun yang dikumpulkan dalam log Application Insights Anda. Log terperinci ini dikumpulkan hanya ketika kebijakan ditempatkan dalam MODE PENGEMBANG.
Siapkan Application Insights
Jika Anda belum memilikinya, buat contoh Application Insights di langganan Anda.
Tip
Satu contoh Application Insights dapat digunakan untuk beberapa penyewa Azure AD B2C. Lalu di kueri, Anda dapat memfilter berdasarkan penyewa atau nama kebijakan. Untuk informasi selengkapnya, lihat log dalam sampel Application Insights.
Untuk menggunakan instans yang sudah ada dari Application Insights di langganan Anda, ikuti langkah-langkah berikut:
- Masuk ke portal Azure.
- Pastikan Anda menggunakan direktori Microsoft Entra yang memiliki langganan Azure Anda, dan bukan direktori Azure AD B2C Anda. Pilih ikon Direktori + langganan di bilah alat portal.
- Pada pengaturan Portal | Halaman Direktori + langganan, temukan direktori Microsoft Entra Anda di daftar Nama direktori, lalu pilih Beralih.
- Buka sumber daya Application Insights yang Anda buat sebelumnya.
- Pada halaman Gambaran Umum, dan rekam Kunci Instrumentasi
Untuk membuat contoh Application Insights di langganan Anda, ikuti langkah-langkah berikut:
- Masuk ke portal Azure.
- Pastikan Anda menggunakan direktori Microsoft Entra yang memiliki langganan Azure Anda, dan bukan direktori Azure AD B2C Anda. Pilih ikon Direktori + langganan di bilah alat portal.
- Pada pengaturan Portal | Halaman Direktori + langganan, temukan direktori Microsoft Entra Anda di daftar Nama direktori, lalu pilih Beralih.
- Pilih Buat sumber daya di menu navigasi sebelah kiri.
- Cari dan pilih Application Insights, lalu pilih Buat.
- Lengkapi formulir, pilih Tinjau + buat, lalu pilih Buat.
- Setelah penyebaran selesai, pilih Buka sumber daya.
- Di bawah Konfigurasikan di menu Application Insights, pilih Properti.
- Rekam KUNCI INSTRUMENTASI untuk digunakan di langkah selanjutnya.
Konfigurasikan kebijakan kustom
Buka file pihak pengandal (RP), misalnya SignUpOrSignin.xml.
Tambahkan atribut berikut ke
<TrustFrameworkPolicy>
elemen:DeploymentMode="Development" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
Jika belum ada, tambahkan
<UserJourneyBehaviors>
simpul anak ke<RelyingParty>
simpul. Itu harus ditemukan setelah<DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" />
. Lihat Referensi skema RelyingParty untuk urutan lengkap elemen turunan RelyingParty .Tambahkan simpul berikut sebagai anak dari elemen
<UserJourneyBehaviors>
. Pastikan untuk mengganti{Your Application Insights Key}
dengan Kunci Instrumentasi Application Insights yang Anda rekam sebelumnya.<JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
DeveloperMode="true"
memberitahu ApplicationInsights untuk mempercepat telemetri melalui pipa pemrosesan. Baik untuk pengembangan, tetapi terkendala pada volume tinggi. Dalam produksi, aturDeveloperMode
kefalse
.ClientEnabled="true"
mengirimkan skrip sisi klien ApplicationInsights untuk melacak tampilan halaman dan kesalahan sisi klien. Anda dapat melihat ini di tabel browserTimings di portal Application Insights. Pada pengaturanClientEnabled= "true"
, Anda menambahkan Application Insights ke skrip halaman dan Anda mendapatkan pengaturan waktu pemuatan halaman dan panggilan AJAX, jumlah, dan detail pengecualian browser dan kegagalan AJAX, dan jumlah pengguna dan sesi. Bidang ini bersifatopsional, dan diaturfalse
secara default.ServerEnabled="true"
mengirimkan UserJourneyRecorder JSON yang ada sebagai peristiwa kustom ke Application Insights.
Contohnya:
<TrustFrameworkPolicy ... TenantId="fabrikamb2c.onmicrosoft.com" PolicyId="SignUpOrSignInWithAAD" DeploymentMode="Development" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights" > ... <RelyingParty> <DefaultUserJourney ReferenceId="UserJourney ID from your extensions policy, or equivalent (for example: SignUpOrSigninWithAzureAD)" /> <Endpoints> <!--points to refresh token journey when app makes refresh token request--> <Endpoint Id="Token" UserJourneyReferenceId="RedeemRefreshToken" /> </Endpoints> <UserJourneyBehaviors> <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" /> </UserJourneyBehaviors> ... </TrustFrameworkPolicy>
Unggah kebijakan.
Lihat log di Application Insights
Ada penundaan singkat, biasanya kurang dari lima menit, sebelum Anda dapat melihat log baru di Application Insights.
- Buka sumber daya Application Insights yang Anda buat di portal Azure.
- Pada halaman Gambaran Umum, pilih Log.
- Buka tab baru di Application Insights.
Berikut adalah daftar kueri yang bisa Anda gunakan untuk melihat log:
Kueri | Deskripsi |
---|---|
traces |
Dapatkan semua log yang dihasilkan oleh Azure AD B2C |
traces | where timestamp > ago(1d) |
Dapatkan semua log yang dihasilkan oleh Azure AD B2C untuk hari terakhir. |
traces | where message contains "exception" | where timestamp > ago(2h) |
Dapatkan semua log dengan kesalahan dari dua jam terakhir. |
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" |
Dapatkan semua log yang dihasilkan oleh penyewa Azure AD B2C contoso.onmicrosoft.com, dan perjalanan pengguna adalah b2c_1a_signinandup. |
traces | where customDimensions.CorrelationId == "00000000-0000-0000-0000-000000000000" |
Dapatkan semua log yang dihasilkan oleh Azure AD B2C untuk ID korelasi. Ganti ID korelasi dengan ID korelasi Anda. |
Entri mungkin panjang. Ekspor ke CSV untuk melihat lebih dekat.
Untuk informasi selengkapnya tentang kueri, lihat Gambaran umum kueri log di Azure Monitor.
Lihat log di ekstensi VS Code
Kami menyarankan Anda untuk menginstal ekstensi Azure AD B2C untuk VS Code. Dengan ekstensi Azure AD B2C, log diatur untuk Anda berdasarkan nama kebijakan, ID korelasi (wawasan aplikasi menyajikan digit pertama ID korelasi), dan tanda waktu log. Fitur ini membantu Anda menemukan log yang relevan berdasarkan tanda waktu lokal dan melihat perjalanan pengguna seperti yang dijalankan oleh Azure AD B2C.
Catatan
Komunitas telah mengembangkan ekstensi Visual Studio Code untuk membantu orang menerapkan dan memelihara solusi Azure AD B2C. Ekstensi ini tidak didukung oleh Microsoft, dan tersedia secara ketat apa adanya.
Mengatur akses API Application Insights
Setelah menyiapkan Application Insights, dan mengonfigurasi kebijakan kustom, Anda harus mendapatkan ID APIApplication Insights Anda, dan membuat API Key. Baik API ID maupun kunci API digunakan oleh ekstensi Azure AD B2C untuk membaca peristiwa Application Insights (telemetri). Kunci API Anda harus dikelola seperti kata sandi. Rahasiakan itu.
Catatan
Kunci instrumentasi Application Insights yang Anda buat sebelumnya digunakan oleh Azure AD B2C untuk mengirim telemetri ke Application Insights. Anda hanya menggunakan kunci instrumentasi dalam kebijakan Azure AD B2C Anda, bukan di ekstensi Visual Studio Code.
Untuk mendapatkan ID dan kunci Application Insights:
Di portal Azure, buka sumber daya Application Insights untuk aplikasi Anda.
Pilih Konfigurasikan, lalu pilih Akses API.
Salin ID Aplikasi
Pilih Buat Kunci API
Centang kotak Baca telemetri.
Salin Kunci sebelum menutup bilah kunci Buat API dan simpan di tempat yang aman. Jika Anda kehilangan kunci, Anda perlu membuat kunci lain.
Menyiapkan ekstensi Azure AD B2C VS Code
Sekarang setelah Anda memiliki ID api dan Kunci Azure Application insights, Anda dapat mengonfigurasi ekstensi Visual Studio Code untuk membaca log. Ekstensi Azure AD B2C VS Code menyediakan dua cakupan untuk pengaturan:
- Pengaturan Global Pengguna - Pengaturan yang berlaku secara global untuk setiap contoh VS Code yang Anda buka.
- Pengaturan Ruang Kerja - Pengaturan disimpan di dalam ruang kerja Anda dan hanya berlaku saat ruang kerja dibuka (menggunakan folder buka VS Code).
Dari penjelajah Pelacakan Azure AD B2C, klik ikon Pengaturan.
Berikan ID dan kunci Azure Application Insights.
Klik Simpan
Setelah Anda menyimpan pengaturan, log Application insights muncul di jendela Azure AD B2C Trace (App Insights).
Mengonfigurasi Application Insights dalam Produksi
Untuk meningkatkan performa lingkungan produksi dan pengalaman pengguna yang lebih baik, penting untuk mengonfigurasi kebijakan Anda untuk mengabaikan pesan yang tidak penting. Gunakan konfigurasi berikut di lingkungan produksi dan tidak ada log yang dikirim ke wawasan aplikasi Anda.
Atur
DeploymentMode
atribut TrustFrameworkPolicy keProduction
.<TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0" TenantId="yourtenant.onmicrosoft.com" PolicyId="B2C_1A_signup_signin" PublicPolicyUri="http://yourtenant.onmicrosoft.com/B2C_1A_signup_signin" DeploymentMode="Production" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights">
Atur
DeveloperMode
dari JourneyInsights kefalse
.<UserJourneyBehaviors> <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" /> </UserJourneyBehaviors>
Perbarui dan uji kebijakan Anda.
Langkah berikutnya
- Pelajari cara memecahkan masalah kebijakan kustom Azure AD B2C