Výstup Kafka z Azure Stream Analytics (Preview)

Azure Stream Analytics umožňuje připojit se přímo ke clusterům Kafka jako producent k výstupním datům. Řešení je málo kódu a je plně spravované týmem Azure Stream Analytics v Microsoftu, což umožňuje vyhovět standardům dodržování předpisů pro firmy. Výstup ASA Kafka je zpětně kompatibilní a podporuje všechny verze s nejnovější verzí klienta počínaje verzí 0.10. Uživatelé se můžou připojit ke clusterům Kafka v rámci virtuální sítě a clusterů Kafka s veřejným koncovým bodem v závislosti na konfiguracích. Konfigurace spoléhá na existující konvence konfigurace Kafka. Podporované typy komprese jsou None, Gzip, Snappy, LZ4 a Zstd.

Kroky

Tento článek ukazuje, jak nastavit Kafka jako výstup z Azure Stream Analytics. Existuje šest kroků:

  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 Službu Azure Key Vault, pokud používáte protokoly mTLS nebo SASL_SSl zabezpečení.
  4. Nahrajte certifikáty jako tajné kódy do služby Azure Key Vault.
  5. Udělte Službě Azure Stream Analytics oprávnění pro přístup k nahranému certifikátu.
  6. Nakonfigurujte výstup Kafka v úloze Azure Stream Analytics.

Poznámka:

V závislosti na konfiguraci clusteru Kafka a typu clusteru Kafka, který používáte, se některé z výše uvedených kroků nemusí vztahovat na vás. Příklady: Pokud používáte confluent cloud Kafka, nebudete muset nahrát certifikát pro použití konektoru Kafka. Pokud je váš cluster Kafka uvnitř virtuální sítě nebo za bránou firewall, možná budete muset nakonfigurovat úlohu Azure Stream Analytics pro přístup k tématu Kafka pomocí privátního propojení nebo vyhrazené síťové konfigurace.

Konfigurace

Následující tabulka uvádí názvy vlastností a jejich popis pro vytvoření výstupu Kafka:

Název vlastnosti Popis
Alias pro výstup Popisný název použitý v dotazech pro odkaz na výstup
Adresy serveru Bootstrap Seznam dvojic hostitelů a portů pro navázání připojení ke clusteru Kafka.
Téma Kafka Pojmenovaný, uspořádaný a dělený datový proud dat, který umožňuje zpracování zpráv založených na publikování a odběru událostí.
Protokol zabezpečení Jak se chcete připojit ke clusteru Kafka. Azure Stream Analytics podporuje mTLS, SASL_SSL, SASL_PLAINTEXT nebo Žádné.
Formát serializace událostí Formát serializace (JSON, CSV, Avro) odchozího datového proudu.
Klíč oddílu Azure Stream Analytics přiřazuje oddíly pomocí kruhového dělení.
Typ komprese událostí Kafka Typ komprese používaný pro odchozí datové proudy, například Gzip, Snappy, Lz4, Zstd nebo None.

Snímek obrazovky znázorňující, jak nakonfigurovat výstup kafka pro úlohu Stream Analytics

Ověřování a šifrování

K připojení ke clusterům Kafka můžete použít čtyři typy protokolů zabezpečení:

Poznámka:

Pro SASL_SSL a SASL_PLAINTEXT podporuje Azure Stream Analytics pouze mechanismus PLAIN SASL. Certifikáty musíte nahrát jako tajné kódy do trezoru klíčů pomocí Azure CLI.

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é mechanismy zabezpečení – SASL (Simple Authentication and Security Layer) a SSL (Secure Sockets Layer) – aby se zajistilo, že pro přenos dat probíhá ověřování i šifrování. Protokol SASL_SSL podporuje mechanismy zabezpečení PLAIN, SCRAM-SHA-256 a SCRAM-SHA-512.
SASL_PLAINTEXT standardní ověřování s uživatelským jménem a heslem bez šifrování
Nic Žádné ověřování a šifrování.

Důležité

Confluent Cloud podporuje ověřování pomocí klíčů rozhraní API, OAuth nebo jednotného přihlašování SAML. Azure Stream Analytics nepodporuje ověřování jednotného přihlašování (SSO) OAuth ani SAML. Ke cloudu confluent se můžete připojit pomocí klíče rozhraní API s přístupem na úrovni tématu prostřednictvím protokolu zabezpečení SASL_SSL.

Podrobný kurz připojení ke confluent cloudu kakfa najdete v dokumentaci:

Integrace služby Key Vault

Poznámka:

Pokud používáte certifikáty úložiště důvěryhodnosti s protokoly zabezpečení mTLS nebo SASL_SSL, musíte mít nakonfigurovanou službu Azure Key Vault a spravovanou identitu pro úlohu Azure Stream Analytics. 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í . Předpokládejme, že je váš trezor klíčů ve virtuální síti nebo povoluje přístup jenom z konkrétních sítí. V takovém případě musíte úlohu ASA vložit do virtuální sítě obsahující trezor klíčů nebo vložit úlohu ASA do virtuální sítě a pak připojit trezor klíčů k virtuální síti obsahující úlohu pomocí koncových bodů služby.

Azure Stream Analytics se bezproblémově integruje se službou Azure Key Vault pro přístup k uloženým tajným kódům potřebným k ověřování a šifrování při použití mTLS nebo SASL_SSL protokolů zabezpečení. Vaše úloha Azure Stream Analytics se připojí k trezoru klíčů Azure pomocí spravované identity, aby se zajistilo zabezpečené připojení a vyhnuli se exfiltraci tajných kódů. Certifikáty se ukládají jako tajné kódy v trezoru klíčů a musí být ve formátu PEM.

Konfigurace trezoru klíčů s oprávněními

Prostředek trezoru klíčů můžete vytvořit pomocí rychlého startu dokumentace: Vytvoření trezoru klíčů pomocí webu Azure Portal Pro nahrání certifikátů musíte mít přístup ke službě Key Vault Správa istrator. Pokud chcete udělit přístup správce, postupujte podle následujících pokynů.

Poznámka:

Abyste mohli udělit další oprávnění trezoru klíčů, musíte mít oprávnění Vlastník.

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

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

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

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

Nahrání certifikátu do trezoru klíčů přes Azure CLI

Důležité

Abyste mohli tento příkaz správně fungovat, musíte mít oprávnění ke službě Key Vault Správa istrator, aby tento příkaz fungoval správně, musíte certifikát nahrát jako tajný klíč. K nahrání certifikátů jako tajných kódů do trezoru klíčů musíte použít Azure CLI. Vaše úloha Azure Stream Analytics selže, když vyprší platnost certifikátu použitého k ověření. Pokud chcete tento problém vyřešit, musíte aktualizovat nebo nahradit certifikát v trezoru klíčů a restartovat úlohu Azure Stream Analytics.

Ujistěte se, že máte azure CLI nakonfigurované místně pomocí PowerShellu. Na této stránce najdete pokyny k nastavení Azure CLI: Začínáme s Azure CLI

Přihlášení k Azure CLI:

az login

Připojení k předplatnému obsahujícímu váš trezor klíčů:

az account set --subscription <subscription name>

Následující příkaz může certifikát nahrát jako tajný kód do trezoru klíčů:

Jedná se <your key vault> o název trezoru klíčů, do kterého chcete certifikát nahrát. <name of the secret> je libovolný název, který chcete předat tajnému kódu a jak se zobrazí v trezoru klíčů. <file path to certificate> je cesta k umístění certifikátu, ve kterém se certifikát nachází. 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, abyste nakonfigurovali spravovanou identitu pro přístup k trezoru klíčů. Úlohu ASA můžete nakonfigurovat tak, aby používala spravovanou identitu, a to tak, že přejdete na kartu Spravovaná identita na levé straně v části Konfigurovat.

Snímek obrazovky znázorňující, jak nakonfigurovat spravovanou identitu pro úlohu ASA

  1. V části Konfigurace klikněte na kartu spravované identity.
  2. Vyberte Přepnout identitu a vyberte identitu, která se má použít s úlohou: identita přiřazená systémem nebo identita přiřazená uživatelem.
  3. Pro identitu přiřazenou uživatelem vyberte předplatné, ve kterém se nachází identita přiřazená uživatelem, a vyberte název vaší identity.
  4. Zkontrolujte a uložte.

Udělení oprávnění úlohy Stream Analytics pro přístup k certifikátu v trezoru klíčů

Aby vaše úloha Azure Stream Analytics četla tajný klíč v trezoru klíčů, musí mít úloha oprávnění pro přístup k trezoru klíčů. Pomocí následujících kroků udělte úlohu Stream Analytics speciální oprávnění:

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

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

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

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

Integrace virtuální sítě

Pokud se kafka nachází ve virtuální síti nebo za bránou firewall, musíte nakonfigurovat úlohu Azure Stream Analytics pro přístup k tématu Kafka. Další informace najdete v dokumentaci ke spuštění úlohy Azure Stream Analytics ve službě Azure Virtual Network.

Omezení

  • Při konfiguraci úloh Azure Stream Analytics tak, aby používaly virtuální síť nebo SWIFT, musí být vaše úloha nakonfigurovaná s alespoň šesti (6) jednotkami streamování nebo jednou (1) jednotkou streamování V2.
  • Při použití mTLS nebo SASL_SSL se službou Azure Key Vault je nutné převést úložiště klíčů Java do formátu PEM.
  • Minimální verze Kafka, ke které se dá Azure Stream Analytics nakonfigurovat pro připojení, je verze 0.10.
  • Azure Stream Analytics nepodporuje ověřování pro confluent cloud s využitím OAuth nebo jednotného přihlašování SAML (SSO). Klíč rozhraní API musíte použít prostřednictvím protokolu SASL_SSL.

Poznámka:

Pokud chcete získat přímou pomoc s používáním výstupu Kafka služby Azure Stream Analytics, obraťte se na askasa@microsoft.com.

Další kroky