Delen via


Clusterprincipals toevoegen voor Azure Data Explorer

Azure Data Explorer is een snelle en zeer schaalbare service voor gegevensverkenning voor telemetrische gegevens en gegevens uit logboeken. In dit artikel leert u hoe u clusterprincipals voor Azure Data Explorer toevoegt met behulp van C#, Python of een ARM-sjabloon (Azure Resource Manager).

Zie het gearchiveerde artikel voor codevoorbeelden op basis van eerdere SDK-versies.

Vereisten

De vereisten variƫren afhankelijk van de methode die wordt gebruikt om de principal toe te voegen. Kies het relevante tabblad voor de gewenste methode.

De volgende lijst bevat een overzicht van de vereisten voor het toevoegen van een clusterprincipal met C#.

Een clusterprincipal toevoegen

Voer de volgende code uit om een clusterprincipal toe te voegen:

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
);
Instelling Voorgestelde waarde Beschrijving van veld
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Uw tenant-id. Dit wordt ook wel map-id genoemd.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx De abonnements-id die u gebruikt voor het maken van resources.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx De client-id van de toepassing die toegang heeft tot resources in uw tenant.
clientSecret Tijdelijke aanduidingClientSecret Het clientgeheim van de toepassing die toegang heeft tot resources in uw tenant.
resourceGroupName testrg De naam van de resourcegroep die uw cluster bevat.
clusterName mykustocluster De naam van uw cluster.
clusterPrincipalAssignmentName mykustoclusterprincipalassignment De naam van de principal-resource van uw cluster.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx De principal-id, die het e-mailadres van de gebruiker, de toepassings-id of de naam van de beveiligingsgroep kan zijn.
role AllDatabasesAdmin De rol van uw clusterprincipal, die 'AllDatabasesAdmin', 'AllDatabasesMonitor' of 'AllDatabasesViewer' kan zijn.
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx De tenant-id van de principal.
principalType App Het type principal, dat kan 'Gebruiker', 'App' of 'Groep' zijn