Sdílet prostřednictvím


Přidání objektů zabezpečení clusteru 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í clusteru pro Azure Data Explorer pomocí C#, Pythonu nebo šablony Azure Resource Manager (ARM).

Ukázky kódu založené na předchozích verzích sady SDK najdete v archivovaného článku.

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í clusteru

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

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
);
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.
clusterPrincipalAssignmentName mykustoclusterprincipalassignment Název vašeho hlavního prostředku clusteru.
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 AllDatabasesAdmin Role objektu zabezpečení clusteru, která může být AllDatabasesAdmin, AllDatabasesMonitor nebo AllDatabasesViewer.
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.