Compartir a través de


Añadir principales de la base de datos para Azure Data Explorer

El Explorador de datos de Azure es un servicio de exploración de datos altamente escalable y rápido para datos de telemetría y registro. En este artículo, aprenderás a agregar principales de base de datos para Azure Data Explorer mediante C#, Python o una plantilla de Azure Resource Manager (ARM).

Prerrequisitos

Los requisitos previos varían en función del método usado para agregar la entidad principal. Elija la pestaña correspondiente para el método preferido.

En la lista siguiente se describen los requisitos previos para agregar un principal de clúster con C#.

Agregar un principal de base de datos

Ejecute el código siguiente para agregar un principal de base de datos:

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
);
Configuración Valor sugerido Descripción del campo
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx El identificador de inquilino. También conocido como identificador de directorio.
ID de suscripción xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identificador de suscripción que se usa para la creación de recursos.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identificador del cliente de la aplicación que puede acceder a los recursos del inquilino.
clientSecret PlaceholderClientSecret Secreto del cliente de la aplicación que puede acceder a los recursos del inquilino.
resourceGroupName testrg Nombre del grupo de recursos que contiene el clúster.
NombreDelCluster mykustocluster Nombre del clúster.
databaseName mykustodatabase Nombre de la base de datos.
databasePrincipalAssignmentName mykustodatabaseprincipalassignment Nombre del recurso principal de base de datos.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identificador principal, que puede ser correo electrónico de usuario, identificador de aplicación o nombre del grupo de seguridad.
role Administrador El rol de su principal de base de datos, que puede ser 'Administrador', 'Ingestor', 'Monitor', 'Usuario', 'VisualizadoresSinRestricciones', 'Visualizador'.
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identificador de inquilino de la entidad principal.
tipoPrincipal Aplicación Tipo del principal, que puede ser "Usuario", "Aplicación" o "Grupo".