Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure-Daten-Explorer ist ein schneller und hochgradig skalierbarer Dienst zur Untersuchung von Daten (Protokoll- und Telemetriedaten). In diesem Artikel erfahren Sie, wie Sie Datenbankprinzipale für Azure Data Explorer mithilfe von C#, Python oder einer Arm-Vorlage (Azure Resource Manager) hinzufügen.
Voraussetzungen
Die Voraussetzungen variieren je nach der Methode, die zum Hinzufügen des Prinzipals verwendet wird. Wählen Sie die relevante Registerkarte für Ihre bevorzugte Methode aus.
In der folgenden Liste werden die Anforderungen zum Hinzufügen eines Cluster-Principals mit C# beschrieben.
- Ein Microsoft-Konto oder eine Microsoft Entra-Benutzeridentität. Ein Azure-Abonnement ist nicht erforderlich.
- Schnellstart: Erstellen eines Azure Data Explorer-Clusters und einer Datenbank. Erstellen eines Clusters und einer Datenbank
- Visual Studio 2022 Community Edition. Aktivieren Sie die Azure-Entwicklung während des Visual Studio-Setups.
- Eine Microsoft Entra-Anwendung und -Dienstprinzipal, die auf Ressourcen zugreifen können. Speichern Sie die Verzeichnis-ID (Mandanten-ID),Anwendungs-ID und den geheimen Clientschlüssel.
- Installieren Sie Azure.ResourceManager.Kusto.
- Installieren Sie das Azure.Identity NuGet-Paket für die Authentifizierung.
Hinzufügen eines Datenbankprinzipals
Führen Sie den folgenden Code aus, um einen Datenbankprinzipal hinzuzufügen:
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
);
| Einstellung | Empfohlener Wert | Feldbeschreibung |
|---|---|---|
| tenantId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Ihre Mandanten-ID. Wird auch als Verzeichnis-ID bezeichnet. |
| subscriptionId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Die Abonnement-ID, die Sie für die Ressourcenerstellung verwenden. |
| Kunden-ID | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Die Client-ID der Anwendung, die auf Ressourcen in Ihrem Mandanten zugreifen kann. |
| clientSecret | PlaceholderClientSecret | Das Clientgeheimnis der Anwendung, die auf Ressourcen in Ihrem Mandanten zugreifen kann. |
| resourceGroupName | testrg | Der Name der Ressourcengruppe, die Ihren Cluster enthält. |
| clusterName | mykustocluster | Der Name Ihres Clusters. |
| databaseName | mykustodatabase | Der Name der Datenbank. |
| databasePrincipalAssignmentName | mykustodatensatzhauptzuweisung | Der Name der Datenbankprinzipalressource. |
| principalId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Die Prinzipal-ID, die benutzer-E-Mail, Anwendungs-ID oder Sicherheitsgruppenname sein kann. |
| role | Administrator | Die Rolle Ihres Datenbankprinzipals, die "Admin", "Ingestor", "Monitor", "User", "UnrestrictedViewers", "Viewer" sein kann. |
| tenantIdForPrincipal | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Die Mandanten-ID des Hauptbenutzers. |
| Haupttyp | App | Der Typ des Prinzipals, der "Benutzer", "App" oder "Gruppe" sein kann |