將資料從串流分析串流至 Confluent Cloud
本文說明如何將串流分析作業直接連線到 Confluent Cloud Kafka 做為輸出。
必要條件
- 您有 Confluent Cloud Kafka 叢集。
- 您的 kafka 叢集有 API 金鑰檔案,其中包含要做為使用者名稱使用的 API 金鑰、做為密碼的 API 秘密,以及 Bootstrap 伺服器位址。
- 您有串流分析作業。 您可以依照下列文件建立串流分析作業:快速入門:使用 Azure 入口網站建立串流分析作業
- 您的 Confluent Cloud Kafka 叢集必須可公開存取,且不得位於防火牆後方或在虛擬網路中受到保護。
- 您應該有現有的金鑰保存庫。 您可以遵循快速入門:使用 Azure 入口網站建立金鑰保存庫文件的指示,建立金鑰保存庫資源
設定串流分析以使用受控識別
串流分析會要求您設定受控識別來存取金鑰保存庫。 您可以瀏覽至左側 [設定] 下方的 [受控識別] 索引標籤,將 ASA 作業設定為使用受控識別。
- 按一下 [設定] 底下的 [受控識別] 索引標籤。
- 選取 [切換身分識別],然後選取要與作業搭配使用的身分識別:系統指派的身分識別或使用者指派的身分識別。
- 針對使用者指派的身分識別,請選取您使用者指派的身分識別所在的訂用帳戶,再選取您的身分識別名稱。
- 檢閱並 [儲存]。
從 LetsEncrypt 下載憑證
串流分析 kafka 輸出是以 librdkafka 為基礎的用戶端。 若要讓輸出連線到 confluent cloud,您需要 confluent cloud 用於伺服器驗證的 TLS 憑證。 Confluent cloud 使用來自 Let's Encrypt (開放憑證授權單位 (CA)) 的 TLS 憑證。
在 LetsEncrypt 的網站上,以 PEM 格式下載 ISRG 根 X1 憑證。
使用權限設定金鑰保存庫
串流分析會與 Azure 金鑰保存庫緊密整合,以在使用 mTLS 或 SASL_SSL 安全性通訊協定時存取驗證和加密所需的預存祕密。 您的串流分析作業會使用受控識別連線至您的 Azure 金鑰保存庫,以確保安全連線,並避免祕密外流。 若要使用您下載的憑證,您必須先將其上傳至金鑰保存庫。
若要上傳憑證,您必須具有金鑰保存庫的「Key Vault 管理員」存取權。 請遵循下列命令來授與管理員存取權:
注意
您必須具有「擁有者」權限,才能授與其他金鑰保存庫權限。
在金鑰保存庫中,選取 [存取控制 (IAM)]。
選取 [新增] > [新增角色指派],開啟 [新增角色指派] 頁面。
使用下列設定指派角色:
設定 | 值 |
---|---|
角色 | 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
授與串流分析作業權限,以存取金鑰保存庫中的憑證
若要讓串流分析作業讀取您金鑰保存庫中的祕密,此作業必須具有存取金鑰保存庫的權限。 使用下列步驟,將特殊權限授與串流分析作業:
在金鑰保存庫中,選取 [存取控制 (IAM)]。
選取 [新增] > [新增角色指派],開啟 [新增角色指派] 頁面。
使用下列設定指派角色:
設定 | 值 |
---|---|
角色 | 金鑰保存庫祕密使用者 |
受控識別 | 系統指派的受控識別或使用者指派的受控識別的串流分析作業 |
成員 | <串流分析作業的名稱>或<使用者指派的身分識別名稱> |
在串流分析作業中設定 Kafka 輸出
在您的串流資料作業中,選取 [工作拓樸] 底下的 [輸出]
選取 [新增輸出]>[Kafka],以開啟 [Kafka 新增輸出] 設定刀鋒視窗。
請使用下列組態︰
注意
針對 SASL_SSL 和 SASL_PLAINTEXT,串流分析僅支援 PLAIN SASL 機制。
屬性名稱 | 描述 |
---|---|
輸出別名 | 查詢中用來參考您的輸入的自訂名稱 |
啟動程序伺服器位址 | 用來建立連入您 confluent cloud kafka 叢集連線的主機/連接埠組清單。 範例:pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Kafka 主題 | Confluent Cloud Kafka 叢集中的 kafka 主題名稱。 |
安全性通訊協定 | 選取 SASL_SSL。 支援的機制是 PLAIN。 |
事件序列化格式 | 傳入資料流的序列化格式 (JSON、CSV、Avro、Parquet、Protobuf)。 |
分割區索引鍵 | 串流分析會使用四捨五入資料分割來指派分割區。 如果索引鍵未分割您的輸入,則保留空白 |
Kafka 事件壓縮類型 | 用於傳出資料流的壓縮類型,例如 Gzip、Snappy、Lz4、Zstd 或 None。 |
重要
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 憑證的金鑰保存庫祕密的名稱 |
儲存設定並測試連線
儲存您的設定。 您的串流分析作業會使用提供的設定進行驗證。 如果您的串流分析作業可以連線到 kafka 叢集,則入口網站中會顯示成功的測試連線。
限制
- 您上傳至金鑰保存庫的憑證必須是 PEM 格式。
- kafka 的最低版本必須是 kafka 0.10 版。
- 串流分析不支援使用 OAuth 或 SAML 單一登入 (SSO) 對 Confluent Cloud 進行驗證。 您必須透過 SASL_SSL 通訊協定使用 API 金鑰。
- 您必須使用 Azure CLI 將憑證上傳為金鑰保存庫的秘密。 您無法使用 Azure 入口網站將具有多行秘密的憑證上傳至金鑰保存庫。
注意
如需使用串流分析 Kafka 輸出的直接協助,請連絡 askasa@microsoft.com。