Membuat pendaftaran aplikasi Azure Active Directory di Azure Data Explorer
Autentikasi aplikasi Azure Active Directory (Azure AD) 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 menjelaskan cara membuat dan mendaftarkan perwakilan layanan Azure AD lalu mengotorisasinya untuk mengakses database Azure Data Explorer.
Membuat pendaftaran aplikasi Azure AD
Azure AD autentikasi aplikasi memerlukan pembuatan dan pendaftaran aplikasi dengan Azure AD. Perwakilan layanan secara otomatis dibuat saat pendaftaran aplikasi dibuat di penyewa Azure AD.
Masuk ke portal Azure dan buka bilah
Azure Active Directory
Pilih bilah Pendaftaran aplikasi dan pilih Pendaftaran baru
Isi informasi berikut:
- Nama
- Jenis akun yang didukung
- Mengalihkan URI>Web
Penting
Jenis aplikasi harus Web. URI bersifat opsional dan dibiarkan kosong dalam kasus ini.
- Pilih Daftar
Pilih bilah Gambaran Umum dan salin ID Aplikasi.
Catatan
Anda akan memerlukan ID aplikasi untuk mengotorisasi perwakilan layanan untuk mengakses database.
Di bilah Rahasia sertifikat&, pilih Rahasia klien baru
Tip
Artikel ini menjelaskan penggunaan rahasia klien untuk kredensial aplikasi. Anda juga dapat menggunakan sertifikat X509 untuk mengautentikasi aplikasi Anda. Pilih Unggah sertifikat dan ikuti instruksi untuk mengunggah bagian publik sertifikat.
Masukkan deskripsi, kedaluwarsa, dan pilih Tambahkan
Salin nilai kunci.
Catatan
Saat Anda meninggalkan halaman ini, nilai kunci tidak akan dapat diakses. Anda akan memerlukan kunci untuk mengonfigurasi kredensial klien ke database.
Aplikasi Anda dibuat. Jika Anda hanya memerlukan akses ke sumber daya Azure Data Explorer resmi, seperti dalam contoh terprogram di bawah ini, lewati bagian berikutnya. Untuk dukungan izin yang didelegasikan, lihat mengonfigurasi izin yang didelegasikan untuk pendaftaran aplikasi.
Mengonfigurasi izin yang didelegasikan untuk pendaftaran aplikasi
Jika aplikasi Anda perlu mengakses Azure Data Explorer menggunakan kredensial pengguna panggilan, konfigurasikan izin yang didelegasikan untuk pendaftaran aplikasi Anda. Misalnya, jika Anda membuat API web untuk mengakses Azure Data Explorer dan ingin mengautentikasi menggunakan kredensial pengguna yang memanggil API Anda.
Di bilah Izin API , pilih Tambahkan izin.
Pilih API yang digunakan organisasi saya. Cari dan pilih Azure Data Explorer.
Di Izin yang didelegasikan, pilih kotak user_impersonation dan Tambahkan izin
Memberikan akses perwakilan layanan ke database Azure Data Explorer
Sekarang setelah pendaftaran aplikasi perwakilan layanan Anda dibuat, Anda perlu memberikan akses perwakilan layanan yang sesuai ke database Azure Data Explorer Anda. Contoh berikut memberikan akses kepada penampil. Untuk peran lain, lihat Mengelola izin database Azure Data Explorer.
Di antarmuka pengguna web Azure Data Explorer, sambungkan ke database Anda dan buka tab kueri.
Jalankan perintah berikut:
.add database <DatabaseName> viewers ('<ApplicationId>') '<Notes>'Contohnya:
.add database Logs viewers ('aadapp=f778b387-ba15-437f-a69e-ed9c9225278b') 'Azure Data Explorer 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 Azure Data Explorer dapat mereferensikannya. Jika, saat menjalankan perintah, Anda menerima kesalahan bahwa aplikasi tidak ditemukan, tunggu dan coba lagi.
Untuk informasi selengkapnya, lihat manajemen peran keamanan dan izin penyerapan.
Menggunakan kredensial aplikasi untuk mengakses database
Gunakan kredensial aplikasi untuk mengakses database Anda secara terprogram dengan menggunakan pustaka klien Azure Data Explorer.
. . .
string applicationClientId = "<myClientID>";
string applicationKey = "<myApplicationKey>";
. . .
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 mengautentikasi dengan Azure AD untuk akses Azure Data Explorer 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 Azure Data Explorer, Anda harus menyiapkan izin yang didelegasikan untuk aplikasi layanan Azure Data Explorer. Nyatakan aplikasi Anda dapat mengautentikasi pengguna atau aplikasi untuk akses Azure Data Explorer. 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 tentang menyiapkan izin yang didelegasikan untuk aplikasi layanan Azure Data Explorer.
Aktifkan kesalahan persetujuan pengguna
Administrator penyewa Azure AD Anda dapat 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 Azure AD untuk memberikan persetujuan bagi semua pengguna di penyewa, atau mengaktifkan persetujuan pengguna untuk aplikasi spesifik Anda.
Langkah berikutnya
- Lihat String koneksi Kusto untuk daftar string koneksi yang didukung.