Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Data Explorer is een snelle en zeer schaalbare service voor gegevensverkenning voor logboek- en telemetriegegevens. In dit artikel leert u hoe u cluster-principals voor Azure Data Explorer toevoegt met behulp van C#, Python of een ARM-sjabloon (Azure Resource Manager).
Vereiste voorwaarden
De vereisten variëren op basis van de methode die wordt gebruikt om de principal toe te voegen. Kies het relevante tabblad voor de gewenste methode.
De volgende lijst bevat een overzicht van de vereisten voor het toevoegen van een cluster-principal met C#.
- Een Microsoft-account of een Azure Active Directory-gebruikersidentiteit. Er is geen Azure-abonnement vereist.
- Een Azure Data Explorer-cluster en -database. Maak een cluster en database.
- Visual Studio 2022 Community Edition. Schakel Azure-ontwikkeling in tijdens de installatie van Visual Studio.
- Een Azure AD-applicatie en service-principal die toegang heeft tot resources. Sla de map-id (tenant),de toepassings-id en het clientgeheim op.
- Installeer Microsoft.Azure.Management.kusto en Microsoft.Rest.ClientRuntime.Azure.Authentication.
Een cluster-principal toevoegen
Voer de volgende code uit om een cluster-principal toe te voegen:
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
);
Instelling | Voorgestelde waarde | Veldbeschrijving |
---|---|---|
huurderId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | Uw tenant-id. Ook wel directory-id genoemd. |
abonnements-id | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | De abonnements-id die u gebruikt voor het aanmaken van resources. |
clientId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | De client-id van de toepassing die toegang heeft tot resources in uw tenant. |
cliëntgeheim | Tijdelijke aanduidingClientSecret | Het clientgeheim van de toepassing die toegang heeft tot resources in uw tenant. |
naam van resourcegroep | testrg | De naam van de resourcegroep die uw cluster bevat. |
clusternaam | mykustocluster | De naam van je cluster. |
hoofdopdrachtNaam | clusterPrincipalAssignment1 | De naam van uw clustervoornaamste bron. |
principaalId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx | De principal-id, die gebruikers-e-mail, toepassings-id of naam van de beveiligingsgroep kan zijn. |
rol | AllDatabasesAdmin | De rol van uw cluster-principal, die 'AllDatabasesAdmin', 'AllDatabasesMonitor' of 'AllDatabasesViewer' kan zijn. |
tenantIdForPrincipal | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | De tenant-id van de principal. |
hoofdType | App | Het type van de principal, dat 'Gebruiker', 'App' of 'Groep' kan zijn |