Partager via


Ajouter des principaux de base de données pour Azure Data Explorer

L’Explorateur de données Azure est un service d’exploration de données rapide et hautement évolutive pour les données des journaux et les données de télémétrie. Dans cet article, vous allez apprendre à ajouter des principaux de base de données pour Azure Data Explorer à l’aide de C#, Python ou d’un modèle Azure Resource Manager (ARM).

Prérequis

Les conditions préalables varient en fonction de la méthode utilisée pour ajouter le principal. Choisissez l’onglet approprié pour votre méthode préférée.

La liste suivante présente les conditions préalables à l’ajout d’un principal de cluster avec C#.

Ajouter un principal de base de données

Exécutez le code suivant pour ajouter un principal de base de données :

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
);
Paramètre Valeur suggérée Description du champ
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Votre ID de client. Également appelé ID de répertoire.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID d’abonnement que vous utilisez pour la création de ressources.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID client de l’application qui peut accéder aux ressources figurant dans votre locataire.
clientSecret PlaceholderClientSecret Secret client de l’application qui peut accéder aux ressources figurant dans votre locataire.
resourceGroupName testrg Nom du groupe de ressources qui contient votre cluster.
clusterName mykustocluster Nom de votre cluster.
databaseName mykustodatabase Nom de votre base de données.
databasePrincipalAssignmentName mykustodatabaseprincipalassignment Nom de votre principal de base de données.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID du principal, qui peut être l’e-mail de l’utilisateur, l’ID de l’application ou le nom du groupe de sécurité.
rôle Administrateur Rôle de votre principal de base de données, qui peut être « Admin » (Administrateur), « Ingestor » (Ingesteur), « Monitor » (Superviseur), « User » (Utilisateur), « UnrestrictedViewers » (Utilisateurs en lecture sans restrictions) ou « Viewer » (Utilisateur en lecture seule).
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID de locataire du principal.
principalType Application Type du principal, qui peut être « User » (Utilisateur), « App » (Application) ou « Group » (Groupe).