Sdílet prostřednictvím


Přidání objektů databáze pro Azure Data Explorer

Průzkumník dat Azure je rychlá a vysoce škálovatelná služba pro zkoumání dat protokolů a telemetrie. V tomto článku se dozvíte, jak přidat objekty zabezpečení databáze pro Azure Data Explorer pomocí C#, Pythonu nebo šablony Azure Resource Manager (ARM).

Požadavky

Požadavky se liší v závislosti na metodě použité k přidání objektu zabezpečení. Zvolte příslušnou kartu pro upřednostňovanou metodu.

Následující seznam popisuje požadavky na přidání objektu zabezpečení clusteru pomocí jazyka C#.

Přidání objektu zabezpečení databáze

Spuštěním následujícího kódu přidejte objekt zabezpečení databáze:

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
);
Nastavení Navrhovaná hodnota Popis pole
id tenanta xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID vašeho tenanta Označuje se také jako ID adresáře.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID předplatného, které použijete k vytvoření prostředku.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID klienta aplikace, která má přístup k prostředkům ve vašem tenantovi.
clientSecret Zástupný klientSecret Tajný klíč klienta aplikace, která má přístup k prostředkům ve vašem tenantovi.
resourceGroupName testrg Název skupiny prostředků obsahující váš cluster.
clusterName mykustocluster Název vašeho clusteru.
databaseName databáze mykustodatabase Název databáze.
databasePrincipalAssignmentName mykustodatabaseprincipalassignment Název vašeho prostředku instančního objektu databáze.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Hlavní ID, kterým může být e-mail uživatele, ID aplikace nebo název skupiny zabezpečení.
role Správce Role objektu zabezpečení databáze, která může být "Správa", "Ingestor", "Monitor", "Uživatel", "UnrestrictedViewers", "Viewer".
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID tenanta objektu zabezpečení.
principalType Aplikace Typ objektu zabezpečení, kterým může být Uživatel, Aplikace nebo Skupina.