Streamování dat z Kafka do Azure Stream Analytics

Apache Kafka je open-source distribuovaná streamovací platforma, kterou aplikace používají k publikování a odběru streamů záznamů v reálném čase. Běžně se používá pro zasílání zpráv, sledování aktivit na webu, metriky, agregaci logů a zpracování streamů.

Pokud vaše data proudí přes Kafka clustery, můžete Azure Stream Analytics připojit přímo k těmto clusterům, abyste data ingestovali a zpracovávali bez vytváření vlastního uživatele. Vstup Kafka vyžaduje minimum psaní kódu, je plně spravovaný společností Microsoft tak, aby splňoval podnikové standardy dodržování předpisů, a je zpětně kompatibilní s klientskými verzemi počínaje verzí 0.10. K Kafka clusterům se můžete připojit uvnitř virtuální sítě nebo s veřejným koncovým body pomocí existujících konfiguračních konvencí Kafky. Podporované typy komprese jsou None, Gzip, Snappy, LZ4 a Zstd.

Tento článek vám ukáže, jak nastavit Kafka cluster jako vstupní zdroj pro práci Azure Stream Analytics.

Nastavte Kafku jako vstupní zdroj

Tento článek ukazuje, jak nastavit Kafka jako vstupní zdroj pro Azure Stream Analytics. Popisuje následující kroky:

  1. Vytvořte úlohu Azure Stream Analytics.
  2. Pokud používáte mTLS nebo SASL_SSL protokoly zabezpečení, nakonfigurujte úlohu Azure Stream Analytics tak, aby používala spravovanou identitu.
  3. Nakonfigurujte Azure Key Vault, pokud používáte mTLS nebo SASL_SSL bezpečnostní protokoly.
  4. Nahrajte certifikáty jako tajemství do Azure Key Vault.
  5. Udělte Službě Azure Stream Analytics oprávnění pro přístup k nahranému certifikátu.
  6. Nakonfigurujte vstup Kafka v úloze Azure Stream Analytics.

Poznámka:

V závislosti na tom, jak je váš Kafka cluster nastavený a jaký typ Kafka clusteru používáte, některé z těchto kroků se na vás nemusí vztahovat. Například pokud používáte Confluent Cloud Kafka, nemusíte nahrávat certifikát, abyste mohli používat Kafka konektor. Pokud je váš Kafka cluster uvnitř virtuální sítě (VNet) nebo za firewallem, možná budete muset nastavit svou práci v Azure Stream Analytics tak, aby přistupovala k vašemu tématu Kafka pomocí soukromého propojení nebo dedikované síťové konfigurace.

Konfigurujte vstup Kafka

Nakonfigurujte vstup Kafka tak, aby se vaše úloha v Azure Stream Analytics mohla připojit ke clusteru Kafka a číst z tématu.

Důležité

Chcete-li nakonfigurovat cluster Kafka jako vstup, typ časového razítka vstupního tématu by měl být LogAppendTime. Jediným typem časového razítka, který Azure Stream Analytics podporuje, je LogAppendTime. Azure Stream Analytics podporuje pouze číselný desetinný formát.

  1. Ve vaší práci v Azure Stream Analytics přidejte Kafka vstup.

  2. Nastavte každou vstupní vlastnost pomocí hodnot popsaných v následující tabulce:

    Název vlastnosti Popis
    Alias vstupu a výstupu Přátelské jméno používané v dotazech k odkazu na váš vstup nebo výstup.
    Adresy serveru Bootstrap Seznam párů host/port, které je třeba připojit ke clusteru Kafka.
    Téma Kafka Pojmenovaný, uspořádaný a partitionovaný tok dat, který podporuje zpracování zpráv pomocí modelu publikování–odběru a na základě událostí.
    Protokol zabezpečení Jak se chcete připojit ke clusteru Kafka. Azure Stream Analytics podporuje mTLS, SASL_SSL, SASL_PLAINTEXT nebo Žádné.
    ID spotřebitelské skupiny Název skupiny odběratelů Kafka, ke které by měl vstup patřit. Azure Stream Analytics ji automaticky přiřadí, pokud ji neposkytnete.
    Formát serializace událostí Formát serializace (JSON, CSV, Avro, Parquet a Protobuf) příchozího datového toku.
  3. Uložte si vstupní konfiguraci.

Nastavte autentizaci a šifrování

Nastavte autentizaci a šifrování, abyste zajistili spojení mezi vaší prací v Azure Stream Analytics a vaším Kafka clusterem. Pro krok za krokem návod na připojení k Confluent Cloud Kafka viz Stream data z Confluent Cloud Kafka s Azure Stream Analytics pro vstup a Stream data z Azure Stream Analytics do Confluent Cloud pro výstup.

Důležité

Confluent Cloud podporuje autentizaci pomocí API klíčů, OAuth nebo SAML single sign-on (SSO). Azure Stream Analytics nepodporuje ověřování jednotného přihlašování (SSO) OAuth ani SAML. K Confluent Cloud se můžete připojit pomocí API klíče s přístupem na úrovni tématu přes bezpečnostní protokol SASL_SSL.

  1. Vyberte si jeden ze čtyř podporovaných bezpečnostních protokolů, které odpovídají vašemu Kafka clusteru, jak je popsáno v následující tabulce:

    Název vlastnosti Popis
    mTLS Šifrování a ověřování. Podporuje mechanismy zabezpečení PLAIN, SCRAM-SHA-256 a SCRAM-SHA-512.
    SASL_SSL Kombinuje dva různé bezpečnostní mechanismy, SASL (Simple Authentication and Security Layer) a Secure Sockets Layer (SSL), aby zajistil použití autentizace i šifrování pro přenos dat. Protokol SASL_SSL podporuje mechanismy zabezpečení PLAIN, SCRAM-SHA-256 a SCRAM-SHA-512.
    SASL_PLAINTEXT Standardní autentizace s uživatelským jménem, ale bez šifrování.
    Nic Žádné ověřování a šifrování.
  2. Nastavte přihlašovací údaje pro vybraný protokol ve vaší práci v Azure Stream Analytics.

Integrace se službou Azure Key Vault

Azure Stream Analytics se integruje s Azure Key Vault pro přístup k uloženým tajemstvím potřebným pro autentizaci a šifrování, když používáte mTLS nebo SASL_SSL bezpečnostní protokoly. Vaše úloha Azure Stream Analytics se připojuje ke službě Azure Key Vault pomocí spravované identity, aby zajistila zabezpečené připojení a zabránila úniku tajných údajů. Certifikáty se ukládají jako tajné kódy v trezoru klíčů a musí být ve formátu PEM. Pro integraci vaší práce v Azure Stream Analytics s Azure Key Vault splňte následující úkoly, které podrobně popisují následující sekce.

Poznámka:

Když používáte certifikáty důvěrného úložiště s mTLS nebo SASL_SSL bezpečnostními protokoly, musíte mít Azure Key Vault a spravovanou identitu nastavenou pro vaši Azure Stream Analytics práci. Zkontrolujte nastavení sítě trezoru klíčů a ujistěte se, že je vybrána možnost Povolit veřejný přístup ze všech sítí . Pokud je váš klíčový trezor ve VNetu nebo umožňuje přístup pouze z konkrétních sítí, musíte vložit svou práci Azure Stream Analytics do VNetu obsahujícího klíčový trezor, nebo vložit Azure Stream Analytics do VNetu a poté připojit klíčový trezor k úlohě obsahující VNet pomocí servisních endpointů.

  1. Nakonfigurujte klíčový trezor s požadovanými oprávněními.
  2. Nahrajte svůj certifikát do trezoru klíčů jako tajné.
  3. Konfigurujte spravovanou identitu pro vaši práci v Azure Stream Analytics.
  4. Udělte úloze Stream Analytics oprávnění k přístupu k certifikátu v klíčovém trezoru.

Nastavte klíčový trezor s oprávněními

Postup vytvoření prostředku trezoru klíčů najdete v tématu Rychlý start: Vytvoření trezoru klíčů pomocí Azure Portal. K nahrávání certifikátů potřebujete přístupovou roli Key Vault Administrator ke svému trezoru klíčů. Pro udělení administrátorského přístupu postupujte podle těchto kroků:

Poznámka:

K udělování dalších oprávnění v trezoru klíčů potřebujete oprávnění Owner.

  1. Vyberte Řízení přístupu (IAM) .

  2. Výběrem možnosti Přidat>Přidat přiřazení role otevřete stránku Přidání přiřazení role.

  3. Přiřaďte roli pomocí následující konfigurace:

    Nastavení Hodnota
    Role Správce služby Key Vault
    Přiřadit přístup k Uživatel, skupina nebo instanční objekt
    Členové <Informace o účtu nebo e-mail>

Nahrajte certifikát do trezoru klíčů

Ujistěte se, že máte Azure CLI nakonfigurované lokálně pomocí PowerShellu. Pro návod k nastavení Azure CLI viz Get start with Azure CLI.

Následující kroky nahrají certifikát jako tajné do vašeho trezoru klíčů.

Důležité

Aby tento příkaz fungoval správně, musíte mít k vašemu trezoru klíčů oprávnění Key Vault Administrator. Certifikát musíte nahrát jako tajné. K nahrání certifikátů jako tajných kódů do trezoru klíčů musíte použít Azure CLI. Vaše práce Azure Stream Analytics selže, když vyprší certifikát používaný pro autentizaci. Pro vyřešení tohoto problému aktualizujte nebo vyměňte certifikát ve svém klíčovém trezoru a restartujte práci v Azure Stream Analytics.

  1. Přihlaste se k Azure CLI.

    az login
    
  2. Připojte se k předplatnému, které obsahuje váš trezor klíčů.

    az account set --subscription <subscription name>
    
  3. Nahrajte certifikát jako tajné. Nahraďte <your key vault> názvem trezoru klíčů, <name of the secret> libovolným názvem, který chcete tajnému klíči přiřadit, a <file path to certificate> cestou k souboru certifikátu. Můžete kliknout pravým tlačítkem myši a zkopírovat cestu k certifikátu.

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

    Příklad:

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

Konfigurace spravované identity

Azure Stream Analytics vyžaduje spravovanou identitu pro přístup ke trezoru klíčů. Nakonfigurujte svou práci v Azure Stream Analytics tak, aby používala spravovanou identitu, a to v záložce Managed Identity pod Configure.

Pro konfiguraci spravované identity postupujte podle těchto kroků:

  1. Vyberte záložku Spravovaná identita v sekci Konfigurovat.

    Screenshot ukazující, jak nastavit spravovanou identitu pro práci v Azure Stream Analytics.

  2. Vyberte identitu Switch a vyberte identitu pro použití s úkolem: systémově přiřazenou identitu nebo uživatelem přiřazenou identitu.

  3. U uživatelem přiřazené identity vyberte předplatné, ve kterém se vaše uživatelem přiřazená identita nachází, a vyberte název identity.

  4. Zkontrolujte a vyberte Uložit.

Udělit úloze Stream Analytics oprávnění k přístupu k certifikátu

Aby vaše úloha Azure Stream Analytics mohla číst tajemství z vašeho trezoru klíčů, musí mít povolení k přístupu do trezoru.

Pro udělení oprávnění pro vaši práci v oblasti Stream Analytics postupujte podle těchto kroků:

  1. Vyberte Řízení přístupu (IAM) .

  2. Výběrem možnosti Přidat>Přidat přiřazení role otevřete stránku Přidání přiřazení role.

  3. Přiřaďte roli pomocí následující konfigurace:

    Nastavení Hodnota
    Role Uživatel tajných kódů služby Key Vault
    Spravovaná identita Úloha Stream Analytics pro spravovanou identitu přiřazenou systémem nebo spravovanou identitu přiřazenou uživatelem
    Členové <Název vaší úlohy Stream Analytics> nebo <název identity přiřazené uživatelem>

Omezení a aspekty vstupu Kafka

Pokud je váš Kafka cluster uvnitř virtuální sítě nebo za firewallem, nakonfigurujte svou práci v Azure Stream Analytics tak, aby přistupovala k vašemu tématu Kafka pomocí soukromého propojení nebo dedikované síťové konfigurace. Pro více informací viz Spustit svou práci Azure Stream Analytics v Azure Virtual Network.

Zvažte následující omezení, když používáte Kafku jako vstupní zdroj:

  1. Když konfigurujete svou práci Azure Stream Analytics tak, aby používala Virtual Network/SWIFT, nakonfigurujte ji alespoň se šesti streamovacími jednotkami nebo jednou V2 streamovací jednotkou.
  2. Když používáte mTLS nebo SASL_SSL s Azure Key Vault, musíte převést svůj Java Key Store do formátu PEM.
  3. Minimální verze Kafky, ke které se Azure Stream Analytics může připojit, je verze 0.10.
  4. Azure Stream Analytics nepodporuje autentizaci do Confluent Cloud pomocí OAuth nebo SAML single sign-on (SSO). Musíte použít API klíč prostřednictvím protokolu SASL_SSL.

Pro přímou pomoc s vstupem do Azure Stream Analytics Kafka kontaktujte askasa@microsoft.com.