Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Data Explorer adalah layanan eksplorasi data yang cepat dan sangat dapat diskalakan untuk data log dan telemetri. Dalam artikel ini, Anda akan mempelajari cara menambahkan prinsipal database untuk Azure Data Explorer dengan menggunakan templat C#, Python, atau Azure Resource Manager (ARM).
Prasyarat
Prasyarat bervariasi berdasarkan metode yang digunakan untuk menambahkan prinsipal. Pilih tab yang relevan untuk metode pilihan Anda.
Daftar berikut menguraikan prasyarat untuk menambahkan prinsip kluster dengan C#.
- Akun Microsoft atau identitas pengguna Microsoft Entra. Langganan Azure tidak diperlukan.
- Kluster dan database Azure Data Explorer. Membuat kluster dan database.
- Visual Studio 2022 Community Edition. Aktifkan pengembangan Azure selama penyiapan Visual Studio.
- Aplikasi Microsoft Entra dan prinsipal layanan yang dapat mengakses sumber daya. Simpan ID Direktori (penyewa),ID Aplikasi, dan Rahasia Klien.
- Instal Azure.ResourceManager.Kusto.
- Instal paket Azure.Identity NuGet untuk autentikasi.
Menambahkan prinsipal database
Jalankan kode berikut untuk menambahkan entitas database:
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID
var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID
var clientSecret = "PlaceholderClientSecret"; //Client Secret
var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
var resourceManagementClient = new ArmClient(credentials, subscriptionId);
var resourceGroupName = "testrg";
//The cluster that is created as part of the Prerequisites
var clusterName = "mykustocluster";
var databaseName = "mykustodatabase";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value;
var database = (await cluster.GetKustoDatabaseAsync(databaseName)).Value;
var databasePrincipalAssignments = database.GetKustoDatabasePrincipalAssignments();
var databasePrincipalAssignmentName = "mykustodatabaseprincipalassignment";
var principalId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //User email, application ID, or security group name
var role = KustoDatabasePrincipalRole.Admin; //Admin, Ingestor, Monitor, User, UnrestrictedViewers, Viewer
var tenantIdForPrincipal = new Guid("xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx");
var principalType = KustoPrincipalAssignmentType.App; //User, App, or Group
var databasePrincipalAssignmentData = new KustoDatabasePrincipalAssignmentData
{
DatabasePrincipalId = principalId, Role = role, PrincipalType = principalType, TenantId = tenantIdForPrincipal
};
await databasePrincipalAssignments.CreateOrUpdateAsync(
WaitUntil.Completed, databasePrincipalAssignmentName, databasePrincipalAssignmentData
);
| Pengaturan | Nilai yang disarankan | Deskripsi bidang |
|---|---|---|
| tenantId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxx | ID penyewa Anda. Juga dikenal sebagai ID direktori. |
| subscriptionId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxx | ID langganan yang Anda gunakan untuk pembuatan sumber daya. |
| clientId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxx | ID klien aplikasi yang dapat mengakses sumber daya di penyewa Anda. |
| clientSecret | PlaceholderClientSecret | Rahasia klien dari aplikasi yang dapat mengakses sumber daya di dalam tenant Anda. |
| resourceGroupName | testrg | Nama grup sumber daya yang berisi kluster Anda. |
| Nama Kluster | mykustocluster | Nama kluster Anda. |
| databaseNama | mykustodatabase | Nama database Anda. |
| Nama Penugasan Utama Database | penugasanprinsipalDatabaseMyKusto | Nama sumber daya utama database Anda. |
| principalId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxx | ID utama, yang dapat berupa email pengguna, ID aplikasi, atau nama grup keamanan. |
| peran | Admin | Peran prinsipal database Anda, yang dapat berupa 'Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers', 'Viewer'. |
| tenantIdForPrincipal | xxxxxxxx-xxxxx-xxxx-xxxx-xxxx | ID penyewa dari prinsipal. |
| jenisUtama | App | Jenis prinsipal, yang dapat berupa 'Pengguna', 'Aplikasi', atau 'Grup' |