Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
- Microsoft hesabı veya Microsoft Entra kullanıcı kimliği. Azure aboneliği gerekmez.
- Azure Veri Gezgini kümesi ve veritabanı. Küme ve veritabanı oluşturma.
- Visual Studio 2022 Community Edition. Visual Studio kurulumu sırasında Azure geliştirmeyi açın.
- Kaynaklara erişebilen bir Microsoft Entra Uygulaması ve hizmet sorumlusu. Dizin (kiracı) Kimliği, Uygulama Kimliği ve İstemci Gizli Anahtarı'nı kaydedin.
- Azure.ResourceManager.Kusto'u yükleyin.
- Kimlik doğrulaması için Azure.Identity NuGet paketini yükleyin.
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ü |