Kusto. inserimenti-autorizzazioni di inserimentoKusto.Ingest - Ingestion permissions

In questo articolo vengono illustrate le autorizzazioni per la configurazione del servizio, per il funzionamento dell'inserimento Native .This article explains what permissions to set up on your service, for Native ingestion to work.

PrerequisitiPrerequisites

  • Per visualizzare e modificare le impostazioni di autorizzazione per i servizi e i database di Kusto, vedere comandi di controllo kusto.To view and modify authorization settings on Kusto services and databases, see Kusto control commands.

  • Azure Active Directory (Azure AD) applicazioni utilizzate come entità di esempio negli esempi seguenti:Azure Active Directory (Azure AD) applications used as sample principals in the following examples:

    • Test App Azure AD (2a904276-1234-5678-9012-66fc53add60b; microsoft.com)Test Azure AD App (2a904276-1234-5678-9012-66fc53add60b; microsoft.com)
    • App Azure AD inserimento interno kusto (76263cdb-1234-5678-9012-545644e9c404; microsoft.com)Kusto Internal Ingestion Azure AD App (76263cdb-1234-5678-9012-545644e9c404; microsoft.com)

Modalità di autorizzazione inserimento per inserimento in codaIngestion permission mode for queued ingestion

La modalità di autorizzazione di inserimento è definita in IKustoQueuedIngestClient.Ingestion permission mode is defined in IKustoQueuedIngestClient. Questa modalità limita la dipendenza del codice client nel servizio Esplora dati di Azure.This mode limits the client code dependency on the Azure Data Explorer service. L'inserimento viene eseguito inserendo un messaggio di inserimento kusto in una coda di Azure.Ingestion is done by posting a Kusto ingestion message to an Azure queue. La coda, nota anche come servizio di inserimento, viene ottenuta dal servizio Esplora dati di Azure.The queue, also known as the Ingestion service, is gotten from the Azure Data Explorer service. Gli artefatti di archiviazione intermedi verranno creati dal client di inserimento usando le risorse allocate dal servizio Esplora dati di Azure.Intermediate storage artifacts will be created by the ingest client using the resources allocated by the Azure Data Explorer service.

Il diagramma descrive l'interazione del client di inserimento in coda con kusto.The diagram outlines the queued ingestion client interaction with Kusto.

Inserimento in coda

Autorizzazioni per il servizio motorePermissions on the Engine Service

Per qualificarsi per l'inserimento di dati nella tabella T1 nel database DB1 , l'entità che esegue l'operazione di inserimento deve avere l'autorizzazione.To qualify for data ingestion into table T1 on database DB1, the principal doing the ingest operation must have authorization. I livelli minimi di autorizzazione necessari sono Database Ingestor e Table Ingestor possono inserire dati in tutte le tabelle esistenti in un database o in una tabella esistente specifica.Minimal required permission levels are Database Ingestor and Table Ingestor that can ingest data into all existing tables in a database or into a specific existing table. Se è necessaria la creazione della tabella, è Database User necessario assegnare anche un ruolo di accesso di livello superiore.If table creation is required, Database User or a higher access role must also be assigned.

RuoloRole PrincipalTypePrincipalType PrincipalDisplayNamePrincipalDisplayName
Database Ingestor Applicazione Azure ADAzure AD Application Test App (app id: 2a904276-1234-5678-9012-66fc53add60b)
Table Ingestor Applicazione Azure ADAzure AD Application Test App (app id: 2a904276-1234-5678-9012-66fc53add60b)

Kusto Internal Ingestion Azure AD App (76263cdb-1234-5678-9012-545644e9c404)principale, l'app di inserimento interno di Kusto, è immutabilmente mappato al Cluster Admin ruolo.Kusto Internal Ingestion Azure AD App (76263cdb-1234-5678-9012-545644e9c404) principal, the Kusto internal ingestion app, is immutably mapped to the Cluster Admin role. È quindi autorizzato a inserire dati in qualsiasi tabella.It is thus authorized to ingest data to any table. Questo è ciò che accade sulle pipeline di inserimento gestite da kusto.This is what's happening on the Kusto-managed ingestion pipelines.

La concessione delle autorizzazioni necessarie per il database DB1 o T1 la tabella app Azure ad Test App (2a904276-1234-5678-9012-66fc53add60b in Azure AD tenant microsoft.com) avrà un aspetto simile al seguente:Granting required permissions on database DB1 or table T1 to Azure AD App Test App (2a904276-1234-5678-9012-66fc53add60b in Azure AD tenant microsoft.com) would look like this:

.add database DB1 ingestors ('aadapp=2a904276-1234-5678-9012-66fc53add60b;microsoft.com') 'Test Azure AD App'
.add table T1 ingestors ('aadapp=2a904276-1234-5678-9012-66fc53add60b;microsoft.com') 'Test Azure AD App'