Bagikan melalui


Menambahkan prinsip kluster 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 kluster untuk Azure Data Explorer dengan menggunakan templat C#, Python, atau Azure Resource Manager (ARM).

Untuk sampel kode berdasarkan versi SDK sebelumnya, lihat artikel yang diarsipkan.

Prasyarat

Prasyarat bervariasi berdasarkan metode yang digunakan untuk menambahkan prinsipal. Pilih tab yang relevan untuk metode pilihan Anda.

Daftar berikut menguraikan prasyarat untuk menambahkan prinsipal kluster dengan C#.

Menambahkan prinsipal kluster

Jalankan kode berikut untuk menambahkan perwakilan kluster:

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 subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value;
var clusterPrincipalAssignments = cluster.GetKustoClusterPrincipalAssignments(); 
var clusterPrincipalAssignmentName = "mykustoclusterprincipalassignment";
var principalId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //User email, application ID, or security group name
var role = KustoClusterPrincipalRole.AllDatabasesAdmin; //AllDatabasesAdmin or AllDatabasesViewer
var tenantIdForPrincipal = new Guid("xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx");
var principalType = KustoPrincipalAssignmentType.App; //User, App, or Group
var clusterPrincipalAssignmentData = new KustoClusterPrincipalAssignmentData
{
    ClusterPrincipalId = principalId, Role = role, PrincipalType = principalType, TenantId = tenantIdForPrincipal
};
await clusterPrincipalAssignments.CreateOrUpdateAsync(
    WaitUntil.Completed, clusterPrincipalAssignmentName, clusterPrincipalAssignmentData
);
Pengaturan Nilai yang disarankan Deskripsi bidang
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID penyewa Anda. Juga dikenal sebagai ID direktori.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID langganan yang Anda gunakan untuk pembuatan sumber daya.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID klien aplikasi yang dapat mengakses sumber daya di penyewa Anda.
clientSecret PlaceholderClientSecret Rahasia klien aplikasi yang dapat mengakses sumber daya di penyewa Anda.
resourceGroupName testrg Nama grup sumber daya yang berisi kluster Anda.
clusterName mykustocluster Nama kluster Anda.
clusterPrincipalAssignmentName mykustoclusterprincipalassignment Nama sumber daya utama kluster Anda.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID utama, yang dapat berupa email pengguna, ID aplikasi, atau nama grup keamanan.
peran AllDatabasesAdmin Peran perwakilan kluster Anda, yang dapat berupa 'AllDatabasesAdmin', 'AllDatabasesMonitor', atau 'AllDatabasesViewer'.
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID penyewa utama.
principalType Aplikasi Jenis prinsipal, yang dapat berupa 'Pengguna', 'Aplikasi', atau 'Grup'