Adatok streamelése a Kafkából az Azure Stream Analyticsbe (előzetes verzió)
A Kafka egy elosztott streamelési platform, amellyel rekordstreameket tehet közzé és iratkozhat fel. A Kafka lehetővé teszi az alkalmazások számára a rekordok feldolgozását. Ez egy nyílt forráskódú rendszer, amelyet az Apache Software Foundation fejlesztett ki Java és Scala nyelven.
A főbb használati esetek a következők:
- Üzenetkezelés
- Webhelytevékenység-nyomon követés
- Mérőszámok
- Naplóösszesítés
- Streamfeldolgozás
Az Azure Stream Analytics lehetővé teszi, hogy közvetlenül a Kafka-fürtökhöz csatlakozzon az adatok betöltéséhez. A megoldás alacsony kódszámú, és teljes egészében a Microsoft Azure Stream Analytics csapata felügyeli, lehetővé téve, hogy megfeleljen az üzleti megfelelőségi szabványoknak. Az ASA Kafka bemenete visszamenőlegesen kompatibilis, és a legújabb ügyfélkiadással rendelkező összes verziót támogatja a 0.10-es verziótól kezdve. A felhasználók a konfigurációktól függően csatlakozhatnak egy virtuális hálózaton belüli Kafka-fürtökhöz és egy nyilvános végponttal rendelkező Kafka-fürtökhöz. A konfiguráció a meglévő Kafka konfigurációs konvenciókra támaszkodik. A támogatott tömörítési típusok: None, Gzip, Snappy, LZ4 és Zstd.
Lépések
Ez a cikk bemutatja, hogyan állíthatja be a Kafkát bemeneti forrásként az Azure Stream Analyticshez. Hat lépésből áll:
- Azure Stream Analytics-feladat létrehozása.
- Konfigurálja az Azure Stream Analytics-feladatot felügyelt identitás használatára, ha mTLS-t vagy SASL_SSL biztonsági protokollokat használ.
- Ha mTLS-t vagy SASL_SSL biztonsági protokollokat használ, konfigurálja az Azure Key Vaultot.
- Tanúsítványok feltöltése titkos kulcsként az Azure Key Vaultba.
- Adjon engedélyeket az Azure Stream Analyticsnek a feltöltött tanúsítvány eléréséhez.
- Konfigurálja a Kafka-bemenetet az Azure Stream Analytics-feladatban.
Feljegyzés
A Kafka-fürt konfigurálásának módjától és a használt Kafka-fürt típusától függően előfordulhat, hogy a fenti lépések némelyike nem vonatkozik Önre. Ilyenek például a következők: ha egybefüggő felhőbeli Kafkát használ, nem kell feltöltenie egy tanúsítványt a Kafka-összekötő használatához. Ha a Kafka-fürt egy virtuális hálózaton (VNET) belül vagy tűzfal mögött található, előfordulhat, hogy az Azure Stream Analytics-feladatot úgy kell konfigurálnia, hogy privát hivatkozással vagy dedikált hálózati konfigurációval férhessen hozzá a Kafka-témakörhöz.
Konfiguráció
Az alábbi táblázat felsorolja a Kafka-bemenet létrehozásához használt tulajdonságneveket és azok leírását:
Fontos
A Kafka-fürt bemenetként való konfigurálásához a bemeneti témakör időbélyeg-típusának LogAppendTime-nak kell lennie. Az Azure Stream Analytics egyetlen időbélyegtípusa a LogAppendTime. Az Azure Stream Analytics csak numerikus decimális formátumot támogat.
Tulajdonság neve | Leírás |
---|---|
Bemeneti/kimeneti alias | A lekérdezésekben a bemenetre vagy kimenetre való hivatkozáshoz használt rövid név |
Bootstrap-kiszolgáló címei | A Kafka-fürthöz való kapcsolat létrehozásához használt gazdagép-/portpárok listája. |
Kafka-témakör | Elnevezett, rendezett és particionált adatfolyam, amely lehetővé teszi az üzenetek közzétételre való feliratkozását és eseményvezérelt feldolgozását. |
Biztonsági protokoll | Hogyan szeretne csatlakozni a Kafka-fürthöz. Az Azure Stream Analytics támogatja az mTLS, SASL_SSL, SASL_PLAINTEXT vagy None szolgáltatást. |
Fogyasztói csoport azonosítója | Annak a Kafka fogyasztói csoportnak a neve, amelyhez a bemenetnek hozzá kell tartoznia. Ha nincs megadva, a rendszer automatikusan hozzárendeli. |
Esemény szerializálási formátuma | A bejövő adatfolyam szerializálási formátuma (JSON, CSV, Avro, Parquet, Protobuf). |
Hitelesítés és titkosítás
A Kafka-fürtökhöz való csatlakozáshoz négyféle biztonsági protokollt használhat:
Tulajdonság neve | Leírás |
---|---|
mTLS | Titkosítás és hitelesítés. Támogatja az EGYSZERŰ, a SCRAM-SHA-256 és a SCRAM-SHA-512 biztonsági mechanizmusokat. |
SASL_SSL | Két különböző biztonsági mechanizmust kombinál – SASL (egyszerű hitelesítési és biztonsági réteg) és SSL (Secure Sockets Layer) – annak biztosítása érdekében, hogy a hitelesítés és a titkosítás is elérhető legyen az adatátvitelhez. A SASL_SSL protokoll támogatja a PLAIN, a SCRAM-SHA-256 és a SCRAM-SHA-512 biztonsági mechanizmusokat. |
SASL_PLAINTEXT | standard hitelesítés felhasználónévvel és jelszóval titkosítás nélkül |
Egyik sem | Nincs hitelesítés és titkosítás. |
Fontos
A Confluent Cloud api-kulcsok, OAuth vagy SAML egyszeri bejelentkezés (SSO) használatával támogatja a hitelesítést. Az Azure Stream Analytics nem támogatja az egyszeri bejelentkezéses (SSO) OAuth- vagy SAML-hitelesítést. A confluent felhőhöz egy témakörszintű hozzáféréssel rendelkező API-kulccsal csatlakozhat a SASL_SSL biztonsági protokollon keresztül.
A confluent cloud kakfa-hoz való csatlakozással kapcsolatos részletes oktatóanyagért tekintse meg a dokumentációt:
- Confluent cloud kafka bemenet: Adatok streamelése a confluent cloud Kafkából az Azure Stream Analytics használatával
- Confluent cloud kafka-kimenet: Adatok streamelése az Azure Stream Analyticsből a confluent felhőbe
Key Vault-integráció
Feljegyzés
Ha megbízható tároló tanúsítványokat használ mTLS-sel vagy SASL_SSL biztonsági protokollokkal, az Azure Stream Analytics-feladathoz konfigurált Azure Key Vaulttal és felügyelt identitással kell rendelkeznie. Ellenőrizze a kulcstartó hálózati beállításait, és győződjön meg arról, hogy az összes hálózat nyilvános hozzáférésének engedélyezése be van jelölve. Tegyük fel, hogy a Key Vault egy virtuális hálózaton található, vagy csak bizonyos hálózatokról engedélyezi a hozzáférést. Ebben az esetben az ASA-feladatot egy kulcstartót tartalmazó virtuális hálózatba kell injektálnia, vagy be kell fecskendeznie az ASA-feladatot egy VNET-be, majd a kulcstartót a feladatot tartalmazó virtuális hálózathoz kell csatlakoztatnia szolgáltatásvégpontok használatával.
Az Azure Stream Analytics zökkenőmentesen integrálható az Azure Key Vaulttal az mTLS vagy SASL_SSL biztonsági protokollok használatakor a hitelesítéshez és titkosításhoz szükséges tárolt titkos kódok eléréséhez. Az Azure Stream Analytics-feladat felügyelt identitással csatlakozik az Azure Key Vaulthoz a biztonságos kapcsolat biztosítása és a titkos kódok kiszivárgásának elkerülése érdekében. A tanúsítványok titkos kulcsként vannak tárolva a kulcstartóban, és PEM formátumban kell lenniük.
Key Vault konfigurálása engedélyekkel
Kulcstartó-erőforrást a dokumentációt követve hozhat létre rövid útmutatót: Kulcstartó létrehozása az Azure Portalon A tanúsítványok feltöltéséhez "Key Vault-rendszergazdai" hozzáféréssel kell rendelkeznie a Key Vaulthoz. A rendszergazdai hozzáférés biztosításához kövesse az alábbi lépéseket:
Feljegyzés
A kulcstartó egyéb engedélyeinek megadásához tulajdonosi engedélyekkel kell rendelkeznie.
Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.
Rendelje hozzá a szerepkört a következő konfigurációval:
Beállítás | Érték |
---|---|
Szerepkör | Key Vault-rendszergazda |
Hozzáférés hozzárendelése a következőhöz: | Felhasználó, csoport vagy szolgáltatásnév |
Tagok | <Fiókadatai vagy e-mail-címe> |
Tanúsítvány feltöltése a Key Vaultba az Azure CLI-vel
Fontos
A parancs megfelelő működéséhez "Key Vault-rendszergazdai" engedélyekkel kell rendelkeznie a Key Vaulthoz, hogy megfelelően működjön. A tanúsítványt titkos kódként kell feltöltenie. A tanúsítványok titkos kulcsként való feltöltéséhez az Azure CLI-t kell használnia a kulcstartóba. Az Azure Stream Analytics-feladat sikertelen lesz, ha a hitelesítéshez használt tanúsítvány lejár. A probléma megoldásához frissítenie/cserélnie kell a tanúsítványt a kulcstartóban, és újra kell indítania az Azure Stream Analytics-feladatot.
Győződjön meg arról, hogy az Azure CLI helyileg van konfigurálva a PowerShell-lel. Ezen a lapon útmutatást kaphat az Azure CLI beállításához: Az Azure CLI használatának első lépései
Bejelentkezés az Azure CLI-be:
az login
Csatlakozzon a kulcstartót tartalmazó előfizetéshez:
az account set --subscription <subscription name>
A következő parancs titkos kódként töltheti fel a tanúsítványt a kulcstartóba:
Ez <your key vault>
annak a kulcstartónak a neve, amelybe fel szeretné tölteni a tanúsítványt. <name of the secret>
az a név, amelyet meg szeretne adni a titkos kulcsnak, és hogy hogyan jelenik meg a kulcstartóban. <file path to certificate>
a tanúsítvány helyére mutató elérési út. Kattintson a jobb gombbal, és másolja a tanúsítvány elérési útját.
az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>
Példa:
az keyvault secret set --vault-name mykeyvault --name kafkasecret --file C:\Users\Downloads\certificatefile.pem
Felügyelt identitás konfigurálása
Az Azure Stream Analytics megköveteli a felügyelt identitás konfigurálását a key vault eléréséhez. Az ASA-feladat úgy konfigurálható, hogy felügyelt identitást használjon, ha a Bal oldalon a Konfigurálás csoportban található Felügyelt identitás lapra navigál.
- Kattintson a konfigurálás alatt található felügyelt identitás fülre.
- Válassza az Identitás váltása lehetőséget, és válassza ki a feladathoz használni kívánt identitást: rendszer által hozzárendelt identitás vagy felhasználó által hozzárendelt identitás.
- Felhasználó által hozzárendelt identitás esetén válassza ki azt az előfizetést, amelyben a felhasználó által hozzárendelt identitás található, és válassza ki az identitás nevét.
- Tekintse át és mentse.
A Stream Analytics-feladat engedélyeinek megadása a tanúsítvány eléréséhez a kulcstartóban
Ahhoz, hogy az Azure Stream Analytics-feladat beolvassa a titkos kulcsot a kulcstartóban, a feladatnak engedéllyel kell rendelkeznie a kulcstartó eléréséhez. Az alábbi lépésekkel különleges engedélyeket adhat a streamelemzési feladathoz:
Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.
Rendelje hozzá a szerepkört a következő konfigurációval:
Beállítás | Érték |
---|---|
Szerepkör | Key Vault titkos kulcsok felhasználója |
Felügyelt identitás | Stream Analytics-feladat rendszer által hozzárendelt felügyelt identitáshoz vagy felhasználó által hozzárendelt felügyelt identitáshoz |
Tagok | <A Stream Analytics-feladat> neve vagy <a felhasználó által hozzárendelt identitás neve> |
VNET-integráció
Ha a Kafka-fürt egy virtuális hálózaton (VNET) belül vagy tűzfal mögött található, előfordulhat, hogy az Azure Stream Analytics-feladatot úgy kell konfigurálnia, hogy privát hivatkozással vagy dedikált hálózati konfigurációval férhessen hozzá a Kafka-témakörhöz. További információért tekintse meg az Azure Stream Analytics-feladat futtatását az Azure Virtual Network dokumentációjában .
Korlátozások
- Ha az Azure Stream Analytics-feladatokat a VNET/SWIFT használatára konfigurálja, a feladatnak legalább hat (6) streamegységtel vagy egy (1) V2 streamegységtel kell konfigurálnia.
- Ha mTLS-t vagy SASL_SSL használ az Azure Key Vaulttal, a Java Key Store-t PEM formátumba kell konvertálnia.
- A Kafka minimális verziója, amelyhez az Azure Stream Analyticset konfigurálhatja, a 0.10-es verzió.
- Az Azure Stream Analytics nem támogatja az OAuth vagy SAML egyszeri bejelentkezés (SSO) használatával történő felhőbevezetés hitelesítését. Az API-kulcsot a SASL_SSL protokollon keresztül kell használnia
Feljegyzés
Az Azure Stream Analytics Kafka bemenetének használatával kapcsolatos közvetlen segítségért forduljon a következőhöz askasa@microsoft.com: .