Ajouter des principaux de cluster 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 cluster pour Azure Data Explorer en utilisant C#, Python ou 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#.
- Un compte Microsoft ou une identité d’utilisateur Azure Active Directory. Un abonnement Azure n’est pas requis.
- Un cluster et une base de données Azure Data Explorer. Créez un cluster et une base de données.
- Visual Studio 2022 Community Edition. Activez le développement Azure pendant l’installation de Visual Studio.
- Une application Azure AD et un principal de service ayant accès aux ressources. Enregistrez l’ID du répertoire (locataire),l’ID d’application et la clé secrète client.
- Installez Microsoft.Azure.Management.kusto et Microsoft.Rest.ClientRuntime.Azure.Authentication.
Ajouter un principal de cluster
Exécutez le code suivant pour ajouter un principal de cluster :
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 = await ApplicationTokenProvider.LoginSilentAsync(tenantId, clientId, clientSecret);
var kustoManagementClient = new KustoManagementClient(credentials) { SubscriptionId = subscriptionId };
var resourceGroupName = "testrg";
//The cluster that is created as part of the Prerequisites
var clusterName = "mykustocluster";
var clusterPrincipalAssignmentName = "mykustoclusterprincipalassignment";
var principalId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //User email, application ID, or security group name
var role = "AllDatabasesAdmin"; //AllDatabasesAdmin or AllDatabasesViewer
var tenantIdForPrincipal = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var principalType = "App"; //User, App, or Group
var clusterPrincipalAssignmentData = new ClusterPrincipalAssignment(
principalId: principalId, role: role, principalType: principalType, tenantId: tenantIdForPrincipal
);
await kustoManagementClient.ClusterPrincipalAssignments.CreateOrUpdateAsync(
resourceGroupName, clusterName, clusterPrincipalAssignmentName, clusterPrincipalAssignmentData
);
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. |
principalAssignmentName | clusterPrincipalAssignment1 | Nom de votre principal de cluster. |
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 | AllDatabasesAdmin | Rôle de votre principal de cluster, qui peut être « AllDatabasesAdmin », « AllDatabasesMonitor » ou « AllDatabasesViewer ». |
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). |