Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure Data Explorer é um serviço de exploração de dados rápido e altamente escalável para dados de log e telemetria. Neste artigo, você aprenderá como adicionar entidades de cluster para o Azure Data Explorer usando C#, Python ou um modelo do Azure Resource Manager (ARM).
Para obter exemplos de código baseados em versões anteriores do SDK, consulte o artigo arquivado.
Pré-requisitos
Os pré-requisitos variam de acordo com o método usado para adicionar o principal. Selecione o separador relevante para o seu método preferido.
A lista a seguir descreve os pré-requisitos para adicionar um principal de cluster utilizando C#.
- Uma conta Microsoft ou uma identidade de utilizador do Microsoft Entra. Uma assinatura do Azure não é necessária.
- Um cluster e um banco de dados do Azure Data Explorer. Crie um cluster e um banco de dados.
- Edição da Comunidade do Visual Studio 2022. Ative o desenvolvimento do Azure durante a configuração do Visual Studio.
- Uma aplicação e entidade de serviço Microsoft Entra que pode acessar recursos. Salve a ID do diretório (locatário), a ID do aplicativo e o segredo do cliente.
- Instale Azure.ResourceManager.Kusto.
- Instale o Azure.Identity para autenticação.
Adicionar um principal de cluster
Execute o seguinte código para adicionar um 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 = 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 subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value;
var clusterPrincipalAssignments = cluster.GetKustoClusterPrincipalAssignments();
var clusterPrincipalAssignmentName = "mykustoclusterprincipalassignment";
var principalId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //User email, application ID, or security group name
var role = KustoClusterPrincipalRole.AllDatabasesAdmin; //AllDatabasesAdmin or AllDatabasesViewer
var tenantIdForPrincipal = new Guid("xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx");
var principalType = KustoPrincipalAssignmentType.App; //User, App, or Group
var clusterPrincipalAssignmentData = new KustoClusterPrincipalAssignmentData
{
ClusterPrincipalId = principalId, Role = role, PrincipalType = principalType, TenantId = tenantIdForPrincipal
};
await clusterPrincipalAssignments.CreateOrUpdateAsync(
WaitUntil.Completed, clusterPrincipalAssignmentName, clusterPrincipalAssignmentData
);
| Setting | Valor sugerido | Descrição do campo |
|---|---|---|
| tenantId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | O ID do inquilino. Também conhecido como ID de diretório. |
| ID de subscrição | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | A ID de assinatura que você usa para a criação de recursos. |
| clientId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | A ID do cliente do aplicativo que pode acessar recursos em seu locatário. |
| clientSecret | PlaceholderClientSecret | O segredo do cliente do aplicativo que pode acessar recursos em seu locatário. |
| resourceGroupName | Testrg | O nome do grupo de recursos que contém o cluster. |
| nome_do_cluster | Mykustocluster | O nome do seu cluster. |
| NomeDeAtribuiçãoPrincipalDoCluster | MykustoClusterPrincipalAssignment | O nome do recurso principal do cluster. |
| principalId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | O ID principal, que pode ser e-mail do usuário, ID do aplicativo ou nome do grupo de segurança. |
| função | AllDatabasesAdmin | A função do principal de cluster, que pode ser 'AllDatabasesAdmin', 'AllDatabasesMonitor' ou 'AllDatabasesViewer'. |
| locatárioIdParaPrincipal | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | O ID do inquilino da entidade. |
| tipoPrincipal | Aplicação | O tipo do principal, que pode ser 'Utilizador', 'Aplicação' ou 'Grupo' |