Azure Veri Gezgini için veritabanı sorumluları ekleme

Azure Veri Gezgini, günlük ve telemetri verileri için hızlı ve yüksek oranda ölçeklenebilir veri keşfetme hizmetidir. Bu makalede C#, Python veya Azure Resource Manager (ARM) şablonu kullanarak Azure Veri Gezgini için veritabanı sorumluları eklemeyi öğreneceksiniz.

Önkoşullar

Önkoşullar, sorumluyu eklemek için kullanılan yönteme göre değişir. Tercih ettiğiniz yöntem için ilgili sekmeyi seçin.

Aşağıdaki listede C# ile küme sorumlusu ekleme önkoşulları özetlenmiştir.

Veritabanı sorumlusu ekleme

Veritabanı sorumlusu eklemek için aşağıdaki kodu çalıştırın:

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
);
Setting Önerilen değer Alan açıklaması
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx Kiracı kimliğiniz. Dizin kimliği olarak da bilinir.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx Kaynak oluşturmak için kullandığınız abonelik kimliği.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx Kiracınızdaki kaynaklara erişebilen uygulamanın istemci kimliği.
clientSecret PlaceholderClientSecret Kiracınızdaki kaynaklara erişebilen uygulamanın istemci sırrı.
resourceGroupName testrg Kümenizi içeren kaynak grubunun adı.
kümeAdı mykustocluster Kümenizin adı.
databaseName mykustodatabase Veritabanınızın adı.
VeritabanıBaşvuruAtamaAdı mykustodatabaseprincipalassignment Veritabanı asıl kaynağınızın adı.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx Kullanıcı e-postası, uygulama kimliği veya güvenlik grubu adı olabilecek asıl kimlik.
role Yönetici Veritabanı kullanıcınızın rolü, 'Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers' veya 'Viewer' olabilir.
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx Sorumlunun kiracı kimliği.
principalTürü Uygulama 'Kullanıcı', 'Uygulama' veya 'Grup' olabilecek asıl unsurun türü