Tambahkan prinsipal database untuk Azure Data Explorer

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

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'