Membuat pendaftaran aplikasi Microsoft Entra di Azure Data Explorer

Microsoft Entra autentikasi aplikasi 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 Microsoft Entra lalu mengotorisasinya untuk mengakses database Azure Data Explorer.

Membuat pendaftaran aplikasi Microsoft Entra

Microsoft Entra autentikasi aplikasi memerlukan pembuatan dan pendaftaran aplikasi dengan Microsoft Entra ID. Perwakilan layanan secara otomatis dibuat 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

  1. Masuk ke portal Azure dan buka bilah Microsoft Entra ID.

  2. Telusuri ke Pendaftaran aplikasi dan pilih Pendaftaran baru.

    Cuplikan layar memperlihatkan cara memulai pendaftaran aplikasi baru.

  3. Beri nama aplikasi, misalnya "example-app".

  4. Pilih jenis akun yang didukung, yang menentukan siapa yang bisa menggunakan aplikasi.

  5. Di bagian Alihkan URI, pilih Web untuk jenis aplikasi yang ingin Anda buat. URI bersifat opsional dan dibiarkan kosong dalam kasus ini.

    Cuplikan layar memperlihatkan cara mendaftarkan pendaftaran aplikasi baru.

  6. Pilih Daftar.

Siapkan 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.

  1. Telusuri ke bilah Gambaran Umum .

  2. Salin ID Aplikasi (klien) dan ID Direktori (penyewa).

    Catatan

    Anda akan memerlukan ID aplikasi dan ID penyewa untuk mengotorisasi perwakilan layanan untuk mengakses database.

  3. Di bilah Sertifikat & rahasia , pilih Rahasia klien baru.

    Cuplikan layar memperlihatkan cara memulai pembuatan rahasia klien.

  4. Masukkan deskripsi dan kedaluwarsa.

  5. Pilih Tambahkan.

  6. Salin nilai kunci.

    Catatan

    Saat Anda meninggalkan halaman ini, nilai kunci tidak akan dapat diakses.

Anda telah membuat aplikasi Microsoft Entra dan perwakilan layanan.

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.

  1. Telusuri ke bilah izin APIpendaftaran Aplikasi Anda.

  2. Pilih Tambahkan izin.

  3. Pilih API yang digunakan organisasi saya.

  4. Cari dan pilih Azure Data Explorer.

    Cuplikan layar memperlihatkan cara menambahkan izin Azure Data Explorer API.

  5. Di Izin yang didelegasikan, pilih kotak user_impersonation .

  6. Pilih Tambahkan izin.

    Cuplikan layar memperlihatkan cara memilih izin yang didelegasikan dengan peniruan identitas pengguna.

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.

  1. Gunakan nilai ID Aplikasi dan ID Penyewa seperti yang disalin pada langkah sebelumnya.

  2. 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 sampai 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. Nyatakan 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.

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 spesifik Anda.