Yönetilen kimlik doğrulaması kullanılarak alım için blobları kuyruğa alın

Blobları kendi depolama hesaplarınızdan almak üzere kuyruğa aldığınızda, paylaşılan erişim imzası (SAS) belirteçlerine ve Paylaşılan Anahtarlar kimlik doğrulama yöntemlerine alternatif olarak yönetilen kimlikleri kullanın. Müşteri SAS belirteçlerinizi veya paylaşılan anahtarlarınızı hizmetle paylaşmanız gerekmediğinden yönetilen kimlikler verileri almak için daha güvenli bir yol sağlar. Bunun yerine, kümenize yönetilen bir kimlik atayın ve verileri almak için kullanılan depolama hesabı için okuma izinleri verin. Bu izinleri istediğiniz zaman iptal edebilirsiniz.

Not

  • Bu kimlik doğrulama yöntemi yalnızca müşteriye ait depolama hesaplarında bulunan Azure blobları ve Azure Data Lake dosyaları için geçerlidir. Kusto SDK kullanılarak yukarı yüklenen yerel dosyalar için geçerli değildir.
  • Yalnızca sıraya alınmış veri alma desteklenir. Kusto Sorgu Dili'nde satır içi alım ve SDK API'leri kullanılarak doğrudan alım desteklenmez.

Kümenize yönetilen kimlik atama

Kümenize Sistem veya Kullanıcı Tarafından Atanan yönetilen kimlik eklemek için Yönetilen kimliklere genel bakış'ı izleyin. Kümenizde istenen yönetilen kimlik zaten atanmışsa, aşağıdaki adımları kullanarak nesne kimliğini kopyalayın:

  1. Kümenizi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.

  2. Kümenize gidin ve Kimlik'i seçin.

  3. Sistem veya kullanıcı tarafından atanan uygun kimlik türünü seçin ve ardından gerekli kimliğin nesne kimliğini kopyalayın.

Sistem tarafından yönetilen kimlik nesnesi I D'yi gösteren genel bakış sayfasının ekran görüntüsü

Yönetilen kimliğe izin ver

  1. Azure portalında, almak istediğiniz verileri içeren depolama hesabına gidin.

  2. Erişim Denetimi seçin, ardından + Ekle ve Rol Ataması Ekle seçeneğini seçin.

  3. Yönetilen kimliğe Depolama Blobu Veri Okuyucusu veya DeleteSourceOnSuccess kaynak seçeneğini kullanmayı düşünüyorsanız Depolama Blobu Verileri Katılımcısı izinlerini depolama hesabına verin.

Not

Sahip veya Katkıda Bulunan izinleri vermek yeterli değildir ve veri alımının başarısız olmasına neden olur.

Yönetilen kimlikleri kullanarak alma için sistem tarafından atanan rolü gösteren rol ataması ekleme sayfasının ekran görüntüsü

Önemli

Ağ sorunları oluşursa Azure Depolama bir Download Forbidden hata döndürebilir. Depolama hesabınıza erişmek için özel bir bağlantı kullanırsanız bu hata oluşabilir. Böyle durumlarda izinler doğruysa depolama hesabınıza bağlantıyı denetleyin.

Azure Veri Gezgini'de yönetilen kimlik ilkesini ayarlama

Yönetilen kimliği kullanarak kümenize veri yüklemek için, seçili yönetilen kimliğe NativeIngestion kullanım iznini verin. Yerel içe aktarma, bir dış kaynaktan veri almak için bir SDK'nın kullanılabilmesini ifade eder. Kullanılabilir SDK'lar hakkında daha fazla bilgi için İstemci kitaplıkları bölümüne bakın.

Kullanım Yönetilen Kimliği ilkesini hedef kümenin küme veya veritabanı düzeyinde tanımlayabilirsiniz.

İlkeyi veritabanı düzeyinde uygulamak için aşağıdaki komutu çalıştırın:

.alter-merge database <database name> policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"

İlkeyi küme düzeyinde uygulamak için aşağıdaki komutu çalıştırın:

.alter-merge cluster policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"

<managed_identity_id> metinini gerekli yönetilen kimliğin nesne kimliğiyle değiştirin.

Not

Yönetilen Kimlik İlkesini All Database Admin güncellemek için küme üzerinde gerekli izne sahip olmalısınız.

Kusto SDK kullanarak, yönetilen kimlikle alım işlemi için blobları kuyruğa al.

Kusto SDK kullanarak veri aldığınızda, yetkisiz blob URI'sine ;managed_identity={objectId} ekleyip yönetilen kimlik doğrulamasıyla blob URI'nizi oluşturun. Kümenizin sistem tarafından atanan yönetilen kimliğini kullanarak veri aktarırsanız ;managed_identity=system'i blob URI'sine ekleyebilirsiniz.

Önemli

Kuyruğa alınmış bir veri alma istemcisi kullanmanız gerekir. Kusto Sorgu Dili'nde doğrudan veri alımı veya satır içi veri alımı ile yönetilen kimliklerin kullanımı desteklenmez.

Aşağıdaki örneklerde sistem ve kullanıcı tarafından atanan yönetilen kimlikler için blob URI'leri gösterilmektedir.

  • Sistem tarafından atanan: https://demosa.blob.core.windows.net/test/export.csv;managed_identity=system
  • Atanan kullanıcı: https://demosa.blob.core.windows.net/test/export.csv;managed_identity=6a5820b9-fdf6-4cc4-81b9-b416b444fd6d

Önemli

  • C# SDK'sını kullanarak verileri almak için yönetilen kimlikler kullandığınızda, içinde StorageSourceOptionsbir blob boyutu sağlamanız gerekir. Boyutu ayarlamazsanız SDK, depolama hesabına erişerek blob boyutunu doldurmaya çalışır ve hataya neden olur.
  • boyut parametresi blob boyutu değil ham (sıkıştırılmamış) veri boyutu olmalıdır.
  • Alma sırasında boyutu bilmiyorsanız, sıfır (0) değerini belirtin. Hizmet, kimlik doğrulaması için yönetilen kimliği kullanarak boyutu bulmayı dener.