Membuat pendaftaran aplikasi Microsoft Entra di Azure Data Explorer
Autentikasi aplikasi Microsoft Entra digunakan untuk aplikasi, seperti layanan tanpa pengawas atau alur terjadwal, yang perlu mengakses Azure Data Explorer tanpa ada pengguna. Jika Anda menyambungkan ke database Azure Data Explorer menggunakan aplikasi, seperti aplikasi web, Anda harus mengautentikasi menggunakan autentikasi perwakilan layanan. Artikel ini merinci cara membuat dan mendaftarkan perwakilan layanan Microsoft Entra lalu mengotorisasinya untuk mengakses database Azure Data Explorer.
Membuat pendaftaran aplikasi Microsoft Entra
Autentikasi aplikasi Microsoft Entra mengharuskan membuat dan mendaftarkan aplikasi dengan ID Microsoft Entra. Perwakilan layanan dibuat secara otomatis saat pendaftaran aplikasi dibuat di penyewa Microsoft Entra.
Pendaftaran aplikasi dapat dibuat di portal Azure, atau secara terprogram dengan Azure CLI. Pilih tab yang sesuai dengan skenario Anda.
Mendaftarkan aplikasi
Masuk ke portal Azure dan buka bilah ID Microsoft Entra.
Telusuri ke Pendaftaran aplikasi dan pilih Pendaftaran baru.
Beri nama aplikasi, misalnya "example-app".
Pilih jenis akun yang didukung, yang menentukan siapa yang bisa menggunakan aplikasi.
Di bagian Alihkan URI, pilih Web untuk jenis aplikasi yang ingin Anda buat. URI bersifat opsional dan dibiarkan kosong dalam kasus ini.
Pilih Daftarkan.
Mengonfigurasikan autentikasi
Ada dua jenis autentikasi yang tersedia untuk perwakilan layanan: autentikasi berbasis kata sandi (rahasia aplikasi) dan autentikasi berbasis sertifikat. Bagian berikut menjelaskan penggunaan autentikasi berbasis kata sandi untuk kredensial aplikasi. Anda dapat menggunakan sertifikat X509 untuk mengautentikasi aplikasi Anda. Untuk informasi selengkapnya, lihat Cara mengonfigurasi autentikasi berbasis sertifikat Microsoft Entra.
Melalui bagian ini, Anda akan menyalin nilai berikut: ID Aplikasi dan nilai kunci. Tempelkan nilai-nilai ini di suatu tempat, seperti editor teks, untuk digunakan dalam langkah mengonfigurasi kredensial klien ke database.
Telusuri ke bilah Gambaran Umum .
Salin ID Aplikasi (klien) dan ID Direktori (penyewa).
Catatan
Anda akan memerlukan ID aplikasi dan ID penyewa untuk mengotorisasi perwakilan layanan untuk mengakses database.
Di bilah Sertifikat & rahasia , pilih Rahasia klien baru.
Masukkan deskripsi dan kedaluwarsa.
Pilih Tambahkan.
Salin nilai kunci.
Catatan
Saat Anda meninggalkan halaman ini, nilai kunci tidak akan dapat diakses.
Anda telah membuat aplikasi Microsoft Entra dan perwakilan layanan Anda.
Mengonfigurasi izin yang didelegasikan untuk aplikasi - opsional
Jika aplikasi Anda perlu mengakses database Anda menggunakan kredensial pengguna panggilan, konfigurasikan izin yang didelegasikan untuk aplikasi Anda. Misalnya, jika Anda membangun API web dan ingin mengautentikasi menggunakan kredensial pengguna yang memanggil API Anda.
Jika Anda hanya memerlukan akses ke sumber daya data yang diotorisasi, Anda dapat melewati bagian ini dan terus Memberikan akses perwakilan layanan ke database.
Telusuri ke bilah izin API pendaftaran Aplikasi Anda.
Pilih Tambahkan izin.
Pilih API yang digunakan organisasi saya.
Cari dan pilih Azure Data Explorer.
Di Izin yang didelegasikan, pilih kotak user_impersonation .
Pilih Tambahkan izin.
Memberikan akses perwakilan layanan ke database
Setelah pendaftaran aplikasi dibuat, Anda perlu memberikan akses perwakilan layanan yang sesuai ke database Anda. Contoh berikut memberikan akses kepada penampil. Untuk peran lain, lihat Mengelola izin database.
Gunakan nilai ID Aplikasi dan ID Penyewa seperti yang disalin di langkah sebelumnya.
Jalankan perintah berikut di editor kueri Anda, ganti nilai tempat penampung ApplicationID dan TenantID dengan nilai aktual Anda:
.add database <DatabaseName> viewers ('aadapp=<ApplicationID>;<TenantID>') '<Notes>'
Contohnya:
.add database Logs viewers ('aadapp=1234abcd-e5f6-g7h8-i9j0-1234kl5678mn;9876abcd-e5f6-g7h8-i9j0-1234kl5678mn') 'App Registration'
Parameter terakhir adalah string yang muncul sebagai catatan saat Anda mengkueri peran yang terkait dengan database.
Catatan
Setelah membuat pendaftaran aplikasi, mungkin ada penundaan beberapa menit hingga dapat dirujuk. Jika Anda menerima kesalahan bahwa aplikasi tidak ditemukan, tunggu dan coba lagi.
Untuk informasi selengkapnya tentang peran, lihat Kontrol akses berbasis peran.
Menggunakan kredensial aplikasi untuk mengakses database
Gunakan kredensial aplikasi untuk mengakses database Anda secara terprogram dengan menggunakan pustaka klien.
. . .
string applicationClientId = "<myClientID>";
string applicationKey = "<myApplicationKey>";
string authority = "<myApplicationTenantID>";
. . .
var kcsb = new KustoConnectionStringBuilder($"https://{clusterName}.kusto.windows.net/{databaseName}")
.WithAadApplicationKeyAuthentication(
applicationClientId,
applicationKey,
authority);
var client = KustoClientFactory.CreateCslQueryProvider(kcsb);
var queryResult = client.ExecuteQuery($"{query}");
Catatan
Tentukan id aplikasi dan kunci pendaftaran aplikasi (perwakilan layanan) yang dibuat sebelumnya.
Untuk informasi selengkapnya, lihat Cara mengautentikasi dengan Microsoft Authentication Library (MSAL) di aplikasi dan menggunakan Azure Key Vault dengan aplikasi web .NET Core.
Pemecahan Masalah
Kesalahan sumber daya tidak valid
Jika aplikasi Anda digunakan untuk mengautentikasi pengguna, atau aplikasi untuk akses, Anda harus menyiapkan izin yang didelegasikan untuk aplikasi layanan. Deklarasikan aplikasi Anda dapat mengautentikasi pengguna atau aplikasi untuk akses. Tidak melakukannya akan mengakibatkan kesalahan yang mirip dengan yang berikut ini, ketika upaya autentikasi dilakukan:
AADSTS650057: Invalid resource. The client has requested access to a resource which is not listed in the requested permissions in the client's application registration...
Anda harus mengikuti instruksi untuk mengonfigurasi izin yang didelegasikan untuk aplikasi.
Aktifkan kesalahan persetujuan pengguna
Administrator penyewa Microsoft Entra Anda mungkin memberlakukan kebijakan yang mencegah pengguna penyewa memberikan persetujuan kepada aplikasi. Situasi ini akan mengakibatkan kesalahan yang mirip dengan yang berikut ini, ketika pengguna mencoba masuk ke aplikasi Anda:
AADSTS65001: The user or administrator has not consented to use the application with ID '<App ID>' named 'App Name'
Anda harus menghubungi administrator Microsoft Entra untuk memberikan persetujuan bagi semua pengguna di penyewa, atau mengaktifkan persetujuan pengguna untuk aplikasi tertentu Anda.