共用方式為


使用串流分析從 Confluent Cloud Kafka 串流資料

本文說明如何將串流分析作業直接連線到 Confluent Cloud Kafka 作為輸入。

必要條件

  • 您有 Confluent Cloud Kafka 叢集。
  • 您的 kafka 叢集有 API 金鑰檔案,其中包含要作為使用者名稱使用的 API 金鑰、作為密碼的 API 秘密,以及 Bootstrap 伺服器位址。
  • 您有 Azure 串流分析作業。 您可以依照下列文件建立串流分析作業:快速入門:使用 Azure 入口網站建立串流分析作業
  • 您的 Confluent Cloud Kafka 叢集必須可公開存取,且不得位於防火牆後方或在虛擬網路中受到保護。
  • Confluent Cloud Kafka 叢集主題的時間戳記類型應該為 LogAppendTime。 Confluent Cloud Kafka 主題的預設值是 CreateTime
  • 您應該有現有的金鑰保存庫。 您可以遵循快速入門:使用 Azure 入口網站建立金鑰保存庫文件的指示,建立金鑰保存庫資源

設定串流分析以使用受控識別

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

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

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

從 LetsEncrypt 下載憑證

Azure 串流分析是以 librdkafka 為基礎的用戶端,若要連線到 confluent cloud,您需要 confluent cloud 用於伺服器驗證的 TLS 憑證。 Confluent cloud 使用來自 Let's Encrypt (開放憑證授權單位 (CA)) 的 TLS 憑證。

LetsEncrypt 的網站上,以 PEM 格式下載 ISRG 根 X1 憑證。

此螢幕快照顯示要從 網站下載的憑證, 可加密。

使用權限設定金鑰保存庫

串流分析會與 Azure 金鑰保存庫順暢地整合,以存取驗證和加密所需的儲存秘密。 您的串流分析作業會使用受控識別連線至您的 Azure 金鑰保存庫,以確保安全連線,並避免祕密外流。 若要使用您下載的憑證,您必須先將其上傳至金鑰保存庫。

若要上傳憑證,您必須具有金鑰保存庫的「Key Vault 管理員」存取權。 請遵循下列命令來授與管理員存取權:

注意

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

  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>

例如:

az account set --subscription mymicrosoftsubscription

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

<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 confluentsecret --file C:\Users\Downloads\isrgrootx1.pem

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

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

  1. 在金鑰保存庫中,選取 [存取控制 (IAM)]

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

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

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

在串流分析作業中設定 Kafka 輸入

重要

若要將 Kafka 叢集設定為輸入,輸入主題的時間戳記類型應該是 LogAppendTime。 串流分析支援的唯一時間戳記類型是 LogAppendTime。 串流分析僅支援數值十進位格式。

  1. 在您的串流資料作業中,選取 [工作拓樸] 底下的 [輸入]

  2. 選取 [新增輸入>Kafka],以開啟 [Kafka 新增輸入] 設定刀鋒視窗。

  3. 請使用下列組態︰

注意

針對 SASL_SSL 和 SASL_PLAINTEXT,串流分析僅支援 PLAIN SASL 機制。

屬性名稱 描述
輸入別名 查詢中用來參考您的輸入的自訂名稱
啟動程序伺服器位址 用來建立連入您 confluent cloud kafka 叢集連線的主機/連接埠組清單。 範例:pkc-56d1g.eastus.azure.confluent.cloud:9092
Kafka 主題 Confluent Cloud Kafka 叢集中的 kafka 主題名稱。
安全性通訊協定 選取 SASL_SSL。 支援的機制是 PLAIN。
取用者群組標識碼 輸入應屬於的 Kafka 取用者群組名稱。 如果未提供,則會自動指派它。
事件序列化格式 傳入資料流的序列化格式 (JSON、CSV、Avro、Parquet、Protobuf)。

重要

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

請使用下列組態︰

設定
使用者名稱 Confluent Cloud API 金鑰
密碼 Confluent Cloud API 祕密
金鑰保存庫名稱 具有已上傳憑證的 Azure 金鑰保存庫名稱
Truststore 憑證 含有 ISRG Root X1 憑證的 Key Vault 祕密的名稱

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

儲存設定並測試連線

儲存您的設定。 您的串流分析作業會使用提供的設定進行驗證。 如果您的串流分析可以連線到 kafka 叢集,則入口網站中會顯示成功的連線。

顯示成功測試連線 confluent kafka 輸入的螢幕快照。

限制

  • 上傳至金鑰保存庫的憑證必須是 PEM 格式。
  • kafka 的最低版本必須是 0.10 版。
  • 串流分析不支援使用 OAuth 或 SAML 單一登入 (SSO) 對 Confluent Cloud 進行驗證。 您必須透過 SASL_SSL 通訊協定使用 API 金鑰。
  • 您必須使用 Azure CLI 將憑證上傳為金鑰保存庫的秘密。 您無法使用 Azure 入口網站將具有多行秘密的憑證上傳至金鑰保存庫。

注意

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

下一步