使用受控識別驗證來擷取的佇列 Blob
將 Blob 排入佇列以從自己的儲存體帳戶擷取時,您可以使用受控識別作為 共用存取簽章的替代方案, (SAS) 權杖和 共用金鑰 驗證方法。 受控識別是擷取資料更安全的方式,因為它們不需要您與服務共用客戶 SAS 權杖或共用金鑰。 相反地,受控識別會指派給您的叢集,並授與用來擷取資料的儲存體帳戶讀取權限。 您可以隨時撤銷這些許可權。
注意
- 此驗證方法僅適用于位於客戶擁有儲存體帳戶中的 Azure Blob 和 Azure Data Lake 檔案。 它不適用於使用 Kusto SDK 上傳的本機檔案。
- 僅支援佇列擷取。 不支援使用 SDK API 的內嵌內嵌擷取Kusto 查詢語言和直接擷取。
將受控識別指派給叢集
遵循 受控識別概觀 ,將系統或使用者指派的受控識別新增至叢集。 如果您的叢集已指派所需的受控識別,請使用下列步驟複製其物件識別碼:
使用與包含叢集的 Azure 訂用帳戶相關聯的帳戶登入Azure 入口網站。
流覽至您的叢集,然後選取 [ 身分識別]。
選取適當的身分識別類型、系統或使用者指派,然後複製必要身分識別的物件識別碼。
授與受控識別的許可權
在Azure 入口網站中,流覽至包含您要內嵌資料的儲存體帳戶。
選取[存取控制],然後選取 [+ 新增新增>角色指派]。
如果您想要使用儲存體帳戶的DeleteSourceOnSuccess來源選項,請授與受控識別儲存體 Blob 資料讀取器或儲存體Blob 資料參與者。
重要
授與 擁有者 或 參與者 許可權不足,且會導致擷取失敗。
在 Azure Data Explorer中設定受控識別原則
若要使用受控識別將資料內嵌到叢集中,請允許 NativeIngestion
所選受控識別的使用選項。 原生擷取是指使用 SDK 從外部來源擷取的能力。 如需可用 SDK 的詳細資訊,請參閱 用戶端程式庫。
使用量受控識別原則可以在目標叢集的叢集或資料庫層級定義。
若要在資料庫層級套用原則,請執行下列命令:
.alter-merge database <database name> policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"
若要在叢集層級套用原則,請執行下列命令:
.alter-merge cluster policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"
將 取代 <managed_identity_id>
為必要受控識別的物件識別碼。
注意
您必須擁有 All Database Admin
叢集的許可權,才能編輯受控識別原則。
使用 Kusto SDK 使用受控識別來擷取的佇列 Blob
使用 Kusto SDK擷取資料時,使用 受控識別驗證 產生 Blob URI,方法是附加 ;managed_identity={objectId}
至未經授權的 Blob URI。 如果您使用叢集系統指派的受控識別來內嵌資料,您可以附加 ;managed_identity=system
至 Blob URI。
重要
您必須使用佇列擷取用戶端。 不支援在 Kusto 查詢語言 中使用具有直接擷取或內嵌擷取的受控識別。
以下是系統與使用者指派受控識別的 Blob URI 範例。
- 系統指派:
https://demosa.blob.core.windows.net/test/export.csv;managed_identity=system
- 使用者指派:
https://demosa.blob.core.windows.net/test/export.csv;managed_identity=6a5820b9-fdf6-4cc4-81b9-b416b444fd6d
重要
- 使用受控識別搭配 C# SDK 擷取資料時,您必須在 中
BlobSourceOptions
提供 Blob 大小。 如果未設定大小,SDK 會嘗試藉由存取儲存體帳戶來填入 Blob 大小,導致失敗。 - size參數應該是未經壓縮 (未壓縮) 資料大小,不一定是 Blob 大小。
- 如果您不知道擷取時的大小,可能會提供零值 (0) 。 服務會嘗試使用受控識別進行驗證來探索大小。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應