Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Azure Data Explorer é um serviço de exploração de dados rápido e altamente escalonável para dados telemétricos e de log. Neste artigo, você aprenderá a adicionar entidades de banco de dados ao Azure Data Explorer usando C#, Python ou um modelo do ARM (Azure Resource Manager).
Pré-requisitos
Os pré-requisitos variam de acordo com o método usado para adicionar o principal. Escolha a guia relevante para seu método preferido.
A lista a seguir descreve os pré-requisitos para adicionar um principal de cluster com C#.
- Uma conta Microsoft ou uma identidade de usuário do Microsoft Entra. Uma assinatura do Azure não é necessária.
- Um cluster e um banco de dados do Azure Data Explorer. Criar um cluster e um banco de dados.
- Visual Studio 2022 Community Edition. Ative o desenvolvimento do Azure durante a instalação do Visual Studio.
- Um Aplicativo e principal de serviço do Microsoft Entra que podem 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 pacote NuGet do Azure.Identity para autenticação.
Adicionar um principal de banco de dados
Execute o seguinte código para adicionar uma entidade de banco de dados:
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
);
| Configurações | Valor sugerido | Descrição do campo |
|---|---|---|
| tenantId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | ID do locatário. Também conhecida como ID do diretório. |
| subscriptionId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | A ID da 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 no seu locatário. |
| resourceGroupName | testrg | O nome do grupo de recursos que contém o seu cluster. |
| nome do cluster | mykustocluster | O nome do cluster. |
| databaseName | mykustodatabase | O nome do banco de dados. |
| NomeDeAssociaçãoPrincipalDoBancoDeDados | mykustodatabaseprincipalassignment | O nome do recurso principal do banco de dados. |
| principalId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | O ID principal, que pode ser o email do usuário, a ID do aplicativo ou o nome do grupo de segurança. |
| função | Administrador | A função da entidade principal do seu banco de dados, que pode ser 'Admin', 'Ingestor', 'Monitoramento', 'Usuário', 'VisualizadoresSemRestrição', 'Visualizador'. |
| tenantIdForPrincipal | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | O ID do inquilino da entidade. |
| TipoPrincipal | Aplicativo | O tipo da entidade principal, que pode ser 'Usuário', 'Aplicativo' ou 'Grupo' |