Compartir vía


Adición de entidades de seguridad de clúster 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á a agregar entidades de seguridad de clúster para Azure Data Explorer mediante C#, Python o una plantilla de Azure Resource Manager (ARM).

Para obtener ejemplos de código basados en versiones anteriores del SDK, consulte el artículo archivado.

Requisitos previos

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

En la lista siguiente se describen los requisitos previos para agregar una entidad de seguridad de clúster con C#.

Incorporación de una entidad de seguridad de clúster

Ejecute el código siguiente para agregar una entidad de seguridad de clúster:

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
);
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.
subscriptionId 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.
clusterName mykustocluster Nombre del clúster.
clusterPrincipalAssignmentName mykustoclusterprincipalassignment Nombre del recurso principal de clúster.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx El identificador de la entidad de seguridad, que puede ser el correo electrónico del usuario, el identificador de la aplicación o el nombre del grupo de seguridad.
rol AllDatabasesAdmin El rol de la entidad de seguridad del clúster, que puede ser "AllDatabasesAdmin", "AllDatabasesMonitor" o "AllDatabasesViewer".
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx El identificador de inquilino de la entidad de seguridad.
principalType Aplicación El tipo de la entidad de seguridad, que puede ser "User" (Usuario), "App" (Aplicación) o "Group" (Grupo)