共用方式為


串流分析的 Kafka 輸出 (預覽)

串流分析可讓您以產生者身分直接連線至 Kafka 叢集,以輸出資料。 解決方案是低程式碼,完全由 Microsoft 的串流分析小組管理,使其符合商務合規性標準。 ASA Kafka 輸出具有回溯相容性,並支援從 0.10 版開始最新用戶端版本的所有版本。 使用者可以根據設定,連線至 VNet 內的 Kafka 叢集以及具有公用端點的 Kafka 叢集。 設定依賴於現有的 Kafka 設定慣例。 支援的壓縮類型為 無、Gzip、Snappy、LZ4 和 Zstd。

步驟

本文說明如何將 Kafka 設定為串流分析的輸出。 有六個步驟:

  1. 建立串流分析作業。
  2. 如果您使用 mTLS 或 SASL_SSl 安全性通訊協定,請將串流分析作業設定為使用受控識別。
  3. 如果您使用 mTLS 或 SASL_SSl 安全性通訊協定,請設定 Azure Key Vault。
  4. 將憑證作為祕密上傳至 Azure Key Vault。
  5. 授與串流分析權限,以存取上傳的憑證。
  6. 在串流分析作業中設定 Kafka 輸出。

注意

視 Kafka 叢集的設定方式和您使用的 Kafka 叢集類型而定,上述某些步驟可能不適用於您。 範例包括:如果您使用 Confluent Cloud Kafka,則不需要上傳憑證以使用 Kafka 連接器。 如果您的 Kafka 叢集位於虛擬網路 (VNet) 或防火牆後方,則可能必須設定您的串流分析作業,才能使用私人連結或專用的網路設定來存取 Kafka 主題。

組態

下表列出屬性名稱及其描述以建立 Kafka 輸出:

屬性名稱 描述
輸出別名 查詢中用來參考輸出的易記名稱
啟動程序伺服器位址 用來建立 Kafka 叢集連線的主機/連接埠配對清單。
Kafka 主題 具名、已排序和已分割的資料流,可允許發佈-訂閱和事件驅動的訊息處理。
安全性通訊協定 您想要連線至 Kafka 叢集的方式。 串流分析支援 mTLS、SASL_SSL、SASL_PLAINTEXT 或 None。
事件序列化格式 傳出資料流的序列化格式 (JSON、CSV、Avro)。
分割區索引鍵 串流分析會使用四捨五入資料分割來指派分割區。
Kafka 事件壓縮類型 用於傳出資料流的壓縮類型,例如 Gzip、Snappy、Lz4、Zstd 或 None。

顯示如何為串流分析作業設定kafka輸出的螢幕快照。

驗證和加密

您可以使用四種類型的安全性通訊協定來連線至 Kafka 叢集:

注意

針對 SASL_SSL 和 SASL_PLAINTEXT,串流分析僅支援 PLAIN SASL 機制。 您必須使用 Azure CLI 將憑證作為祕密上傳至金鑰保存庫。

屬性名稱 描述
mTLS 加密和驗證。 支援 PLAIN、SCRAM-SHA-256 和 SCRAM-SHA-512 安全性機制。
SASL_SSL 它結合了兩種不同的安全性機制-SASL (簡單驗證及安全性階層) 和 SSL (安全通訊端層),以確保驗證和加密都已就緒以進行資料傳輸。 SASL_SSL通訊協議支援 PLAIN、SCRAM-SHA-256 和 SCRAM-SHA-512 安全性機制。
SASL_PLAINTEXT 以使用者名稱和密碼進行標準驗證而不加密
無驗證和加密。

重要

Confluent Cloud 支援使用 API 金鑰、OAuth 或 SAML 單一登錄 (SSO) 進行驗證。 串流分析不支援 OAuth 或 SAML 單一登錄 (SSO) 驗證。 您可以透過 SASL_SSL 安全性通訊協定,使用具有主題層級存取權的 API 金鑰來連線至 Confluent Cloud。

如需連線至 Confluent Cloud Kafka 的逐步教學課程,請瀏覽文件:

金鑰保存庫整合

注意

搭配 mTLS 或 SASL_SSL 安全性通訊協定使用信任存放區憑證時,您必須為串流分析作業設定 Azure 金鑰保存庫和受控識別。 檢查金鑰保存庫的網路設定,以確保已選取 [允許來自所有網路的公用存取]。 假設您的金鑰保存庫位於 VNet 中,或只允許從特定網路進行存取。 在此情況下,您必須將 ASA 作業插入包含金鑰保存庫的 VNet,或將 ASA 作業插入 VNet,然後使用服務端點將金鑰保存庫連線至包含作業的 VNet。

串流分析會與 Azure 金鑰保存庫緊密整合,以在使用 mTLS 或 SASL_SSL 安全性通訊協定時存取驗證和加密所需的預存祕密。 您的串流分析作業會使用受控識別連線至您的 Azure 金鑰保存庫,以確保安全連線,並避免祕密外流。 憑證會儲存為金鑰保存庫中的祕密,且必須是 PEM 格式。

使用權限設定金鑰保存庫

您可以遵循文件快速入門:使用 Azure 入口網站建立金鑰保存庫來建立金鑰保存庫資源 若要上傳憑證,您必須具有鑰保存庫的「金鑰保存庫管理員」存取權。 請遵循下列命令來授與管理員存取權。

注意

您必須具有「擁有者」權限,才能授與其他金鑰保存庫權限。

  1. 選取 [存取控制 (IAM)]。

  2. 選取 [新增] > [新增角色指派],開啟 [新增角色指派] 頁面。

  3. 使用下列設定指派角色:

設定
角色 Key Vault 系統管理員
存取權指派對象 使用者、群組或服務主體
成員 <您的帳戶資訊或電子郵件>

透過 Azure CLI 將憑證上傳至金鑰保存庫

重要

您必須具有金鑰保存庫的「金鑰保存庫管理員」存取權限,才能讓此命令正常運作 您必須將憑證上傳為祕密。 您必須使用 Azure CLI 將憑證上傳為金鑰保存庫的祕密。 當用於驗證的憑證到期時,您的串流分析作業將會失敗。 若要解決此問題,您必須更新/取代金鑰保存庫中的憑證,然後重新啟動您的串流分析作業。

請確定您已使用 PowerShell 在本機設定 Azure CLI。 您可以瀏覽此頁面以取得設定 Azure CLI 的指導:開始使用 Azure CLI

登入 Azure CLI:

az login

連線至包含金鑰保存庫的訂用帳戶:

az account set --subscription <subscription name>

下列命令可以將憑證作為祕密上傳至金鑰保存庫:

<your key vault> 是您要將憑證上傳的目的地金鑰保存庫的名稱。 <name of the secret> 是您想要給予祕密的任何名稱,以及其顯示在金鑰保存庫中的方式。 <file path to certificate> 是您的憑證所在位置的路徑。 您可以按一下滑鼠右鍵,並將路徑複製到憑證。

az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>

例如:

az keyvault secret set --vault-name mykeyvault --name kafkasecret --file C:\Users\Downloads\certificatefile.pem

設定受控識別

串流分析會要求您設定受控識別來存取金鑰保存庫。 您可以瀏覽至左側 [設定] 下方的 [受控識別] 索引標籤,將 ASA 作業設定為使用受控識別。

顯示如何為 ASA 作業設定受控識別的螢幕快照。

  1. 按一下 [設定] 底下的 [受控識別] 索引標籤。
  2. 選取 [切換身分識別],然後選取要與作業搭配使用的身分識別:系統指派的身分識別或使用者指派的身分識別。
  3. 針對使用者指派的身分識別,請選取使用者指派的身分識別所在的訂用帳戶,再選取您的身分識別名稱。
  4. 檢閱並 [儲存]

授與串流分析作業權限,以存取金鑰保存庫中的憑證

若要讓串流分析作業讀取您金鑰保存庫中的祕密,此作業必須具有存取金鑰保存庫的權限。 使用下列步驟,將特殊權限授與串流分析作業:

  1. 選取 [存取控制 (IAM)]。

  2. 選取 [新增] > [新增角色指派],開啟 [新增角色指派] 頁面。

  3. 使用下列設定指派角色:

設定
角色 金鑰保存庫祕密使用者
受控識別 系統指派的受控識別或使用者指派的受控識別的串流分析作業
成員 <串流分析作業的名稱>或<使用者指派的身分識別名稱>

VNET 整合

如果您的 Kafka 位於虛擬網路 (VNet) 或防火牆後方,則必須設定串流分析作業才能存取 Kafka 主題。 如需詳細資訊,請瀏覽在 Azure 虛擬網路文件中執行您的串流分析作業

限制

  • 將串流分析作業設定為使用 VNet/SWIFT 時,您的作業必須至少設定為使用六 (6) 個串流單元或一 (1) 個 V2 串流單元。
  • 搭配 Azure 金鑰保存庫使用 mTLS 或 SASL_SSL 時,您必須將 JAVA 金鑰存放區轉換成 PEM 格式。
  • 您可以將串流分析所連線的最低 Kafka 版本設定為 0.10 版。
  • 串流分析不支援使用 OAuth 或 SAML 單一登錄 (SSO) 對 Confluent Cloud 進行驗證。 您必須透過 SASL_SSL 通訊協定使用 API 金鑰

注意

如需使用串流分析 Kafka 輸出的直接協助,請連絡 askasa@microsoft.com

下一步