Streamování dat z confluent cloudu Kafka pomocí Azure Stream Analytics
Tento článek popisuje, jak připojit úlohu Azure Stream Analytics přímo ke konfluent cloudu Kafka jako vstup.
Požadavky
- Máte cluster Kafka s confluentem.
- Pro cluster Kafka máte soubor klíče rozhraní API, který obsahuje klíč rozhraní API, který se má použít jako uživatelské jméno, tajný klíč rozhraní API pro použití jako heslo a adresu serveru Bootstrap.
- Máte úlohu Azure Stream Analytics. Úlohu Azure Stream Analytics můžete vytvořit pomocí dokumentace: Rychlý start: Vytvoření úlohy Stream Analytics pomocí webu Azure Portal
- Cluster Kafka v cloudu confluent musí být veřejně přístupný, a ne za bránou firewall nebo zabezpečeným ve virtuální síti.
- Typ časového razítka tématu clusteru confluent cloud kafka by měl být LogAppendTime. Výchozí hodnota pro confluent cloud kafka téma je CreateTime.
- Měli byste mít existující trezor klíčů. Prostředek trezoru klíčů můžete vytvořit pomocí rychlého startu dokumentace : Vytvoření trezoru klíčů pomocí webu Azure Portal
Konfigurace Azure Stream Analytics pro použití spravované identity
Azure Stream Analytics vyžaduje, abyste nakonfigurovali spravovanou identitu pro přístup k trezoru klíčů. Úlohu Stream Analytics 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.
- V části Konfigurace klikněte na kartu spravované identity.
- Vyberte Možnost 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.
- 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.
- Zkontrolujte a uložte.
Stažení certifikátu z LetsEncryptu
Azure Stream Analytics je klient založený na knihovně librdkafka a pro připojení ke cloudu confluent potřebujete certifikáty TLS, které cloud confluent používá k ověřování serveru. Cloud Confluent používá certifikáty TLS z let's Encrypt, otevřené certifikační autority (CA).
Stáhněte certifikát ISRG Root X1 ve formátu PEM na webu LetsEncrypt.
Konfigurace trezoru klíčů s oprávněními
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í. 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ů. Pokud chcete certifikát, který jste stáhli, použít, musíte ho nejdřív nahrát do trezoru klíčů.
Pokud chcete nahrát certifikáty, musíte mít k trezoru klíčů přístup Správce služby Key Vault. Pokud chcete udělit přístup správce, postupujte následovně:
Poznámka:
Abyste mohli udělit další oprávnění trezoru klíčů, musíte mít oprávnění Vlastník.
V trezoru klíčů vyberte Řízení přístupu (IAM).
Výběrem možnosti Přidat>přiřazení role otevřete stránku Přidat přiřazení role.
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> |
Nahrání certifikátu do trezoru klíčů jako tajného kódu prostřednictvím Azure CLI
Důležité
Abyste mohli tento příkaz správně fungovat, musíte mít oprávnění Správce služby Key Vault, 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é a nainstalované 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řipojte se k předplatnému obsahujícímu váš trezor klíčů:
az account set --subscription <subscription name>
Příklad:
az account set --subscription mymicrosoftsubscription
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 confluentsecret --file C:\Users\Downloads\isrgrootx1.pem
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í:
V trezoru klíčů vyberte Řízení přístupu (IAM).
Výběrem možnosti Přidat>přiřazení role otevřete stránku Přidat přiřazení role.
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> |
Konfigurace vstupu Kafka v úloze Stream Analytics
Důležité
Pokud chcete cluster Kafka nakonfigurovat jako vstup, měl by být typ časového razítka vstupního tématu LogAppendTime. Jediným typem časového razítka, který Azure Stream Analytics podporuje, je LogAppendTime. Azure Stream Analytics podporuje pouze číselný desetinný formát.
V úloze stream Analytics vyberte vstupy v části Topologie úlohy.
Výběrem možnosti Přidat vstup Kafka otevřete okno Konfigurace nového vstupu> Kafka.
Použijte následující konfiguraci:
Poznámka:
Pro SASL_SSL a SASL_PLAINTEXT podporuje Azure Stream Analytics pouze mechanismus PLAIN SASL.
Název vlastnosti | Popis |
---|---|
Alias pro vstup | Popisný název použitý v dotazech pro odkaz na vstup |
Adresy serveru Bootstrap | Seznam dvojic hostitelů a portů pro navázání připojení ke clusteru confluent cloud kafka. Příklad: pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Téma Kafka | Název tématu Kafka v clusteru confluent cloud kafka. |
Protokol zabezpečení | Vyberte SASL_SSL. Podporovaný mechanismus je PLAIN. |
ID skupiny příjemců | Název skupiny příjemců Kafka, do které by vstup měl být součástí. Pokud není zadaný, automaticky se přiřadí. |
Formát serializace událostí | Formát serializace (JSON, CSV, Avro, Parquet, Protobuf) příchozího datového proudu. |
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í pomocí OAuth nebo jednotného přihlašování SAML. Ke cloudu confluent se můžete připojit pomocí klíče rozhraní API, který má přístup na úrovni tématu prostřednictvím protokolu zabezpečení SASL_SSL. Pokud se chcete ověřit v cloudu confluent, budete muset použít SASL_SSL a nakonfigurovat úlohu tak, aby se ověřila v cloudu confluent pomocí klíče rozhraní API.
Použijte následující konfiguraci:
Nastavení | Hodnota |
---|---|
Username | confluent cloud API key |
Heslo | confluent cloud API secret |
Název trezoru klíčů | název služby Azure Key Vault s nahraným certifikátem |
Certifikáty truststore | název tajného klíče služby Key Vault, který obsahuje certifikát ISRG Root X1 |
Uložení konfigurace a testování připojení
Uložte konfiguraci. Vaše úloha Azure Stream Analytics ověří pomocí poskytnuté konfigurace. Úspěšné připojení se zobrazí na portálu, pokud se vaše stream analytics může připojit k vašemu clusteru Kafka.
Omezení
- Certifikát nahraný do trezoru klíčů musí být ve formátu PEM.
- Minimální verze kafka musí být verze 0.10.
- Azure Stream Analytics nepodporuje ověřování pro confluent cloud pomocí OAuth nebo jednotného přihlašování SAML. Klíč rozhraní API musíte použít prostřednictvím protokolu SASL_SSL.
- K nahrání certifikátu jako tajného klíče do trezoru klíčů musíte použít Azure CLI. Certifikáty s víceřádkovými tajnými kódy nemůžete nahrát do trezoru klíčů pomocí webu Azure Portal.
Poznámka:
Pokud chcete získat přímou pomoc s používáním vstupu Kafka služby Azure Stream Analytics, obraťte se na askasa@microsoft.com.