Připojovací řetězce Kusto

Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer

Kusto připojovací řetězec poskytují informace potřebné pro klientskou aplikaci Kusto k navázání připojení ke koncovému bodu služby Kusto. Připojovací řetězec Kusto se modelují po ADO.NET připojovací řetězec. To znamená, že připojovací řetězec je seznam dvojic parametrů s oddělovači s středníkem, volitelně s předponou jediného identifikátoru URI.

Například následující připojovací řetězec Kusto začíná identifikátorem URI, který určuje koncový bod služby pro komunikaci: https://help.kusto.windows.net. Tento identifikátor URI je přiřazen k Data Source vlastnosti. /Samples Dále v rámci připojovací řetězec představuje výchozí databázi a je přiřazena k Initial Catalog vlastnosti. Nakonec dvě další vlastnosti Fed a Acceptposkytují další možnosti konfigurace nebo přizpůsobení připojení.

https://help.kusto.windows.net/Samples; Fed=true; Accept=true

Poznámka:

  • V názvech vlastností se nerozlišuje malá a velká písmena.
  • V hodnotách vlastností se rozlišují malá a velká písmena.
  • Mezery mezi páry parametrů name-value se ignorují.
  • Hodnota vlastnosti, která obsahuje středník (;), jednoduchou uvozovku (') nebo dvojitou uvozovku (") musí být uzavřena mezi uvozovkami.

Několik klientských nástrojů Kusto podporuje rozšíření nad předponou identifikátoru URI připojovací řetězec, která umožňuje zkrácený formát @ClusterName/ Tyto nástroje například přeloží připojovací řetězec @help/Samples na https://help.kusto.windows.net/Samples; Fed=true.

Programově může třída C# Kusto.Data.KustoConnectionStringBuilder parsovat a manipulovat s Kusto připojovací řetězec s. Tato třída ověří všechny připojovací řetězec a vygeneruje výjimku za běhu, pokud se ověření nezdaří. Tato funkce se nachází ve všech příchutích sady Kusto SDK.

Důvěryhodné koncové body

Připojení ke koncovému bodu Kusto je možné navázat pouze v případě, že je tento koncový bod důvěryhodný. Klient Kusto důvěřuje všem koncovým bodům, jejichž hostitelská doména je vydána službou. Například koncové body, jejichž název hostitele DNS končí kusto.windows.net.

Ve výchozím nastavení klient nenaváže připojení k jiným koncovým bodům. Pokud chcete povolit připojení k jiným koncovým bodům, použijte Kusto.Data.Common.KustoTrustedEndpoints třídu k přidání koncových bodů do seznamu důvěryhodných koncových bodů. Slouží SetOverridePolicy k přepsání výchozích zásad a AddTrustedHosts k přidání nových položek do existující zásady.

KustoTrustedEndpoints.AddTrustedHosts(
    new[]
    {
        // Allow an explicit service address
        new FastSuffixMatcher<EndpointContext>.MatchRule("my-kusto.contoso.com", exact: true, new EndpointContext(EndpointType.Kusto)),
        // Allow services whose DNS name end with ".contoso.com"
        new FastSuffixMatcher<EndpointContext>.MatchRule(".contoso.com", exact: false, new EndpointContext(EndpointType.Kusto)),
    }
);

Další informace o obejití sítí s omezeným přístupem najdete v tématu Správa omezení sítě klientů.

Vlastnosti připojovacího řetězce

Následující tabulky obsahují všechny možné vlastnosti, které lze zahrnout do připojovací řetězec Kusto, a poskytují názvy aliasů pro každou vlastnost. Kromě toho tabulky poznamenejte programový název přidružený ke každé vlastnosti, která představuje název vlastnosti v objektu Kusto.Data.KustoConnectionStringBuilder .

Obecné vlastnosti

Název vlastnosti Programový název Popis
Verze klienta pro trasování TraceClientVersion Vlastnost použitá při trasování verze klienta.
Aliasy zdroje

dat: Addr, Address, Network Address, Server
DataSource Identifikátor URI určující koncový bod služby Kusto. Například https://mycluster.kusto.windows.net.
Alias počátečního katalogu

: Databáze
InitialCatalog Výchozí název databáze. Například MyDatabase.
Alias konzistence

dotazů: Konzistence dotazů
Konzistence dotazů Nastavte buď na strongconsistency hodnotu, nebo weakconsistency určete, jestli se má dotaz před spuštěním synchronizovat s metadaty.

Vlastnosti ověřování uživatelů

Název vlastnosti Programový název Popis
Federované aliasy zabezpečení

Microsoft Entra ID: Federované zabezpečení, Federované, Fed, AADFed
FederatedSecurity Logická hodnota, která klientovi dává pokyn k provedení ověřování Microsoft Entra.
Alias ID

autority: Id tenanta
Autorita Řetězcová hodnota, která poskytuje název nebo ID tenanta uživatele. Výchozí hodnota je microsoft.com. Další informace naleznete v tématu Microsoft Entra authority.
Aliasy ID

uživatele: UID, Uživatel
UserID Řetězcová hodnota, která klientovi dává pokyn k ověření uživatele s vyznačeným uživatelským jménem.
Uživatelské jméno pro trasování TraceUserName Volitelná řetězcová hodnota, která hlásí službě uživatelské jméno, které se má použít při interním trasování požadavku.
Aliasy tokenů

uživatele: UsrToken, UserToken
UserToken Řetězcová hodnota, která klientovi dává pokyn k ověření uživatele pomocí zadaného nosné tokenu.

Přepsání ApplicationClientId, ApplicationKeya ApplicationToken. Pokud je zadaný, přeskočí skutečný tok ověřování klienta ve prospěch poskytnutého tokenu.

Podporované kombinace vlastností pro ověřování uživatelů

Pro ověřování uživatele zadejte AAD Federated Security jako true. Pak zvolte jeden z následujících režimů ověřování a zadejte příslušné vlastnosti pro tento režim.

Režim ověřování Názvy vlastností
Ověření výzvy uživatele Microsoft Entra – ID uživatele (volitelné)
– ID autority (volitelné)
– Uživatelské jméno pro trasování (volitelné)
Ověřování uživatelských tokenů Microsoft Entra
tokenu uživatele – Uživatelské jméno pro trasování (volitelné)

Vlastnosti ověřování aplikací

Název vlastnosti Programový název Popis
Federované aliasy zabezpečení

Microsoft Entra ID: Federované zabezpečení, Federované, Fed, AADFed
FederatedSecurity Logická hodnota, která klientovi dává pokyn k provedení federovaného ověřování s ID Microsoft Entra.
Aliasy SendX5c

certifikátu aplikace: Odeslání veřejného certifikátu aplikace, SendX5c
ApplicationCertificateSendX5c Logická hodnota, která klientovi dává pokyn, aby provedl ověřování na základě názvu subjektu a vystavitele.
Alias kryptografického otisku

certifikátu aplikace: AppCert
ApplicationCertificateThumbprint Řetězcová hodnota, která poskytuje kryptografický otisk klientského certifikátu, který se má použít při ověřování toku klientského certifikátu aplikace.
Alias ID

klienta aplikace: AppClientId
ApplicationClientId Řetězcová hodnota, která poskytuje ID klienta aplikace, které se má použít při ověřování.
Alias klíče

aplikace: AppKey
ApplicationKey Řetězcová hodnota, která poskytuje klíč aplikace, který se má použít při ověřování pomocí toku tajných kódů aplikace.
Název aplikace pro alias trasování

: TraceAppName
ApplicationNameForTracing Volitelná řetězcová hodnota, která hlásí službě název aplikace, kterou se má použít při interním trasování požadavku.
Alias tokenu

aplikace: AppToken
ApplicationToken Řetězcová hodnota, která klientovi dává pokyn k ověření aplikace pomocí zadaného nosné tokenu.
Alias ID

autority: Id tenanta
Autorita Řetězcová hodnota, která poskytuje název nebo ID tenanta, ve kterém je aplikace zaregistrovaná. Výchozí hodnota je microsoft.com. Další informace naleznete v tématu Microsoft Entra authority.
Aliasy oblastí

Azure: AzureRegion, Region
Oblast Azure Řetězcová hodnota, která poskytuje název oblasti Azure, ve které se má ověřit.
ManagedServiceIdentity EmbeddedManagedIdentity Řetězcová hodnota, která dává klientovi pokyn, kterou identitu aplikace má použít s ověřováním spravované identity. Slouží system k označení identity přiřazené systémem.

Tuto vlastnost nelze nastavit pomocí připojovací řetězec, pouze prostřednictvím kódu programu.
Alias rozlišujícího názvu

certifikátu aplikace: Předmět certifikátu aplikace
ApplicationCertificateSubjectDistinguishedName Řetězcová hodnota, která určuje rozlišující název subjektu certifikátu aplikace.
Alias rozlišujícího názvu

vystavitele certifikátu aplikace: Vystavitel certifikátu aplikace
ApplicationCertificateIssuerDistinguishedName Řetězcová hodnota, která určuje rozlišující název vystavitele certifikátu aplikace.

Podporované kombinace vlastností pro ověřování aplikací

Pro ověřování aplikací zadejte AAD Federated Security jako true. Pak zvolte jeden z následujících režimů ověřování a zadejte příslušné vlastnosti pro tento režim.

Režim ověřování Názvy vlastností
Ověřování pomocí aplikačního klíče Microsoft Entra – ID
klienta aplikace – Klíč
aplikace – ID
autority – Název aplikace pro trasování (volitelné)
Ověřování kryptografického otisku aplikace Microsoft Entra – ID
klienta aplikace – Kryptografický otisk
certifikátu aplikace – ID
autority – Název aplikace pro trasování (volitelné)
Ověřování subjektu a vystavitele aplikace Microsoft Entra – ID
klienta aplikace – Rozlišující název
subjektu certifikátu aplikace – Rozlišující název
vystavitele certifikátu aplikace – ID
autority – Oblast Azure (volitelné)
– Název aplikace SendX5c (volitelné)
– Název aplikace pro trasování (volitelné)
Ověřování názvu subjektu aplikace Microsoft Entra – ID
klienta aplikace – Rozlišující název
subjektu certifikátu – ID
autority a oblast Azure (volitelné)
– Název aplikace pro trasování (volitelné)
Ověřování tokenů aplikace Microsoft Entra – Token
aplikace – Název aplikace pro trasování (volitelné)

Ověřování pomocí certifikátu aplikace

  1. Aplikace by měla být nakonfigurovaná tak, aby přijímala daný certifikát. Ověřování na základě certifikátu aplikace Microsoft Entra
  2. Aplikace by měla být nakonfigurovaná jako autorizovaný objekt zabezpečení v příslušném prostředí Kusto.
  3. Certifikát musí být nainstalovaný v úložišti místního počítače nebo v aktuálním úložišti uživatelů.
  4. Veřejný klíč certifikátu by měl obsahovat alespoň 2 048 bitů.

Vlastnosti komunikace klienta

Název vlastnosti Programový název Popis
Accept Accept Logická hodnota, která vyžaduje, aby se při selhání vrátily podrobné chybové objekty.
Streamování Streamování Logická hodnota, která vyžaduje, aby klient poskytl data volajícímu okamžitě, aniž by se nejprve nashromáždí. Streamování je výchozí chování.
Dekomprimovaný Dekomprimovaný Logická hodnota, která dává klientovi pokyn, aby se zabránilo vyžádání komprese na úrovni přenosu.

Poznámka:

Pokud je příznak povolený (výchozí), Streaming sada SDK neuchová veškerá data odpovědí do paměti. Místo toho data ze služby při vyžádání volajícího přetáhne. V takovém případě musí volající správně odstranit data, například IDataReader, jakmile se dokončí čtení dat, protože síťové připojení ke službě je zbytečně otevřené.

Příklady

Následující příklady ukazují, jak nastavit připojení pomocí jazyka C#. Příklady v jiných jazycích najdete v tématu Metody ověřování aplikací.

Federované ověřování Microsoft Entra ID s aktuální identitou uživatele

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí ID Microsoft Entra pro federované ověřování. V případě potřeby se uživateli zobrazí výzva k zadání přihlašovacích údajů.

using Kusto.Data;


var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var authority = "contoso.com"; // Or the AAD tenant GUID
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadUserPromptAuthentication(authority);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;Authority Id={authority}"

Federované ověřování Microsoft Entra ID s nápovědou k ID uživatele

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí MICROSOFT Entra ID pro federované ověřování a předem vyplňuje identitu uživatele pomocí userID proměnné. V případě potřeby se uživateli zobrazí výzva k zadání přihlašovacích údajů.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var authority = "contoso.com"; // Or the AAD tenant GUID
var userId = "johndoe@contoso.com";
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
  .WithAadUserPromptAuthentication(authority, userId);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;Authority Id={authority};User ID={userId}"

Ověřování federované aplikace Microsoft Entra ID pomocí ApplicationClientId a ApplicationKey

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí ID Microsoft Entra pro federované ověřování pomocí ID klienta aplikace a klíče.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var appId = "<appId>";
var appKey = "<appKey>";
var authority = "contoso.com"; // Or the AAD tenant GUID
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationKeyAuthentication(appId, appKey, authority);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;AppClientId={appId};AppKey={appKey};Authority Id={authority}"

Ověřování pomocí spravované identity přiřazené systémem

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí spravované identity přiřazené systémem pro ověřování.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadSystemManagedIdentity();

Ověřování pomocí spravované identity přiřazené uživatelem

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí spravované identity přiřazené uživatelem pro ověřování.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var managedIdentityClientId = "<managedIdentityClientId>";
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadUserManagedIdentity(managedIdentityClientId);

Federované ověřování ID Microsoftu s tokeny uživatelů a aplikací

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí Microsoft Entra ID s přístupovým tokenem uživatele nebo přístupovým tokenem aplikace.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var userAccessToken = "<userAccessToken>";
var appAccessToken = "<appAccessToken>";
// AAD User token
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadUserTokenAuthentication(userAccessToken);

// Equivalent Kusto connection string: "Data Source={kustoUri};Database=NetDefaultDB;Fed=True;UserToken={userAccessToken}"
// AAD Application token
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationTokenAuthentication(appAccessToken);

// Equivalent Kusto connection string: "Data Source={kustoUri};Database=NetDefaultDB;Fed=True;ApplicationToken={appAccessToken}"

Ověřování pomocí zpětného volání zprostředkovatele tokenu

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí ID Microsoft Entra s zpětným voláním zprostředkovatele vlastního tokenu. Token se vyvolá při každém vyžadování tokenu.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
Func<string> tokenProviderCallback; // User-defined method to retrieve the access token
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadTokenProviderAuthentication(tokenProviderCallback);

Ověřování pomocí certifikátu X.509

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí ID Microsoft Entra pro federované ověřování pomocí certifikátu aplikace.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var appId = "<appId>";
X509Certificate2 appCert;
var authority = "contoso.com"; // Or the AAD tenant GUID
bool sendX5c; // Set to 'True' to use Trusted Issuer feature of AAD
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationCertificateAuthentication(appId, appCert, authority, sendX5c);

Ověřování pomocí kryptografického otisku certifikátu X.509

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí Microsoft Entra ID s kryptografickým otiskem certifikátu aplikace. Klient se pokusí načíst certifikát z místního úložiště.

using Kusto.Data;

var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var appId = "<appId>";
var appCert = "<appCert>";
var authority = "contoso.com"; // Or the AAD tenant GUID
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationThumbprintAuthentication(appId, appCert, authority);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;AppClientId={appId};AppCert={appCert};Authority Id={authority}"

Federované ověřování Microsoft Entra ID s aktuální identitou uživatele

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí ID Microsoft Entra pro federované ověřování. V případě potřeby se uživateli zobrazí výzva k zadání přihlašovacích údajů.

using Kusto.Data;

var kustoUri = "serviceURI";
var authority = "contoso.com"; // Or the AAD tenant GUID
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadUserPromptAuthentication(authority);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;Authority Id={authority}"

Federované ověřování Microsoft Entra ID s nápovědou k ID uživatele

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí MICROSOFT Entra ID pro federované ověřování a předem vyplňuje identitu uživatele pomocí userID proměnné. V případě potřeby se uživateli zobrazí výzva k zadání přihlašovacích údajů.

using Kusto.Data;

var kustoUri = "serviceURI";
var authority = "contoso.com"; // Or the AAD tenant GUID
var userId = "johndoe@contoso.com";
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
  .WithAadUserPromptAuthentication(authority, userId);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;Authority Id={authority};User ID={userId}"

Ověřování federované aplikace Microsoft Entra ID pomocí ApplicationClientId a ApplicationKey

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí ID Microsoft Entra pro federované ověřování pomocí ID klienta aplikace a klíče.

using Kusto.Data;

var kustoUri = "serviceURI";
var appId = "<appId>";
var appKey = "<appKey>";
var authority = "contoso.com"; // Or the AAD tenant GUID
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationKeyAuthentication(appId, appKey, authority);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;AppClientId={appId};AppKey={appKey};Authority Id={authority}"

Federované ověřování ID Microsoftu s tokeny uživatelů a aplikací

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí Microsoft Entra ID s přístupovým tokenem uživatele nebo přístupovým tokenem aplikace.

using Kusto.Data;

var kustoUri = "serviceURI";
var userAccessToken = "<userAccessToken>";
var appAccessToken = "<appAccessToken>";
// AAD User token
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadUserTokenAuthentication(userAccessToken);

// Equivalent Kusto connection string: "Data Source={kustoUri};Database=NetDefaultDB;Fed=True;UserToken={userAccessToken}"
// AAD Application token
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationTokenAuthentication(appAccessToken);

// Equivalent Kusto connection string: "Data Source={kustoUri};Database=NetDefaultDB;Fed=True;ApplicationToken={appAccessToken}"

Ověřování pomocí zpětného volání zprostředkovatele tokenu

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí ID Microsoft Entra s zpětným voláním zprostředkovatele vlastního tokenu. Token se vyvolá při každém vyžadování tokenu.

using Kusto.Data;

var kustoUri = "serviceURI";
Func<string> tokenProviderCallback; // User-defined method to retrieve the access token
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadTokenProviderAuthentication(tokenProviderCallback);

Ověřování pomocí certifikátu X.509

Následující příklad ukazuje, jak se ověřit ve službě Kusto pomocí ID Microsoft Entra pro federované ověřování pomocí certifikátu aplikace.

using Kusto.Data;

var kustoUri = "serviceURI";
var appId = "<appId>";
X509Certificate2 appCert;
var authority = "contoso.com"; // Or the AAD tenant GUID
bool sendX5c; // Set to 'True' to use Trusted Issuer feature of AAD
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationCertificateAuthentication(appId, appCert, authority, sendX5c);

Ověřování pomocí kryptografického otisku certifikátu X.509

Následující příklad ukazuje, jak nastavit připojení ke službě Kusto pomocí Microsoft Entra ID s kryptografickým otiskem certifikátu aplikace. Klient se pokusí načíst certifikát z místního úložiště.

using Kusto.Data;

var kustoUri = "serviceURI";
var appId = "<appId>";
var appCert = "<appCert>";
var authority = "contoso.com"; // Or the AAD tenant GUID
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
    .WithAadApplicationThumbprintAuthentication(appId, appCert, authority);
// Equivalent Kusto connection string: $"Data Source={kustoUri};Database=NetDefaultDB;Fed=True;AppClientId={appId};AppCert={appCert};Authority Id={authority}"
  • Přehled připojovacích řetězců
  • rozhraní API Kusto
  • dotazovacího jazyka Kusto (KQL)