Kusto bağlantı dizeleri
Kusto bağlantı dizeleri, Kusto istemci uygulamasının Kusto hizmet uç noktasına bağlantı kurması için gereken bilgileri sağlar. Kusto bağlantı dizeleri, ADO.NET bağlantı dizelerinden sonra modellenir. Başka bir ifadeyle, bağlantı dizesi, isteğe bağlı olarak tek bir URI'nin ön ekini alan noktalı virgülle ayrılmış ad-değer parametre çiftleri listesidir.
Örneğin, aşağıdaki Kusto bağlantı dizesi iletişim için hizmet uç noktasını belirten bir URI ile başlar: https://help.kusto.windows.net
. Bu URI özelliğine Data Source
atanır. Ardından, /Samples
bağlantı dizesi içinde varsayılan veritabanını temsil eder ve özelliğine Initial Catalog
atanır. Son olarak, ve diğer iki özellik Fed
Accept
, bağlantı için daha fazla yapılandırma veya özelleştirme seçeneği sağlar.
https://help.kusto.windows.net/Samples; Fed=true; Accept=true
Not
- Özellik adları büyük/küçük harfe duyarlı değildir.
- Özellik değerleri büyük/küçük harfe duyarlıdır.
- Ad-değer parametre çiftleri arasındaki boşluklar yoksayılır.
- Noktalı virgül (), tek tırnak işareti (
;
'
) veya çift tırnak işareti ("
) içeren bir özellik değeri, çift tırnak işaretleri arasına alınmalıdır.
Çeşitli Kusto istemci araçları, ClusterName/
InitialCatalog'un kısa biçimli biçimine izin veren bağlantı dizesi URI ön eki üzerinde bir uzantıyı @
destekler. Örneğin, bu araçlar bağlantı dizesi @help/Samples
olarak https://help.kusto.windows.net/Samples; Fed=true
çevirir.
Program aracılığıyla, C# Kusto.Data.KustoConnectionStringBuilder
sınıfı Kusto bağlantı dizelerini ayrıştırabilir ve işleyebilir. Bu sınıf tüm bağlantı dizelerini doğrular ve doğrulama başarısız olursa bir çalışma zamanı özel durumu oluşturur. Bu işlevsellik Kusto SDK'nın tüm özelliklerinde mevcuttur.
Güvenilen uç noktalar
Kusto uç noktasıyla bağlantı kurulabilmesi için bu uç noktaya güvenilmesi gerekir.
Kusto istemcisi, ana bilgisayar adı bölümü hizmet tarafından verilen tüm uç noktalara güvenir.
Örneğin, DNS ana bilgisayar adı ile kusto.windows.net
biten uç noktalar.
Varsayılan olarak, istemci diğer uç noktalara bağlantı kurmaz. Diğer uç noktalara bağlantılara izin vermek için sınıfını Kusto.Data.Common.KustoTrustedEndpoints
kullanarak güvenilen uç noktalar listesine uç noktalar ekleyin. Varsayılan ilkeyi geçersiz kılmak ve AddTrustedHosts
var olan ilkeye yeni girdiler eklemek için kullanınSetOverridePolicy
.
KustoTrustedEndpoints.AddTrustedHosts(
new[]
{
// Allow an explicit service address
new FastSuffixMatcher.MatchRule("my-kusto.contoso.com", exact: true),
// Allow services whose DNS name end with ".contoso.com"
new FastSuffixMatcher.MatchRule(".contoso.com", exact: false),
}
);
Bağlantı dizesi özellikleri
Aşağıdaki tablolarda Kusto bağlantı dizesi dahil edilebilecek tüm olası özellikler listelenmiştir. Tablolar ayrıca her özellik için diğer adlar sağlar. Ayrıca, tablolar nesnedeki özelliğin Kusto.Data.KustoConnectionStringBuilder
adını temsil eden her özellikle ilişkili programlı adları gösterir.
Genel özellikler
Özellik adı | Programlı ad | Description |
---|---|---|
İzleme için İstemci Sürümü | TraceClientVersion | İstemci sürümünü izlediğinizde bu özelliği kullanın. |
Veri Kaynağı Diğer Adları: Ekleyici, Adres, Ağ Adresi, Sunucu |
Datasource | Kusto hizmet uç noktasını belirten URI. Örneğin, https://mycluster.kusto.windows.net . |
İlk Katalog Diğer Adı: Veritabanı |
InitialCatalog | Varsayılan olarak kullanılacak veritabanının adı. Örneğin, MyDatabase . |
Sorgu Tutarlılığı Diğer Adı: QueryConsistency |
QueryConsistency | strongconsistency Çalıştırmadan önce sorgunun meta verilerle eşitlenip eşitlenmediğini belirlemek için veya weakconsistency olarak ayarlayın. |
Kullanıcı kimlik doğrulaması özellikleri
Özellik adı | Programlı ad | Description |
---|---|---|
Microsoft Entra Kimliği Federasyon Güvenliği Takma: Federasyon Güvenliği, Federasyon, Fed, AADFed |
FederatedSecurity | İstemciye Microsoft Entra kimlik doğrulaması gerçekleştirmesini emreden boole değeri. |
Yetkili Kimliği Diğer Adı: TenantId |
Yetkili | Kullanıcının kiracısının adını veya kimliğini sağlayan dize değeri. microsoft.com varsayılan değerdir. Daha fazla bilgi için bkz. Microsoft Entra yetkilisi. |
MFA Diğer Adını Zorla: MFA, EnforceMFA |
EnforceMfa | İstemciye çok faktörlü kimlik doğrulama belirteci alma talimatı veren isteğe bağlı bir boole değeri. |
Kullanıcı Kimliği Diğer Adları: UID, Kullanıcı |
UserID | İstemciye belirtilen kullanıcı adıyla kullanıcı kimlik doğrulaması gerçekleştirmesini emreden bir dize değeri. |
İzleme için Kullanıcı Adı | TraceUserName | İsteği dahili olarak izlerken hangi kullanıcı adının kullanılacağını hizmete bildiren isteğe bağlı bir dize değeri. |
Kullanıcı Belirteci Diğer Adları: UsrToken, UserToken |
Usertoken | İstemciye belirtilen taşıyıcı belirteci ile kullanıcı kimlik doğrulaması gerçekleştirmesini emreden bir dize değeri. ApplicationClientId , ve ApplicationKey ApplicationToken geçersiz kılar. Belirtilirse, sağlanan belirteç yerine gerçek istemci kimlik doğrulama akışını atlar. |
Kullanıcı kimlik doğrulaması için desteklenen özellik bileşimleri
Kullanıcı kimlik doğrulaması için olarak true
belirtinAAD Federated Security
. Ardından, aşağıdaki kimlik doğrulama modlarından birini seçin ve bu mod için ilgili özellikleri belirtin.
Kimlik doğrulaması modu | Özellik adları |
---|---|
Microsoft Entra kullanıcı istemi kimlik doğrulaması | - Kullanıcı Kimliği (isteğe bağlı) - Yetkili Kimliği (isteğe bağlı) - MFA'yı zorunlu kılma (isteğe bağlı) - İzleme için Kullanıcı Adı (isteğe bağlı) |
Microsoft Entra kullanıcı Belirteci Kimlik Doğrulaması | - Kullanıcı Belirteci - MFA'yı Zorunlu Kılma (isteğe bağlı) - İzleme için Kullanıcı Adı (isteğe bağlı) |
Uygulama kimlik doğrulaması özellikleri
Özellik adı | Programlı ad | Description |
---|---|---|
Microsoft Entra Kimliği Federasyon Güvenliği Takma: Federasyon Güvenliği, Federasyon, Fed, AADFed |
FederatedSecurity | İstemciye Microsoft Entra kimliği federasyon kimlik doğrulaması gerçekleştirmesini emreden boole değeri. |
Uygulama Sertifikası SendX5c Diğer Adları: Uygulama Sertifikası Genel Sertifika Gönder, SendX5c |
ApplicationCertificateSendX5c | İstemciye konu adı ve veren tabanlı kimlik doğrulaması gerçekleştirmesini emreden boole değeri. |
Uygulama Sertifikası Parmak İzi Diğer Adı: AppCert |
ApplicationCertificateThumbprint | Uygulama istemci sertifikası kimlik doğrulama akışı kullanılırken kullanılacak istemci sertifikasının parmak izini sağlayan dize değeri. |
Uygulama İstemci Kimliği Diğer Adı: AppClientId |
ApplicationClientId | Kimlik doğrulaması sırasında kullanılacak uygulama istemci kimliğini sağlayan dize değeri. |
Uygulama Anahtarı Diğer Adı: AppKey |
ApplicationKey | Uygulama gizli dizisi akışı kullanılarak kimlik doğrulaması yapılırken kullanılacak uygulama anahtarını sağlayan dize değeri. |
İzleme Diğer Adı için Uygulama Adı: TraceAppName |
ApplicationNameForTracing | İsteği dahili olarak izlerken hangi uygulama adının kullanılacağını hizmete bildiren isteğe bağlı bir dize değeri. |
Uygulama Belirteci Diğer Adı: AppToken |
ApplicationToken | İstemciye belirtilen taşıyıcı belirteci ile uygulama kimlik doğrulaması gerçekleştirmesini belirten bir dize değeri. |
Yetkili Kimliği Diğer Adı: TenantId |
Yetkili | Uygulamanın kayıtlı olduğu kiracının adını veya kimliğini sağlayan dize değeri. microsoft.com varsayılan değerdir. Daha fazla bilgi için bkz. Microsoft Entra yetkilisi. |
Azure Bölgesi Diğer Adları: AzureRegion, Bölge |
AzureRegion | Kimliğinin doğrulandığı Azure Bölgesi'nin adını sağlayan bir dize değeri. |
ManagedServiceIdentity | EmbeddedManagedIdentity | İstemciye yönetilen kimlik kimlik doğrulaması ile hangi uygulama kimliğinin kullanılacağını belirten bir dize değeri. Sistem tarafından atanan kimliği belirtmek için kullanın system . Bu özellik bir bağlantı dizesi ile ayarlanamaz, yalnızca program aracılığıyla ayarlanabilir. |
Uygulama Sertifikası Konusu Ayırt Edici Ad Diğer Adı : Uygulama Sertifikası Konusu |
ApplicationCertificateSubjectDistinguishedName | Uygulama sertifikası konu ayırt edici adını belirten bir dize değeri. |
Uygulama Sertifikası Veren Ayırt Edici Ad Diğer Adı : Uygulama Sertifikası Veren |
ApplicationCertificateIssuerDistinguishedName | Uygulama sertifikası veren ayırt edici adını belirten bir dize değeri. |
Uygulama kimlik doğrulaması için desteklenen özellik bileşimleri
Uygulama kimlik doğrulaması için olarak true
belirtinAAD Federated Security
. Ardından, aşağıdaki kimlik doğrulama modlarından birini seçin ve bu mod için ilgili özellikleri belirtin.
Kimlik doğrulaması modu | Özellik adları |
---|---|
Uygulama Anahtarı Kimlik Doğrulamayı Microsoft Entra | - Uygulama İstemci Kimliği - Uygulama Anahtarı - Yetkili Kimliği - İzleme için Uygulama Adı (isteğe bağlı) |
Uygulama Parmak İzi Kimlik Doğrulamayı Microsoft Entra | - Uygulama İstemci Kimliği - Uygulama Sertifikası Parmak İzi - Yetkili Kimliği - İzleme için Uygulama Adı (isteğe bağlı) |
Microsoft Entra Uygulama Konusu ve Veren Kimlik Doğrulaması | - Uygulama İstemci Kimliği - Uygulama Sertifikası Konu Ayırt Edici Adı - Uygulama Sertifikası Veren Ayırt Edici Adı - Yetkili Kimliği - Azure Bölgesi (isteğe bağlı) - Uygulama Sertifikası SendX5c (isteğe bağlı) - İzleme için Uygulama Adı (isteğe bağlı) |
Microsoft Entra Uygulama Konu Adı Kimlik Doğrulaması | - Uygulama İstemci Kimliği - Uygulama Sertifikası Konu Ayırt Edici Adı - Yetkili Kimliği ve Azure Bölgesi (isteğe bağlı) - İzleme için Uygulama Adı (isteğe bağlı) |
Uygulama Belirteci Kimlik Doğrulamayı Microsoft Entra | - Uygulama Belirteci - İzleme için Uygulama Adı (isteğe bağlı) |
Uygulama sertifikasıyla kimlik doğrulaması
- Uygulama, verilen sertifikayı kabul etmek üzere yapılandırılmalıdır. Microsoft Entra uygulamanın sertifikasını temel alarak kimlik doğrulaması.
- Uygulama, ilgili Kusto kümesinde yetkili bir sorumlu olarak yapılandırılmalıdır.
- Sertifikanın Yerel Makine deposunda veya Geçerli Kullanıcı deposunda yüklü olması gerekir.
- Sertifikanın ortak anahtarı en az 2048 bit içermelidir.
İstemci iletişim özellikleri
Özellik adı | Programlı ad | Description |
---|---|---|
Kabul Et | Kabul Et | Hata durumunda ayrıntılı hata nesnelerinin döndürülmesini isteyen boole değeri. |
Akış | Akış | İstemcinin çağırana veri sağlamadan önce veri biriktirmemesi isteğinde bulunan boole değeri. Bu, varsayılan davranıştır. |
Sıkıştırılmamış | Sıkıştırılmamış | İstemciden aktarım düzeyinde sıkıştırma istememe isteğinde bulunan boole değeri. |
Not
Streaming
Bayrak etkinleştirildiğinde (varsayılan olarak), SDK tüm yanıt verilerini bellekte arabelleğe almaz; bunun yerine çağıran istekte bulunduğunda verileri hizmetten "çeker". Bu nedenle, hizmetle ağ bağlantısı gereksiz yere açık tutulduktan sonra, bu durumda çağıranın verileri (örneğin IDataReader
) verileri okuması tamamlandıktan sonra düzgün bir şekilde atması önemlidir.
Örnekler
Oturum açmış durumdaki kullanıcı kimliğini kullanarak Microsoft Entra Kimliği Federasyon kimlik doğrulaması (gerekirse kullanıcıdan istenir)
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}"
kullanıcı kimliği ipucuyla Microsoft Entra Kimliği Federasyon kimlik doğrulaması (gerekirse kullanıcıdan istenir)
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}"
ApplicationClientId ve ApplicationKey kullanarak Microsoft Entra Kimliği Federasyon uygulaması kimlik doğrulaması
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}"
Sistem Tarafından Atanan Yönetilen Kimliği Kullanma
var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
.WithAadSystemManagedIdentity();
Kullanıcı Tarafından Atanan Yönetilen Kimliği Kullanma
var kustoUri = "https://<clusterName>.<region>.kusto.windows.net";
var managedIdentityClientId = "<managedIdentityClientId>";
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
.WithAadUserManagedIdentity(managedIdentityClientId);
kullanıcı / uygulama belirteci kullanarak Microsoft Entra Kimliği Federasyon kimlik doğrulaması
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}"
Belirteç sağlayıcısı geri çağırmasını kullanma (belirteç her gerektiğinde çağrılır)
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);
X.509 sertifikası kullanma
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);
Parmak iziyle X.509 sertifikasını kullanma (istemci sertifikayı yerel depodan yüklemeyi dener)
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}"
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin