Udostępnij za pośrednictwem


Dodawanie podmiotów zabezpieczeń bazy danych dla usługi Azure Data Explorer

Azure Data Explorer to szybka i wysoce skalowalna usługa eksploracji danych na potrzeby danych dziennika i telemetrycznych. W tym artykule dowiesz się, jak dodawać podmioty zabezpieczeń bazy danych dla usługi Azure Data Explorer przy użyciu języka C#, Python lub szablonu usługi Azure Resource Manager (ARM).

Wymagania wstępne

Wymagania wstępne różnią się w zależności od metody użytej do dodania podmiotu zabezpieczeń. Wybierz odpowiednią kartę dla preferowanej metody.

Poniższa lista przedstawia wymagania wstępne dotyczące dodawania podmiotu zabezpieczeń klastra przy użyciu języka C#.

Dodawanie podmiotu zabezpieczeń bazy danych

Uruchom następujący kod, aby dodać jednostkę bazy danych:

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
);
Ustawienie Sugerowana wartość Opis pola
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identyfikator dzierżawy. Znany również jako identyfikator katalogu.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identyfikator subskrypcji używany do tworzenia zasobów.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identyfikator klienta aplikacji, która może uzyskiwać dostęp do zasobów w dzierżawie.
clientSecret Symbol zastępczyClientSecret Wpis tajny klienta aplikacji, która może uzyskiwać dostęp do zasobów w dzierżawie.
resourceGroupName testrg Nazwa grupy zasobów zawierającej klaster.
clusterName mykustocluster Nazwa klastra.
databaseName mykustodatabase Nazwa bazy danych.
databasePrincipalAssignmentName mykustodatabaseprincipalassignment Nazwa zasobu jednostki bazy danych.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identyfikator podmiotu zabezpieczeń, który może być adresem e-mail użytkownika, identyfikatorem aplikacji lub nazwą grupy zabezpieczeń.
role (rola) Administracja Rola podmiotu zabezpieczeń bazy danych, która może mieć wartość "Administracja", "Ingestor", "Monitor", "User", "UnrestrictedViewers", "Viewer".
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx Identyfikator dzierżawy podmiotu zabezpieczeń.
principalType Aplikacja Typ podmiotu zabezpieczeń, który może mieć wartość "Użytkownik", "Aplikacja" lub "Grupa"