Dela via


Lägga till klusterhuvudkonton för Azure Data Explorer

Azure Data Explorer är en snabb och mycket skalbar datautforskningstjänst för logg- och telemetridata. I den här artikeln får du lära dig hur du lägger till klusterhuvudkonton för Azure Data Explorer med hjälp av en C#-, Python- eller en ARM-mall (Azure Resource Manager).

Kodexempel baserade på tidigare SDK-versioner finns i den arkiverade artikeln.

Förutsättningar

Kraven varierar beroende på vilken metod som används för att lägga till huvudkontot. Välj relevant flik för önskad metod.

I följande lista beskrivs kraven för att lägga till ett klusterhuvudnamn med C#.

Lägga till ett klusterobjekt

Kör följande kod för att lägga till ett klusterobjekt:

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
);
Inställning Föreslaget värde Fältbeskrivning
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Ditt klientorganisations-ID. Kallas även katalog-ID.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Det prenumerations-ID som du använder för att skapa resurser.
ClientID xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Klient-ID för programmet som kan komma åt resurser i din klientorganisation.
clientSecret PlatshållareKlientSecret Klienthemligheten för programmet som kan komma åt resurser i din klientorganisation.
resourceGroupName testrg Namnet på resursgruppen som innehåller klustret.
clusterName mykustocluster Namnet på klustret.
clusterPrincipalAssignmentName mykustoclusterprincipalassignment Namnet på resursen för klustrets huvudnamn.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Huvudkonto-ID, som kan vara användarens e-post, program-ID eller säkerhetsgruppsnamn.
roll AllDatabasesAdmin Rollen för klustrets huvudnamn, som kan vara "AllDatabasesAdmin", "AllDatabasesMonitor" eller "AllDatabasesViewer".
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Klientorganisations-ID för huvudkontot.
principalType App Typ av huvudkonto, som kan vara "Användare", "App" eller "Grupp"