Delen via


Database-principals 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 database-principals voor Azure Data Explorer toevoegt met behulp van C#, Python of een ARM-sjabloon (Azure Resource Manager).

Vereisten

De vereisten variƫren op basis 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 database-principal toevoegen

Voer de volgende code uit om een database-principal 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 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
);
Instelling Voorgestelde waarde Beschrijving van veld
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Uw tenant-id. Ook wel bekend als map-id.
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 PlaceholderClientSecret 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.
databaseName mykustodatabase De naam van uw database.
databasePrincipalAssignmentName mykustodatabaseprincipalassignment De naam van uw database-principalresource.
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 Beheerder De rol van uw database-principal, die 'Beheer', 'Ingestor', 'Monitor', 'Gebruiker', 'UnrestrictedViewers', 'Viewer' kan zijn.
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx De tenant-id van de principal.
principalType App Het type principal, dat 'Gebruiker', 'App' of 'Groep' kan zijn