Lägga till databashuvudkonton för Azure Data Explorer
Azure Data Explorer är en snabb och mycket skalbar datautforskningstjänst för logg- och telemetridata. I den här artikeln får du lära dig hur du lägger till databashuvudkonton för Azure Data Explorer med hjälp av en ARM-mall (C#, Python eller azure Resource Manager).
Förutsättningar
Kraven varierar beroende på vilken metod som används för att lägga till huvudkontot. Välj relevant flik för önskad metod.
I följande lista beskrivs kraven för att lägga till ett klusterhuvudnamn med C#.
- Ett Microsoft-konto eller en Microsoft Entra användaridentitet. En Azure-prenumeration krävs inte.
- Ett Azure Data Explorer-kluster och en databas. Skapa ett kluster och en databas.
- Visual Studio 2022 Community Edition. Aktivera Azure-utveckling under Visual Studio-installationen.
- Ett Microsoft Entra program och tjänstens huvudnamn som har åtkomst till resurser. Spara katalog-ID:t (klientorganisation),program-ID och klienthemlighet.
- Installera Azure.ResourceManager.Kusto.
- Installera Azure.Identity NuGet-paketet för autentisering.
Lägga till ett huvudnamn för databasen
Kör följande kod för att lägga till ett huvudnamn för databasen:
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
);
Inställning | Föreslaget värde | Fältbeskrivning |
---|---|---|
tenantId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Ditt klientorganisations-ID. Kallas även katalog-ID. |
subscriptionId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Det prenumerations-ID som du använder för att skapa resurser. |
ClientID | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Klient-ID för programmet som kan komma åt resurser i din klientorganisation. |
clientSecret | PlatshållareKlientSecret | Klienthemligheten för programmet som kan komma åt resurser i din klientorganisation. |
resourceGroupName | testrg | Namnet på resursgruppen som innehåller klustret. |
clusterName | mykustocluster | Namnet på klustret. |
databaseName | mykustodatabase | Namn på databasen. |
databasePrincipalAssignmentName | mykustodatabaseprincipalassignment | Namnet på databasens huvudresurs. |
principalId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Huvudkonto-ID, som kan vara användarens e-post, program-ID eller säkerhetsgruppsnamn. |
roll | Administratör | Rollen för databasens huvudnamn, som kan vara "Admin", "Ingestor", "Monitor", "User", "UnrestrictedViewers", "Viewer". |
tenantIdForPrincipal | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Klientorganisations-ID för huvudkontot. |
principalType | App | Typ av huvudkonto, som kan vara "Användare", "App" eller "Grupp" |